Vulnerability Disclosure Policy for Startups: Set Up security.txt

Vulnerability Disclosure Policy for Startups: Set Up security.txt — cover image

Sooner or later, someone outside your company will find a security weakness in your product. It might be a misconfigured storage bucket, an access control gap in an API, or a forgotten admin page. The question is not whether this will happen. It is whether that person can easily tell you about it, and whether you are ready to respond.

Many startups have no clear answer. Researchers end up emailing a general support address, messaging the founder on social media, or giving up entirely. Some reports get ignored and later become public. A vulnerability disclosure policy and a security.txt file fix this with very little effort. This guide explains how to set both up and how to handle reports when they arrive.

What Is a Vulnerability Disclosure Policy?

A vulnerability disclosure policy (VDP) is a public page that tells security researchers:

It is different from a bug bounty. A VDP is a front door for reports. A bug bounty adds financial rewards on top. You can, and usually should, have a VDP long before you consider a bounty.

What Is security.txt?

security.txt is a simple standard, published as RFC 9116, that puts your security contact details in a predictable location: https://yourdomain.com/.well-known/security.txt. Researchers and automated tools check this path first. A minimal file looks like this:

Contact: mailto:security@yourdomain.com Expires: 2027-11-01T00:00:00Z Policy: https://yourdomain.com/security-policy Preferred-Languages: en

The Contact and Expires fields are required by the standard. The expiry date prompts you to review the file regularly so contact details do not go stale. Optional fields include links to an encryption key, an acknowledgments page and hiring information.

A Real-World Example: A B2B SaaS Gets Its First Report

Consider an illustrative scenario. A small B2B SaaS team has no security page. A researcher notices that changing an ID in an API request returns another customer's invoice data, a classic insecure direct object reference. They try the support chat and get an automated reply about billing. They email the founder's address from LinkedIn, but it lands in a promotions folder.

Weeks pass. The researcher, unsure whether anyone has seen the report, considers posting a vague warning publicly. Fortunately, a developer spots the email during a mailbox clean-up, and the team fixes the bug within a day.

Now picture the same team with a VDP and security.txt in place. The researcher finds the contact address in seconds. An auto-acknowledgement confirms receipt and sets expectations. A named engineer triages within a couple of days, confirms the issue, ships a fix, and thanks the researcher publicly. Same bug, very different risk. The policy did not make the code more secure on its own, but it shortened the time the vulnerability stayed open and removed the chance of uncoordinated disclosure.

Step-by-Step: Setting Up Disclosure for Your Startup

1. Create a dedicated security inbox

Set up an address such as security@yourdomain.com that goes to at least two people. Avoid routing it into a general support queue where it might be treated as a normal ticket. Make sure spam filters do not catch messages with attachments or technical content.

2. Define scope clearly

List which domains, apps and APIs are in scope. Then list exclusions, for example third-party services you do not control, staging environments that are not public, or physical security. Clear scope saves both you and researchers time.

3. Set rules of engagement

Explain what researchers may and may not do. Common rules include:

4. Include a safe harbour statement

Researchers worry about legal risk. A short statement saying you will not pursue legal action against good-faith research that follows the policy makes people far more willing to report. Have a lawyer review the wording for your jurisdiction, since rules differ across countries.

5. Commit to response timelines

State when you will acknowledge reports and how often you will provide updates. Choose timelines you can actually meet. Promising a reply within hours and then missing it does more harm than a realistic commitment of a few working days.

6. Publish the policy and security.txt

Put the policy on a stable URL, link it from your site footer, and publish security.txt at the well-known path. If you have multiple domains, place the file on each one or point them to a canonical version. Set a calendar reminder before the Expires date.

7. Build a simple triage process

When a report arrives, someone should:

  1. Acknowledge receipt.
  2. Reproduce the issue in a safe environment.
  3. Assess severity based on impact and how easy it is to exploit.
  4. Assign an owner and target fix date.
  5. Update the researcher and confirm once fixed.

A shared private tracker is enough for most startups. Keep security issues out of public repositories and general project boards.

8. Fix, verify and learn

After a fix ships, ask the researcher to verify it if they are willing. Then look for the same class of bug elsewhere. If one endpoint had broken access checks, others may too. This is also a good moment for a short internal review, similar to a postmortem.

9. Recognise contributors

An acknowledgments page that credits researchers by name or handle (with their permission) costs nothing and builds goodwill. Many researchers value public credit as much as payment.

10. Decide later whether a bug bounty fits

Once your team can reliably triage and fix reports, you might consider a paid bounty, either self-run or through a platform. Bounties attract more attention, which means more reports, including low-quality ones. Only scale up when you have the capacity.

A Plain-Language Outline for Your Policy Page

You do not need a long legal document. A clear policy page for an early-stage startup can follow this outline:

  1. Introduction: one paragraph saying you welcome reports and value the security community.
  2. How to report: the security email address, what details to include (affected URL, steps to reproduce, impact), and an optional encryption key.
  3. Scope: a list of in-scope domains and apps, and a list of exclusions.
  4. Rules: allowed and prohibited testing activities.
  5. Our commitments: response timelines, regular updates, and credit for valid findings.
  6. Safe harbour: your good-faith research statement.
  7. Disclosure: how and when researchers may publish details after a fix.

Write it in the same friendly voice you use with customers. Researchers read many of these pages, and a respectful, clear one stands out. Revisit it whenever you launch a new product, add a domain, or change who handles security reports.

How a VDP Fits Into Your Wider Security Program

A disclosure policy is a safety net, not a substitute for building securely. It works alongside other practices:

A security inbox that nobody reads is worse than no inbox at all. It creates the expectation of a response and then breaks it.

Common Mistakes to Avoid

Key Benefits for Startups

Getting Help

If you are building a new product and want security practices built in from the start, including access control design, secure APIs and a disclosure process ready for launch, our web development team treats these as standard parts of delivery rather than optional extras.

Conclusion

A vulnerability disclosure policy and a security.txt file are among the simplest, cheapest security improvements a startup can make. They give well-meaning researchers a clear path, give your team a process, and give customers confidence. Set up a monitored inbox, define scope and rules, offer safe harbour, commit to realistic timelines, and publish the file. Then make sure someone actually reads what arrives. When the first report comes in, you will be ready.

Frequently Asked Questions

What is a vulnerability disclosure policy?
A vulnerability disclosure policy is a public statement that explains how security researchers can report security issues in your product, what is in scope, how you will respond, and what legal assurances you offer to people who report in good faith.
What is a security.txt file?
security.txt is a small text file defined in RFC 9116 and placed at /.well-known/security.txt on your website. It lists how to contact your security team, a link to your disclosure policy, and an expiry date, so researchers can find the right channel quickly.
Do startups need a bug bounty program?
Not at first. A clear disclosure policy and a reliable way to receive reports is enough for most early-stage startups. Paid bug bounties make more sense once you can triage reports quickly and fix issues on a predictable schedule.
How fast should we respond to a vulnerability report?
Acknowledge receipt within a few working days and give the researcher a rough timeline for assessment. Many policies commit to an initial response window and regular updates until the issue is resolved.
Should we pay researchers who report issues without a bounty program?
It is your choice. Many startups without a formal bounty send a thank-you note, public credit or small swag. If you do offer rewards, state the rules clearly in your policy so expectations are consistent.