security.txt (RFC 9116)
What it checks
One root file, one signal.
| State | Result |
|---|---|
a 200 response whose body is not HTML, carrying a Contact field and an Expires date in the future |
pass |
a published file that returns HTML at 200 (SPA soft-404), or has no Contact, no Expires, an unparseable Expires, or an Expires that has passed |
warn, priority low |
| no security.txt published (non-200 at both locations) | na |
| the location was never fetched, so nothing was measured | na |
/.well-known/security.txt is the location checked; the legacy top-level /security.txt is accepted as a fallback and named as such in the result. Detection is parse-not-probe by design — this dossier’s own evidence records that only a minority of deployed files pass RFC validation, so presence alone proves nothing.
fail is never returned, and scoreDisplayMode: 'informative' with weight: 0 keeps every outcome out of the category score, the readiness vitals and the top-fails list.
Why it matters
Falsifiable claim: none is made about AI agents. /.well-known/security.txt is a vulnerability-disclosure file whose stated consumers are human security researchers and vulnerability-notification tooling. The evidence review found no AI crawler, retrieval pipeline or answer engine documented to read it, so the audit makes no claim that publishing one changes AI-agent behaviour. It reports the file’s RFC 9116 conformance at weight 0, and never fails the site.
What the audit does claim, and what is testable, is narrower. RFC 9116 defines what a security.txt must contain. A published file with no Contact, no Expires, an unparseable Expires, or an Expires in the past does not conform — and it advertises a disclosure route that no longer works. That claim is about the file, not about agents, which is why the tier is informative.
Evidence
Security headers
Mechanism: The claim under test: the presence of HSTS / CSP / X-Content-Type-Options / Referrer-Policy / Permissions-Policy response headers changes whether or how an AI crawler or agent retrieves, parses, trusts or cites the page.
No supporting evidence was found. An exhaustive read of the AI crawler documentation from OpenAI, Anthropic, Perplexity, Apple and Google turned up not a single reference to any of these headers. Google’s AI-features guidance goes further and states there are ‘no additional technical requirements’ for AI Overviews / AI Mode beyond ordinary Search snippet eligibility. Cloudflare’s AI Crawl Control — the product that actually sits between AI crawlers and origins — makes decisions on user agent, IP, signature and robots.txt, never on the origin’s security headers.
HTTPS requirement
Mechanism: Serving the site over HTTPS with a valid certificate is a precondition for AI-agent surfaces to retrieve or act on the site. Agent-protocol specs mandate HTTPS outright. Well-known agent and security files are defined as HTTPS-only. Browser-based agents inherit Chromium’s mixed-content and HTTPS-First behaviour.
MCP (2025-11-25) states plainly: ‘All authorization server endpoints MUST be served over HTTPS’ and ‘All redirect URIs MUST be either localhost or use HTTPS’. RFC 9116 requires security.txt to be ‘accessed exclusively via HTTPS’. Browser-resident agents (ChatGPT Atlas, Comet, Gemini-in-Chrome, Claude in Chrome) run on Chromium and inherit mixed-content blocking, so an HTTP-only page degrades for the fastest-growing agent class.
security.txt
Mechanism: The claim under test: AI agents read /.well-known/security.txt to identify the site operator or a disclosure contact, and its presence improves how agents treat the site.
security.txt is a real, published IETF document (RFC 9116). It has a well-defined location, a media type (text/plain, UTF-8, HTTPS-only) and required fields (Contact, Expires). Adoption is genuine, if small: roughly 0.7% of the top 1M domains in April 2024, rising to about 1.25% in 2025, with a broader count of about 573,000 domains by 2026.
Correct Content-Type for llms.txt and .md files
Carried here only to record where the nosniff sub-signal belongs. X-Content-Type-Options: nosniff removes a browser’s ability to recover from a wrong Content-Type; what an agent actually needs is the correct type, which machine-discovery/ai-file-delivery (v1 8.10) measures on the AI files themselves. This audit reports nosniff on the homepage response as hygiene and makes no parsing claim.
Limits
Security headers — These are browser-enforced defence-in-depth mechanisms with human users and browsers as their consumers; server-side crawlers do not implement any of them. The only genuine adjacencies run in the opposite direction from the v1 audits. First, CSP frame-ancestors and X-Frame-Options can stop a page being embedded in an agent surface, so a strict policy is an agent-readiness negative rather than a positive. Second, OpenAI’s Apps SDK shows the agent host imposing CSP on its own widget iframe, which is a property of the app and not of the publisher’s site. Third, X-Content-Type-Options: nosniff matters only in a browser, and only makes a wrong Content-Type more fatal — so it belongs to the content-type signal, not here.
HTTPS requirement — No AI crawler vendor documents HTTPS as a requirement, and HSTS specifically has no documented AI consumer at all — the header is a browser-state mechanism layered on top of the TLS the agents actually need. This is why the B grade lives on the transport signal while the audit that reports the header stays informative. The scored HTTPS check itself is access-crawl-control/https-enabled (v1 8.1), which this audit does not duplicate.
security.txt — RFC 9116 is INFORMATIONAL, explicitly ‘not an Internet Standards Track specification’. Its stated consumers are human security researchers and vulnerability-notification tooling; no AI vendor documentation mentions security.txt at all. Conformity is poor — analyses find only a minority of deployed files pass RFC validation, so presence alone is weak evidence of anything. Hence the parse-not-probe detection in this audit, and the informative tier.
How it scores
Superseded on 2026-08-24: the audit’s grade is now C, taken from the security.txt signal it still measures. The argument below is the 2026-08-22 record of why it was B, and is kept as history — see Narrowed to security.txt for why that grade did not survive.
B — the strongest proven consumer path among the four sources, not the average.
The security-headers signal shared by 8.2, 8.3 and 8.4 grades D. No AI vendor documents any agent reading those headers, so nothing supports shipping the check at all. security.txt (8.7) grades C: a real RFC, with real but small adoption of about 1.25% of the top 1M in 2025, and zero AI consumers. The HTTPS/transport-security signal behind HSTS grades B: MCP, RFC 9116 and Chromium-based agent surfaces all mandate TLS, which is a documented, testable requirement even though no crawler vendor documents HSTS itself.
Grade B therefore prices the evidence, and tier: informative prices the claim: weightForGrade('B', 'informative') === 0. The grade records what the evidence supports; the tier records that nothing here may move a score. A future task that finds a documented AI consumer for any of these headers can promote the tier without re-grading the evidence.
Sources
- OpenAI crawlers and user agents — OpenAI, vendor-doc (verified 2026-08-21)
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic, vendor-doc (verified 2026-08-21)
- Perplexity Crawlers — Perplexity, vendor-doc (verified 2026-08-20)
- AI features and your website — Google Search Central, vendor-doc (verified 2026-08-21)
- AI Crawl Control — Cloudflare — Cloudflare, vendor-doc (verified 2026-08-20)
- Security & Privacy — Apps SDK — OpenAI, vendor-doc (verified 2026-08-20)
- Model Context Protocol Specification (2025-11-25) — Authorization — Model Context Protocol, spec (verified 2026-08-20)
- RFC 9116: A File Format to Aid in Security Vulnerability Disclosure — IETF, spec (verified 2026-08-20)
- security.txt Revisited: Analysis of Prevalence and Conformity in 2022 — Hochschule München / ACM Digital Threats: Research and Practice, study (verified 2026-08-20)
- The /llms.txt file — link relation guidance — Answer.AI (Jeremy Howard), spec (verified 2026-08-21)