Skip to tool
ecech.
💻 Developer & Code

Create a Standards-Shaped security.txt Draft Locally

Generate the required Contact and Expires fields plus common disclosure links without uploading security contacts.

Generated security.txt draft

Advertisement

How the calculation works

Authorized contactsLocal inputsRFC 9116Field validationPlain-text draftCopy, then deploy

How to Use This Tool

This generator creates a plain-text vulnerability-disclosure contact draft in the browser. It does not crawl a domain, test the deployed file or decide who should receive sensitive reports.

The operational problem

A researcher who cannot find an authorized reporting channel may disclose a vulnerability through the wrong mailbox or abandon the report. RFC 9116 supplies a machine-parsable convention, but publishing a syntactically neat file with an unmonitored address is worse than documenting the real escalation path.

Contact + Expiresrequired fieldsPolicy + Canonicaluseful contextHTTPS deploymentverify separately
The tool validates a draft's visible fields; it cannot verify the mailbox, policy ownership, HTTP response or signature.

How to create the draft

Enter an actively monitored security email, a UTC expiration date written as YYYY-MM-DD, comma-separated language codes, the disclosure-policy URL and the final canonical URL. The output places one field on each line and converts the contact to a mailto URI. Copy the text only after an authorized owner confirms every destination.

Required fields and expiration

RFC 9116 requires at least one Contact field and an Expires field. Expiration is maintenance, not decoration: choose a future review horizon the organization will actually renew. The generator checks calendar shape and URL schemes, but deliberately does not use today's date as a hidden policy or promise that a future calendar date is operationally appropriate.

Deployment boundary

Serve the final UTF-8 plain-text file over HTTPS at the well-known location for the intended scope. Check status code, content type, redirects, canonical value and caching from outside the deployment. The page does not deploy, sign, encrypt or submit vulnerability information.

Privacy and safety

The entered contact details stay in browser JavaScript unless the user copies and publishes them. Use a role mailbox rather than a personal address when the organization's process requires continuity, and never place a secret, private key or unreviewed internal escalation detail in a public security.txt file.

Evidence

The field grammar and placement guidance were reviewed against IETF RFC 9116 on 2026-08-26. Reopen the RFC when maintaining the template, and test the deployed resource independently; generating text is not the same as operating a disclosure program.

Sources & assumptions

Tool Spec v2 · verified 2026-08-26. Platform rules and fees can change; the editable inputs remain authoritative for your account.

Official references

Model assumptions

  • The organization has authorized the published contact and policy URLs.
  • Expires is entered as a real future UTC calendar date and must be maintained.
  • Generated text is a draft; deployment headers, HTTPS, redirects and digital signatures are checked separately.
Advertisement

Frequently Asked Questions

Which security.txt fields are required?
RFC 9116 requires at least one Contact field and an Expires field. Other fields add policy, language, acknowledgment, hiring, encryption or canonical context.
Where should the file be deployed?
For an HTTPS web origin, the standard well-known location is /.well-known/security.txt. Confirm the RFC's scope and redirect rules for the actual deployment.
Does the generator verify my mailbox?
No. It validates visible syntax only; an authorized owner must test delivery, monitoring and escalation.
Why must Expires be maintained?
The field lets researchers identify stale disclosure information. Choose and renew a date through a real maintenance process.
Does this sign the security.txt file?
No. Signing and publishing are separate operations and require key-management decisions outside this browser draft.
Are my contact details uploaded?
No ecech calculation API receives them. Browser extensions, clipboard contents and the eventual published file remain separate exposure points.

What people usually need next

Picked by hand, not by algorithm.

Related tools in Developer & Code

Browse all Developer & Code tools
A handwritten note reading ecech.com resting on the keyboard used to build the site.

Made by one person

ecech. is not a content farm. Every tool here is written and checked by hand, one at a time, by someone who wanted the tool to exist and could not find a version that showed its working.

No accounts and no sign-in, and nothing you type reaches a server — every calculation on this page runs inside your browser. The ads are served by Google and do set their own cookies, which is set out in full on the privacy page. More about the site.