0 cost
to launch a basic VDP -- it requires a web page, an email address, and a policy document; bug bounty programs with cash rewards are optional and separate from a VDP
Safe harbor language
is the legal clause that protects researchers from prosecution under the CFAA or similar laws when they find and report vulnerabilities in good faith
90-day
disclosure deadline is the researcher community standard (established by Google Project Zero) -- if you don't fix a reported vulnerability in 90 days, researchers typically disclose publicly

A vulnerability disclosure policy is the document that tells external security researchers what they can test, how to report what they find, and what the organization commits to do with their reports. Without one, researchers who find vulnerabilities in your systems have no safe channel to report them and no legal protection for doing so. A basic VDP takes one week to implement: draft the policy, publish it, set up an intake mailbox, and write the researcher response templates.

VDP Policy Template

Publish at https://yourdomain.com/security and in your security.txt file at /.well-known/security.txt.

SECURITY VULNERABILITY DISCLOSURE POLICY

Introduction
[Company] is committed to the security of our systems and data. We welcome
reports from the security research community about vulnerabilities in our
products and services.

Scope
In scope: *.yourdomain.com, yourapp.com
Out of scope: Internal systems not publicly accessible, third-party services,
physical security, social engineering attacks

Guidelines
We ask that researchers:
- Provide detailed reports with sufficient information to reproduce the issue
- Give us reasonable time to address the issue before public disclosure
- Avoid accessing, modifying, or deleting data that is not yours
- Avoid disrupting or degrading our services
- Do not perform denial of service testing

Safe Harbor
We will not pursue legal action against researchers who:
- Comply with this policy in good faith
- Report findings promptly without exploiting them
- Make a good-faith effort to avoid privacy violations and service disruption

Process
1. Submit your report to: security@yourdomain.com
2. We will acknowledge receipt within 2 business days
3. We will provide an initial assessment within 5 business days
4. We will communicate our fix timeline and keep you updated
5. We will notify you when the vulnerability is resolved

We do not offer monetary rewards at this time.

Setting Up Your security.txt File

RFC 9116 defines the standard location: /.well-known/security.txt. Generate a signed or unsigned file at https://securitytxt.org/.

Minimum required fields:

Contact: mailto:security@yourdomain.com
Expires: 2027-05-20T00:00:00.000Z

Recommended fields:

Contact: mailto:security@yourdomain.com
Preferred-Languages: en
Policy: https://yourdomain.com/security
Expires: 2027-05-20T00:00:00.000Z

Sign with PGP if you have a key (optional, but it signals maturity and verifiability to experienced researchers).

Validate after publishing:

curl https://yourdomain.com/.well-known/security.txt

Update the Expires field at least 30 days before it lapses. An expired security.txt signals neglect to researchers and some automated scanners.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Intake Process Setup

Minimum setup: a dedicated email alias (security@yourdomain.com) forwarding to a shared mailbox or ticketing system.

Better: Jira Service Management or Linear with a submission form at yourdomain.com/security/report.

Best for scaling: HackerOne or Bugcrowd offer free-tier VDP programs with built-in triage workflows, researcher identity verification, and duplicate detection.

Required fields in any intake form:

  • Vulnerability type (XSS, SQLi, IDOR, misconfiguration, etc.)
  • Affected URL or system
  • Steps to reproduce
  • Impact assessment (what data or function is affected)
  • Reporter contact (optional -- some researchers prefer anonymous submission)

Set up an email auto-acknowledgment immediately after publishing your VDP:

"Thank you for contacting our security team. We received your report and a team member will review it within 2 business days. If you have additional information to share, please reply to this message."

This auto-reply alone reduces researcher frustration significantly because the most common complaint is never knowing if the report was received.

Researcher Communication Templates

Acknowledgment (send within 2 business days of receipt): "Thank you for your report. We have assigned it reference number VDP-[YYYY]-[NNN]. We will review it and provide an initial assessment within 5 business days. If you have additional information, reply to this email with the reference number."

Valid finding acknowledgment: "We have validated the vulnerability you reported (VDP-[NNN]). We classify it as [Low/Medium/High/Critical]. Our engineering team is working on a fix. We expect to resolve this by [date]. We will notify you when the fix is deployed."

Out of scope response: "Thank you for your report. The system you reported ([system]) is not within our current VDP scope. We have noted the finding internally. We are not in a position to take action on out-of-scope reports at this time, but we appreciate you taking the time to report it."

Duplicate response: "Thank you for your report. We are already aware of this vulnerability and are working to address it. We appreciate your report and your adherence to responsible disclosure."

Fix deployed notification: "We are writing to let you know that the vulnerability you reported (VDP-[NNN]) has been resolved as of [date]. Thank you for helping improve the security of our systems. May we credit you on our security acknowledgments page?"

Have all five templates ready before publishing the VDP. The first few reports often arrive within 24 hours of publication.

Tracking and Metrics

Maintain a VDP tracking log in Jira, Notion, or a spreadsheet with these fields: Report ID, Date received, Reporter, System, Vulnerability type, Severity (CVSS or Low/Med/High/Critical), Status, Fix date, Researcher credited.

Metrics to report quarterly to leadership:

  • Total reports received
  • Valid vs. invalid ratio (signals program health)
  • Average time to acknowledge (target: less than 2 business days)
  • Average time to fix by severity (Critical: 30 days, High: 60 days, Medium: 90 days)
  • Critical and high findings vs. low findings

Optional but high-value: publish an annual transparency report with aggregated numbers. It signals maturity to customers, auditors, and regulators without disclosing specific vulnerabilities.

Researcher credits: a "Hall of Thanks" page on your security site costs nothing to maintain and substantially increases researcher goodwill. Researchers who feel recognized return and report more findings.

The bottom line

A VDP is a policy first and an email address second. Publish the policy with clear scope and safe harbor language, set up the intake channel, write your response templates before the first report arrives, and commit to response timelines you can actually meet. A VDP with slow or inconsistent responses is worse than a clear statement that you're not ready yet -- researchers who feel ignored publish.

Frequently asked questions

What is the difference between a vulnerability disclosure policy and a bug bounty program?

A VDP is a policy that defines how researchers can report vulnerabilities and what the organization commits to do with reports. No payment is required. A bug bounty program is a VDP with cash rewards attached. Start with a VDP; add bounties later if you want to incentivize volume.

Do I need a VDP?

CISA requires federal agencies to have a VDP under BOD 20-01. For private companies, it is best practice. Without a VDP, a researcher who finds a vulnerability in your systems has no safe way to report it -- they may disclose publicly or sit on the finding. A VDP creates a structured channel.

What should be in scope for a VDP?

Start narrow: your primary public-facing domain and any customer-facing web applications. Explicitly exclude: internal systems, third-party infrastructure you don't control (AWS, Cloudflare), and systems that would be dangerous to test (payment processing under PCI scope). Expand scope as your intake process matures.

What safe harbor language should I include in my VDP?

Safe harbor should state that you will not pursue legal action against researchers who follow the policy in good faith, will work with researchers to understand findings, and will not share researcher information with law enforcement without notice. CISA's template at cisa.gov/vulnerability-disclosure-policy-template provides model language.

How do I triage incoming vulnerability reports?

Three-question triage: (1) Is it a real vulnerability in our systems, not a scanner false positive? (2) Is the reported system in scope? (3) What is the severity? Respond to all reports within 5 business days even if the answer is 'this is a duplicate' or 'out of scope.' Silence frustrates researchers and leads to public disclosure.

What should I commit to in terms of response timelines?

CISA's standard: acknowledge within 24 hours, provide status update within 1 week, communicate fix timeline. 90-day resolution deadline is researcher community norm. If you cannot fix in 90 days, communicate why and agree on an extension. Unresponsive organizations regularly get public disclosures.

Sources & references

  1. CISA Vulnerability Disclosure Policy Template
  2. ISO/IEC 29147 Vulnerability Disclosure
  3. HackerOne VDP Guide
  4. Bugcrowd VDP Resources
  5. NTIA Coordinated Vulnerability Disclosure

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Free newsletter

Get threat intel before your inbox does.

50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, weekly, no spam.

Unsubscribe anytime. We never sell your data.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals weekly.

Free Brief

The Mythos Brief is free.

AI that finds 27-year-old zero-days. What it means for your security program.

Joins Decryption Digest. Unsubscribe anytime.

Daily Briefing

Get briefings like this every morning

Actionable threat intelligence for working practitioners. Free. No spam. Trusted by 50,000+ SOC analysts, CISOs, and security engineers.

Unsubscribe anytime.

Mythos Brief

Anthropic's AI finds zero-days your scanners miss.