Find the well-known file over HTTPS
01A researcher needs a way to reach the organization about a vulnerability. For a web service, security.txt puts machine-readable contact information at a predictable URL, rather than requiring a guess at an email address.
The root /security.txt is a legacy location. If both locations have files, select /.well-known/security.txt; do not merge conflicting contacts.
Source for this drawing: RFC 9116 · Read RFC section 3 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
- Well-known URL
- A specified path at a host used to discover information about a service.
- Media type
- The HTTP Content-Type value that identifies the representation as plain text here.
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Web services MUST place security.txt under /.well-known/. Access MUST use HTTPS and HTTP 1.0 or higher, with Content-Type text/plain and the default charset set to utf-8.
- Web services MUST place security.txt under /.well-known/. Access MUST use HTTPS and HTTP 1.0 or higher, with Content-Type text/plain and the default charset set to utf-8.
- For https://example.com, the specified URL is https://example.com/.well-known/security.txt. This is a file describing disclosure contacts, not a vulnerability scanner or report-submission endpoint.
- The top-level /security.txt location can exist for legacy compatibility or redirect to the well-known location. If both files exist, the one under /.well-known/ MUST be used.
- Redirects can occur when retrieving the file or referenced resources. Researchers should record and inspect redirects because a destination can be controlled by an attacker.
- The file MUST be plain text, encoded as UTF-8 in Net-Unicode form. A web page formatted as HTML is not this file format. Validate the intended TLS endpoint before trusting the content.
All example.com URLs and security mailboxes are fictional documentation fixtures. No requests are sent to those contact or report URLs. HTTP headers in the drawing are an illustrative successful response, not a requirement for a particular HTTP version or transfer encoding. The guide teaches RFC 9116, not a change to this site’s own reporting policy.
Read the RFC section ↗