Safeguard
Security Guides•

What should the 'report a vulnerability' section of a trust page say?

A good report-a-vulnerability section names a contact, a policy, what you promise, and what you ask. Use RFC 9116 fields as a checklist for page and file.

Safeguard Security Team
4 min read

A report-a-vulnerability section should give a working contact, link a disclosure policy, say what researchers can expect, and say what you ask of them. Back it with a security.txt file that names the same contact and an expiry date. Test the contact regularly.

Start with the file

RFC 9116 defines security.txt, a machine-parsable format that helps organizations describe their vulnerability disclosure practices so researchers can report problems more easily. The file is served from a well-known path on your site, over HTTPS. Two fields are required: Contact, which says how to report, and Expires, which says when the data goes stale.

The RFC also defines optional fields that map well to a trust page section.

FieldUse on the page
ContactThe address or form to report to
ExpiresA review date for the contact data
PolicyLink to the disclosure policy
EncryptionKey for encrypted reports
Preferred-LanguagesLanguages you can handle
CanonicalWhere the file is meant to live
HiringLink to security roles, if you wish

The RFC recommends signing the file with an OpenPGP cleartext signature, and using Canonical alongside it, so the signature authenticates the file's location.

What the page section should say

  1. Where to report. The same contact as in the file.
  2. What is in scope. Products, domains, and issue types.
  3. What is out of scope. Social engineering, denial of service, third-party services you do not control.
  4. What you will do. Acknowledge within a stated time, keep the reporter updated, and aim to fix.
  5. What you ask. Give reasonable time to fix, avoid accessing customer data, and do not publicize before coordination.
  6. Credit. Whether you will name reporters and how.

Write promises you can keep. If you cannot acknowledge in two days, do not say you will.

Keep it live

The RFC says not having a security.txt file may be preferable to having stale information, because reports can go to the wrong place. It also says to keep contact methods current, accessible, controlled by your organization, and secure. In practice:

  • Use a role address, not a person's address.
  • Make sure more than one person reads it.
  • Send a test report each quarter and time the response.
  • Set the Expires date to match your review rhythm, and put a reminder on the calendar.

Handle what arrives

Plan the path before the first report. Who triages? Who decides severity? Who talks to the reporter? Who decides on a fix and a notice? Keep a short runbook and practice it once. When a fix ships, publish an advisory with the status words customers understand, as covered in the post on status words for a vulnerability notice.

Try it yourself

Click through it at your own pace, or open it full screen.

Follow a finding from discovery to closure. A reported vulnerability needs the same path.

Where Safeguard fits

Safeguard's autonomous remediation can open fix pull requests for dependency issues. It is off by default, and every category starts on Manual. Try a free scan at gold.safeguard.sh/scan.

Quick check

Is security.txt mandatory?

No. RFC 9116 is informational. It is a helpful, widely understood way to publish your contact, but only if you keep it current.

Should the contact be a person or a role?

A role address read by several people, so reports are not lost when someone is away or leaves.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.