RFC 9116 security.txt is the canonical way for an outside security researcher to find a non-public disclosure channel; without it, someone discovering a vulnerability either guesses at an address (security@, abuse@, the WHOIS contact), drops the finding into the public issue tracker, or does not report it at all. Bug bounty triage platforms and automated vulnerability-disclosure crawlers (Shodan, InternetDB, disclose.io indexers) also key off /.well-known/security.txt to route reports. AI coding tools scaffold public/ and robots.txt but rarely the .well-known/ tree; the file is a two-minute addition that materially shortens the path from "researcher finds an issue" to "you hear about it before it's public."
Low because the absence does not itself create a vulnerability — it only degrades the disclosure channel — and the fix is a single static file with three lines of content.
Create public/.well-known/security.txt:
Contact: mailto:security@example.com
Expires: 2027-01-01T00:00:00.000Z
Preferred-Languages: en
Deeper remediation guidance and cross-reference coverage for this check lives in the gdpr-readiness Pro audit — run that after applying this fix for a more exhaustive pass on the same topic.
project-snapshot.legal.security-txt-presentlowpublic/.well-known/security.txt, static/.well-known/security.txt, or framework-route equivalents. The file should contain at minimum a Contact: line.Contact: directive (URL or mailto).Contact:."security.txt found at {path}; Contact: {first contact directive}.""No security.txt at public/.well-known/security.txt or any equivalent path".public/.well-known/security.txt:
Contact: mailto:security@example.com
Expires: 2027-01-01T00:00:00.000Z
Preferred-Languages: en