AgenticWebScore
Scan

Bot Access Control · Recommended · Low impact

security.txt (RFC 9116)

Provides a responsible disclosure channel for agent-related security incidents.

  • Recommended
  • Low impact
  • Adopted standard
security.txt (RFC 9116) — Property, Value
Property Value
Check idsecurity-txt
DimensionBot Access Control (18%)
TierRecommended — pool 20 pts
Weight inside tier1
ImpactLow
MaturityAdopted — A ratified standard with real deployment.
ConditionalNo
Publishing skillsecurity-txt
StandardsRFC 9116

What the scanner requests

  • /.well-known/security.txt
  • /security.txt

What is measured

The scanner requests /.well-known/security.txt, falls back to /security.txt while following redirects, and expects HTTP 200 with a text/plain body as RFC 9116 requires. It passes when the file carries a Contact field and an Expires field whose RFC 3339 timestamp is in the future, returns partial when one of those fields is missing or Expires is malformed or already past (the file is then stale), and fails when both paths answer non-200 or return HTML.

Reproduce it yourself

You do not have to take our word for any of this. Run the same measurement against your own domain:

              DOMAIN="example.com"
for P in /.well-known/security.txt /security.txt; do echo "$P -> $(curl -sS -o /dev/null -w '%{http_code} %{content_type} %{redirect_url}' "https://$DOMAIN$P")"; done; curl -sSL "https://$DOMAIN/.well-known/security.txt" | grep -Ei '^(contact|expires|canonical|policy|preferred-languages):'
            

The fix

This is the artifact to ship. It is the complete change, not a description of one.

              # security.txt - RFC 9116
Contact: mailto:security@example.com
Expires: 2027-09-30T18:37:07Z
Canonical: https://example.com/.well-known/security.txt
Preferred-Languages: en
Policy: https://example.com/security-policy
Acknowledgments: https://example.com/hall-of-fame
            

Standards referenced

  • RFC 9116

Related checks

Related checks — Check, Tier, Impact, Same skill
Check Tier Impact Same skill
webbotauth — Web Bot Auth key directoryEssentialCritical—
agent-permissions — Agent permission model (agent-permissions.json)EssentialCritical—
ai-rules — Named AI bot rules in robots.txtEssentialHigh—
ai-policy — AI usage policy pageEssentialHigh—
bot-page — Crawler and agent policy pageRecommendedMedium—
crawl-delay — Crawl rate declarationEmergingLow—
ai-txt — /ai.txt access declarationEmergingLow—