Write SECURITY.md at the repo root. For an E2EE messaging product with on-chain funds this is a notable omission: there is currently no stated way to report a vulnerability privately, so a finder's only options are a public issue or a public PR.
Acceptance criteria:
- Gives a private reporting channel and an expected response window
- States explicitly that vulnerabilities must not be reported via public issues or PRs
- Defines scope: which components are in scope (backend, web client crypto, contracts) and what is out of scope
- Cross-links
docs/threat-model.md so reporters know what is already a known, accepted residual risk
- Notes the contract-specific path, since on-chain bugs may not be fixable by a redeploy
Write
SECURITY.mdat the repo root. For an E2EE messaging product with on-chain funds this is a notable omission: there is currently no stated way to report a vulnerability privately, so a finder's only options are a public issue or a public PR.Acceptance criteria:
docs/threat-model.mdso reporters know what is already a known, accepted residual risk