← All field reports
Field Report № 02
Vulnerability Disclosure
Measured data, July 9, 2026

Publishing security.txt is easy, keeping it valid is not

RFC 9116 gives every organization a single, machine-readable place to say “here is how to report a vulnerability to us”: a plain-text file at /.well-known/security.txt. We fetched it for every Fortune 500 company and checked whether it is real, valid, and signed.

Publishing one is not the same as getting it right

10%
51/500 companies
publish a security.txt
51 of the 500 companies serve a file at the well-known (or legacy) location.
22%
11/51 of those
are fully RFC 9116 compliant
Valid Contact, a single unexpired Expires, served as text/plain over HTTPS.
13
companies publish a security.txt whose Expires date has already passed, a file the spec says clients should treat as stale. Publishing is easy; maintaining is the hard part.

From published to signed, across all 500

Publishes a security.txt10.2% · 51
Served over HTTPS10.2% · 51
Fully RFC 9116 compliant2.2% · 11
OpenPGP signed0.4% · 2

Beyond the required fields

RFC 9116 requires only Contact and Expires. Everything else is optional. Here is what companies actually include, as a share of the 51 published files.

Optional fields of 51 files
Policy
33
Preferred-Languages
28
Hiring
24
Canonical
16
Acknowledgments
14
Encryption
14
CSAF
2
Contact schemes by URI type
mailto:
35
https://
22
other
6

51 companies that publish

Every company with a security.txt. 11 are fully compliant; 2 sign the file with OpenPGP (0 verified against a published key).

compliant
at · /.well-known/security.txt
expires · 2027-06-01
compliant
at · /.well-known/security.txt
expires · 2027-06-30
compliant
at · /.well-known/security.txt
expires · 2026-10-10
compliant
at · /.well-known/security.txt
expires · 2026-08-09
compliant
at · /security.txt
expires · 2026-12-31
compliant
at · /.well-known/security.txt
expires · 2026-12-31
compliant
at · /.well-known/security.txt
expires · 2026-09-23
compliant
at · /.well-known/security.txt
expires · 2027-01-01
compliant
at · /.well-known/security.txt
expires · 2027-02-22
compliant
at · /.well-known/security.txt
expires · 2026-12-31
compliant
at · /.well-known/security.txt
expires · 2026-11-05
partial
at · /.well-known/security.txt
expires · 2040-12-01
partial
at · /.well-known/security.txt
expires · 2027-07-30
partial
at · /.well-known/security.txt
partial
at · /.well-known/security.txt
partial expired
at · /.well-known/security.txt
expires · 2024-12-31
partial expired
at · /.well-known/security.txt
expires · 2024-08-31
partial
at · /.well-known/security.txt
partial signed
at · /.well-known/security.txt
expires · 2027-01-01
partial
at · /.well-known/security.txt
partial
at · /.well-known/security.txt
partial expired
at · /.well-known/security.txt
expires · 2025-12-31
partial expired
at · /.well-known/security.txt
expires · 2023-12-31
partial
at · /.well-known/security.txt
partial
at · /.well-known/security.txt
partial
at · /.well-known/security.txt
partial
at · /.well-known/security.txt
expires · 2028-11-30
partial expired
at · /.well-known/security.txt
expires · 2025-05-31
partial expired
at · /.well-known/security.txt
expires · 2022-10-11
partial expired
at · /.well-known/security.txt
expires · 2024-11-15
partial
at · /.well-known/security.txt
partial
at · /.well-known/security.txt
expires · 2028-04-21
partial
at · /.well-known/security.txt
expires · 2026-08-08
partial
at · /.well-known/security.txt
expires · 2030-06-01
partial
at · /.well-known/security.txt
partial expired
at · /.well-known/security.txt
expires · 2024-12-31
partial
at · /.well-known/security.txt
expires · Sun, 1 Nov
partial signed
at · /.well-known/security.txt
partial
at · /.well-known/security.txt
legacy path expired
at · /security.txt
expires · 2025-12-31
legacy path expired
at · /security.txt
expires · 2023-12-31
legacy path
at · /security.txt
expires · 2034-08-08
legacy path expired
at · /security.txt
expires · 2025-12-14
legacy path
at · /security.txt
legacy path
at · /security.txt
expires · 12-31-2025
legacy path expired
at · /security.txt
expires · 2025-01-01
legacy path
at · /security.txt
legacy path
at · /security.txt
legacy path
at · /security.txt
legacy path expired
at · /security.txt
expires · 2026-01-01
legacy path
at · /security.txt