Fundamentals
Responsible disclosure and bug bounties: how they work and how to set one up
Published Updated 4 min read
The short answer
Responsible disclosure, now usually called coordinated vulnerability disclosure, is a process for outside researchers to report security flaws privately so the owner can fix them before details are made public. A bug bounty program adds payment for valid reports. Neither replaces a penetration test: disclosure catches what strangers happen to find, while a pentest systematically covers a defined scope on your schedule.
What is coordinated vulnerability disclosure?
Coordinated vulnerability disclosure (CVD) is an agreement between a finder and a vendor: the finder reports privately and gives the vendor reasonable time to fix, and the vendor acknowledges the report, keeps the finder informed and fixes the problem. Details become public once a fix is available or an agreed deadline passes. The process is described in international standards (ISO/IEC 29147 for receiving and publishing reports, ISO/IEC 30111 for handling them internally) and in guidance from agencies such as CISA and NIST.
The older phrase "responsible disclosure" means much the same thing. "Coordinated" is preferred because it emphasizes that both sides share responsibility.
What is a bug bounty program?
A bug bounty program is a disclosure process with rewards. The organization publishes a scope (which domains, apps or products are eligible), rules (what testing is allowed) and a reward table, usually based on severity. Programs can be public, open to anyone, or private, open to invited researchers. Many are run through a bounty platform that handles intake, triage and payment.
Bounties can attract skilled researchers with very different backgrounds and tools. The trade-offs are volume (many low-quality or duplicate reports), uneven coverage (researchers go where rewards are easy to earn) and a triage workload someone has to own.
How does a bug bounty differ from a penetration test?
| Disclosure policy (VDP) | Bug bounty | Penetration test | |
|---|---|---|---|
| Who tests | Anyone who happens to find something | Researchers attracted by rewards | A contracted team |
| Coverage | Unpredictable | Broad but uneven; follows rewards | Systematic over a defined scope |
| Timing | Whenever reports arrive | Ongoing | Scheduled; you know when it happens |
| Authorization | Policy statement and safe harbor | Program rules and safe harbor | Signed scope and rules of engagement |
| Cost model | Staff time to triage and fix | Rewards plus triage and platform costs | Engagement fee |
| Evidence for auditors | Shows a reporting channel exists | Shows ongoing outside testing | Dated report with scope and methodology |
| Internal systems | Rarely in scope | Rarely in scope | Can include internal network, cloud and identity |
The short version: a pentest gives you depth and coverage of what you chose to test, at a time you chose. Disclosure and bounties give you many outside perspectives on whatever is publicly reachable. Most mature programs use both, and a pentest before launching a public bounty avoids paying rewards for issues a single engagement would have caught.
What is safe harbor and why does it matter?
Safe harbor is a statement in your policy that you will not pursue legal action against researchers who act in good faith and follow the rules. Without it, careful researchers may not report at all, because accessing someone else's systems without permission can create legal risk.
A good safe harbor clause says research within the policy is considered authorized, that you will not bring claims for good-faith research, and what you expect in return: no data exfiltration beyond what proves the issue, no service disruption, no social engineering of staff, and private reporting. Have counsel review the wording.
What is security.txt?
security.txt is a small text file, defined in RFC 9116, that tells researchers how to reach you. It lives at /.well-known/security.txt on your domain over HTTPS. Two fields are required: Contact (an email address or URL for reports) and Expires (a date after which the file should be treated as stale). Optional fields point to your policy, encryption key, acknowledgments page and preferred languages.
It takes minutes to publish and removes the most common failure: a researcher with a valid finding and no idea who to tell. Put a calendar reminder on the Expires date.
How should a company set up a disclosure policy?
- Pick an owner. Someone must read reports, triage them and route fixes. A dedicated inbox nobody checks is worse than none.
- Write the policy. Cover scope, what is out of scope, allowed and prohibited testing, how to report, what researchers can expect from you and safe harbor. CISA publishes a vulnerability disclosure policy template you can adapt.
- Publish it. Add a page on your site and a security.txt file pointing to it.
- Set response expectations. State when you will acknowledge a report and how you will keep the researcher updated, and then meet those commitments.
- Connect it to remediation. Valid reports should land in the same tracking system as pentest findings, with an owner and a fix date, and be retested before closing.
- Add rewards later, if ever. Start with a no-reward policy. Consider a bounty once triage runs smoothly and a pentest has cleared the obvious issues.
What should happen after a report arrives?
How you handle the first few reports shapes whether researchers keep reporting to you. A workable flow:
- Acknowledge receipt quickly, even if you have not assessed it yet, so the researcher knows a person has it.
- Reproduce the issue. If you cannot, ask for more detail before rejecting it; many "invalid" reports are valid but poorly explained.
- Assess severity using a consistent method (many teams use CVSS as a starting point and adjust for business impact), and decide on a fix date.
- Fix and verify. Retest against the original report before marking it resolved, and ideally ask the researcher to confirm.
- Close the loop. Tell the researcher it is fixed, agree on any publication, and credit them if they want to be credited.
- Learn from it. If an outsider found it, ask why your own testing did not. The answer often points to a gap in scope or frequency.
Duplicates, out-of-scope reports and automated scanner output with no demonstrated impact will also arrive. Reply politely and point to the policy; a consistent, documented response is what keeps the channel useful.
How Brexa approaches this
Brexa's researchers have found and reported vulnerabilities through the official bug bounty programs of Microsoft, Vercel, Epic Games and Snapchat; those reports are listed on the disclosures page. Brexa's own disclosure policy for reporting issues in Brexa's systems is on the security page.
Frequently asked questions
Do small companies need a vulnerability disclosure policy?
It is worth having one as soon as you have a public website or product. A short policy and a security.txt file cost little and give anyone who finds a problem a clear, safe way to tell you.
How long should a researcher wait before publishing?
There is no single rule. Many programs and researchers work with a window of around 90 days, extended by agreement when a fix is in progress. State your expectations in the policy.
Should we pay for reports if we do not run a bounty?
You are not obliged to. Many organizations offer public thanks or a hall of fame instead. Be clear in the policy so researchers know what to expect.
Can a bug bounty count as our annual penetration test for compliance?
Usually not on its own. Auditors and PCI DSS assessors expect a defined scope, methodology and dated report, which a bounty program does not provide in the same form.
Sources
Written and reviewed by the Brexa team. Educational information, not legal or compliance advice. See our editorial policy.
Keep reading
Find out what an attacker could do with your systems.
Book a short scoping call. Nothing is tested until scope and rules of engagement are signed, and every finding comes with proof.