Root docs
Repository viewer
Legacy docs parity surface
Back to repository viewer
Repository document
Security Guarantees
security-guarantees.md
Boundary
This route preserves legacy markdown access inside the Next.js surface. The raw repository file remains authoritative.
Open raw fileSecurity Guarantees
This document states the security properties the current repository is intended to guarantee on its implemented protocol surface.
Guaranteed Properties
Lifecycle cannot be bypassed
- commit is not accepted after the commit window closes
- reveal is not accepted before commit or outside the reveal window
- finalize is not accepted before reveal completion
- execute is not accepted before finalization or before timelock unlock
Treasury cannot execute twice
- a successfully executed proposal cannot execute a second time
- duplicate treasury effects are rejected by lifecycle state
Invalid reveal cannot mutate state
- wrong salt fails
- wrong vote payload fails
- wrong reveal signer fails
- late reveal fails
- invalid reveal does not increment reveal count or valid tally
Mismatched account binding is rejected
- wrong DAO/proposal pairing fails
- wrong voter record/proposal pairing fails
- wrong delegation/proposal pairing fails
- wrong treasury/DAO pairing fails
Replay execution cannot succeed
- repeated commit cannot create duplicate voting effect
- repeated reveal cannot create duplicate tally effect
- repeated finalize cannot re-finalize
- repeated execute cannot re-transfer funds
Failed finalize does not advance lifecycle
- status remains unchanged
- execution unlock remains unchanged
- tallies remain unchanged
Failed execute does not advance lifecycle
- `is_executed` remains false
- status remains unchanged
- treasury effect does not partially occur
Treasury execution must be exact
- `SendSol` requires the configured recipient
- `SendToken` requires correct mint, ownership, and token account wiring
- valid-looking but semantically wrong treasury paths are rejected
Scope Of These Guarantees
These guarantees apply to:
- the current on-chain program
- the currently implemented treasury paths
- the currently covered lifecycle and delegation flows
These guarantees do not claim:
- external audit completeness
- mainnet certification
- protection against off-chain metadata visibility such as transaction timing
Evidence Pointers
- `docs/security-review.md`
- `docs/threat-model.md`
- `docs/security-coverage-map.md`
- `docs/failure-modes.md`
- `docs/replay-analysis.md`
- `tests/private-dao.ts`
- `tests/full-flow-test.ts`