security.txt is a plain-text file placed at a well-known location on a web server that tells security researchers how to report vulnerabilities to the organisation. Standardised as RFC 9116, it gives researchers a reliable, machine-readable way to find a disclosure contact without having to guess email addresses or hunt through support pages.
When a security researcher finds a vulnerability in a site, the path to responsible disclosure is often unclear. Is there a bug bounty programme? Which email address reaches the security team? Is there a PGP key to use for encrypted reports? Without a published disclosure channel, researchers sometimes give up or resort to posting publicly — neither of which benefits the affected organisation.
A security.txt file solves this with a single, predictable location. Automated scanners, bug bounty platforms, and individual researchers all know to check /.well-known/security.txt first. The file is also machine-parseable, allowing tools to extract contact and policy details programmatically.
The canonical location is https://example.com/.well-known/security.txt. RFC 9116 also permits the file at the root path https://example.com/security.txt, but /.well-known/ is the preferred location. The file must be served over HTTPS.
# Example security.txt Contact: mailto:security@example.com Contact: https://example.com/security/report Expires: 2027-01-01T00:00:00Z Encryption: https://example.com/pgp-key.txt Policy: https://example.com/security/policy Acknowledgments: https://example.com/security/thanks Canonical: https://example.com/.well-known/security.txt
RFC 9116 defines two fields as required — a file without either is not a valid security.txt:
mailto: for email, https: for a web form, or tel: for a phone number. Multiple Contact lines are permitted and list options in priority order.The entire security.txt file may optionally be signed using a PGP clear-text signature. This allows researchers to verify that the file is authentic and has not been tampered with — important because an attacker who can modify security.txt could redirect vulnerability reports to themselves. A signed file wraps the content between -----BEGIN PGP SIGNED MESSAGE----- and -----END PGP SIGNATURE----- markers.
Check for security.txt with the domain report
The domain report checks whether a domain has a security.txt file at the standard location with a Contact field — the minimum bar for a usable disclosure contact.