Write a security policy and disclosure process
Writes a SECURITY.md and the disclosure process behind it, with supported versions, how to report, response times and safe harbour. Use when a project has no clear way to report vulnerabilities.
A security policy tells a researcher who has found a vulnerability exactly where to send it privately, what to include, how fast they will hear back, and that acting in good faith will not get them sued. Without one, reports land in public issues, or researchers give up. Policies fail when they promise response times the maintainers cannot meet, list an inbox nobody reads, name supported versions that do not match reality, or use legal threats as tone. The policy must match the project's real capacity, and an internal process must exist behind it.
Write the security policy for:
- State your assumptions about capacity, channels and supported versions. If the private reporting channel or the supported versions are unknown, use placeholders like
[SECURITY CONTACT]and list them under Open questions; do not invent an email address. - Write
SECURITY.mdwith these sections:
- Supported versions: a table of version ranges and whether they receive security fixes, matching the release policy given.
- Reporting a vulnerability: the private channel (for example the repository host's private vulnerability reporting, or a security email with an optional encryption key), an explicit "do not open a public issue", and what to include: affected version, component, reproduction steps or proof of concept, impact, and whether it is already public.
- What to expect: acknowledgement, triage and update times the team can actually meet (for a volunteer project, days rather than hours), how fixes and advisories are coordinated, a default disclosure deadline (90 days is a common norm) and how extensions are agreed, and credit for the reporter if they want it.
- Scope: what is in scope, and what is out (third-party dependencies to report upstream, social engineering, denial of service by volume, findings that need a compromised machine), if the project wants that.
- Safe harbour: good-faith research within the policy is welcome and will not be pursued; the researcher must avoid privacy violations, data destruction and service disruption, and only access data needed to show the issue.
- Bug bounty: say whether one exists; never imply rewards that do not exist.
- Write the internal process maintainers follow: who watches the channel, triage and severity scoring (for example CVSS), a private fix branch or private fork, requesting a CVE or advisory id, coordinating with downstream users if needed, release and advisory publication, and crediting the reporter.
- Give a setup checklist: enable the private reporting feature, test the inbox, add the policy link to README and the issue template chooser, and set a calendar reminder to review the policy.
- Response times must fit the stated capacity; if capacity is unknown, use conservative times and say so.
- Keep the tone welcoming and plain. No threats, no legalese beyond the safe harbour paragraph.
- The safe harbour text is a template, not legal advice. Say that a company should have counsel review it, especially where it promises not to pursue legal action.
- Do not invent contact addresses, key fingerprints, bounty amounts or company names.
Assumptions
Bullets.
SECURITY.md
The complete file in a fenced Markdown block.
Internal process
Numbered steps with owners and target times.
Setup checklist
Checkboxes.
Open questions
Numbered, or "None".
1 required value still a placeholder; the assistant will ask for it.
details
- kind
- Prompt: a task you run by name to get one finished thing back
- domain
- Software engineering
- category
- Security
- level
- Intermediate
- made for
- Open-source maintainer, Security engineer, Tech lead / staff engineer, Engineering manager
- risk
- read-only
- version
- v1.0.0 · incubating
- reviewed
- 2026-10-03
- works in
- Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai
use in
npx @hermes-hq/hodios install write-security-policy --target claude-codenpx skills add hermes-hq/hodios-dist --skill write-security-policy -a claude-codeclaude plugin marketplace add hermes-hq/hodios-distclaude plugin install hodios-software-engineering@hodiosThe plugin brings every entry in this domain at once.
pairs well with
All of SecuritySecurity auditor
Reviews code for exploitable weaknesses and reports only issues with a concrete attack path. Use as a reviewer persona or subagent for security-sensitive changes.
security-auditorOpen-source maintainer
Acts as an experienced open-source maintainer who protects project scope, writes welcoming but firm replies, reviews contributions and keeps releases sustainable.
open-source-maintainerTriage a vulnerability report
Triages an external vulnerability or bug bounty report by checking the claim, rating severity with CVSS, deciding valid, duplicate or out of scope, and drafting the reply. Use for security inboxes.
triage-vulnerability-reportWrite a CONTRIBUTING guide
Writes a CONTRIBUTING.md from a repository's real setup, covering the dev environment, tests, branch and commit rules, PR checklist, review process and where newcomers can start.
write-contributing-guideTriage dependency vulnerabilities
Triages dependency scan findings by reachability and exploitability, gives the upgrade path, and justifies anything safe to defer. Use when a scanner reports more than the team can fix at once.
audit-dependenciesRespond to a leaked secret
Produces an ordered response plan for an exposed key, token or password - revoke and rotate, audit use, clean up copies, notify and prevent. Use right after a secret is committed, logged or shared.
respond-to-leaked-secret