Check security.txt

Enter a domain. The checker loads /.well-known/security.txt (falling back to the legacy location /security.txt), validates the required Contact and Expires fields, the expiry date, HTTPS and the content type, and lists every other field. You see whether someone who finds a vulnerability has the right way to reach you.

What is security.txt?

security.txt is a small text file that tells people how to report a security vulnerability to you. The IETF standardised the format in 2022 as RFC 9116. The file always lives at the same place, https://example.com/.well-known/security.txt, and names at least one contact and an expiry date.

Without it, security researchers have to guess: the report ends up in the sales contact form, at the imprint address, in spam or never arrives at all. In the worst case the vulnerability is published because nobody could be reached. A maintained security.txt takes five minutes and turns luck into a defined reporting channel.

Structure of the file

Every line is a field with a name and a value, comments start with #. Two fields are required, the rest is optional:

  • Contact (required): an email address with mailto:, a phone number with tel: or a report form with https://. Several lines are allowed, the first one is preferred.
  • Expires (required, exactly once): an RFC 3339 date until which the details are valid. Less than a year ahead is recommended. After that researchers should ignore the file.
  • Encryption: address of the public key for encrypted reports.
  • Policy: address of your vulnerability disclosure policy.
  • Preferred-Languages: languages in which reports are welcome, for example “en, de”.
  • Canonical: the address(es) this file applies to. Especially important for signed files.
  • Acknowledgments and Hiring: thanks to reporters and security job openings.
/.well-known/security.txt
Contact: mailto:security@example.com
Contact: https://example.com/security
Expires: 2027-06-30T22:00:00.000Z
Encryption: https://example.com/pgp-key.txt
Preferred-Languages: en, de
Canonical: https://example.com/.well-known/security.txt
Policy: https://example.com/security/policy

How to read the result

The checker separates errors that make the file invalid from deviations that only make it untidy:

  • No file: information, not an error. Most domains do not have a security.txt (yet).
  • Contact or Expires missing, Expires unreadable or the file served over HTTP: the file is invalid under RFC 9116 and has no effect.
  • Expired: researchers should ignore an expired file. If it expires within the next 30 days, the checker warns you ahead of time.
  • Content type other than text/plain, legacy location /security.txt, contact without mailto: or https://, unreadable lines, Canonical pointing elsewhere: hints, the file stays readable.
  • Signed: an OpenPGP signature is detected and only the signed text is evaluated. The checker does not verify the signature itself.

Common mistakes

  • Forgetting Expires: the file was created once and quietly expired a year later. By far the most common mistake.
  • Wrong date format: “31.12.2026” or “Dec 31, 2026” are not RFC 3339 dates. Correct is 2026-12-31T23:00:00.000Z.
  • The home page instead of the file: many single-page apps and site builders answer every address with the home page and status 200. The checker recognises HTML and treats it as “no file”.
  • Email without mailto: the address is written as “security@example.com” instead of “mailto:security@example.com”.
  • A mailbox nobody reads: the file is only as good as the address in it. security@ has to reach someone who knows what to do.

Monitor security.txt continuously

Because Expires is required, security.txt is not a file you create once and forget. DomainWarn checks it daily for every customer domain, opens an incident 30 days before it expires, when it has expired and when the file is invalid, and shows in the timeline when the file disappears or the security contact changes. The latter would otherwise go unnoticed.

Frequently asked questions

Is security.txt mandatory?
Not by law. The EU NIS2 directive, however, explicitly lists vulnerability handling and disclosure among the measures affected companies have to implement. A security.txt is the simplest visible building block for that: it says where reports go.
Does the file apply to subdomains?
No. Under RFC 9116 a security.txt only applies to the host it was fetched from. shop.example.com needs its own file. If the subdomain redirects to a central file, that file should list the subdomain address as Canonical. The checker checks exactly the host you enter.
Do I have to sign the file?
No, the RFC only recommends it. If you sign, also set Canonical and re-sign the file after every change, including when you extend Expires. The checker detects the signature but does not verify it.
Which expiry date should I set?
Less than a year in the future, as the RFC recommends. Six to twelve months with a calendar reminder work well, or monitoring that alerts you in good time before it expires.
Monitor continuously
Monitor the websites of all client domains continuously

Website monitoring for agencies: DomainWarn checks availability, status code, response time, redirects, IPv6, headers and content of all client websites.

More about monitoring

More tools

Free tool

Domain Check

Check website, email, DNS and domain in one run: 13 checks, a score from 0 to 100 per area and overall, with recommendations. Free, no sign-up required.

Open tool →
Free tool

Email header analyzer

Paste email headers and read them in plain words: did SPF, DKIM and DMARC pass, does the sender domain align, which servers relayed it, how long it took?

Open tool →
Free tool

Privacy check

Check for free which third parties your home page loads before any consent: Google Fonts, Analytics, pixels, maps – with a note on what is legally risky.

Open tool →
Free tool

Email Check

Check SPF, DKIM, DMARC and MX of a domain in one run, free and without sign-up. Shows whether your mail meets the Google and Yahoo sender requirements.

Open tool →
Free tool

SPF Checker

Free SPF record check and lookup: syntax, includes, the 10 DNS lookup limit and the closing qualifier. Shows whether your domain blocks forged senders.

Open tool →
Free tool

DMARC Checker

Free DMARC record check: policy (none, quarantine, reject), pct, reporting addresses and syntax errors. With recommendations for moving to p=reject.

Open tool →
Free tool

DNS Checker

Free DNS lookup straight from the authoritative name server: A, AAAA, CNAME, MX, TXT, NS and CAA records at a glance. No sign-up, every record explained.

Open tool →
Free tool

MX Checker

Free MX lookup: which mail servers receive for a domain, do they resolve, is the priority right? Detects missing and unreachable mail servers.

Open tool →
Free tool

SSL Checker

Free SSL certificate check: expiry date, issuer, chain, host name and TLS version, mail servers too. Detects expired, self-signed and mismatched certificates.

Open tool →
Free tool

HTTP Header Checker

Free HTTP header check: HSTS, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, Referrer-Policy and Permissions-Policy, with fixes.

Open tool →
Free tool

Is the website down?

Website not loading? Check for free whether a site is down for everyone or just for you: response, status code, load time, redirects and IP addresses.

Open tool →
Free tool

DNS Propagation Checker

Check DNS propagation for free: which resolvers worldwide (Google, Cloudflare, Quad9 …) already return the new A, MX or TXT record, which still the old one?

Open tool →
Free tool

Redirect Checker

Free 301 redirect check: every hop with status code and response time, from http to https, from www to non-www. Detects redirect chains, loops and 302s.

Open tool →
Free tool

DKIM Checker

Free DKIM record check and lookup: selector, key type, key length, syntax and revoked keys. Leave the selector empty to try common selectors automatically.

Open tool →
Free tool

DNSSEC Checker

Free DNSSEC test: DS record, resolver validation and broken signature chains. Shows whether validating resolvers like Google and Cloudflare still reach you.

Open tool →
Free tool

MTA-STS Checker

Free MTA-STS check: DNS record, policy file, mode, max_age and whether your MX servers are covered. Shows whether inbound mail enforces TLS.

Open tool →
Free tool

TLS-RPT Checker

Free TLS-RPT record check: syntax, reporting addresses (rua) and common errors such as a missing record. Shows whether you get reports on TLS failures.

Open tool →
Free tool

BIMI Checker

Free BIMI record check: syntax, logo URL, SVG Tiny PS, VMC certificate and the DMARC prerequisite. Shows why your logo does not appear in Gmail.

Open tool →
Free tool

Blacklist Check

Free IP and domain blacklist check: mail server IPs, website IP and domain against Spamhaus, Spamcop, Barracuda, PSBL and SURBL. With delisting links.

Open tool →
Free tool

Domain Checker

Free domain check: WHOIS data via RDAP straight from the registry, expiry date, registrar, EPP status, transfer lock and name servers. Warns before expiry.

Open tool →