Security Documentation Index

July 10, 2026 · View on GitHub

A single entry point to everything security-relevant in Perseus Vault: the documents, the processes, and who holds which privileges. This satisfies OSTIF best-practices step 6 (an updated knowledgebase tracking security efforts and access privileges) and is the map an auditor or contributor should start from.

Last reviewed: 2026-07-10.


1. Document map

DocumentWhat it covers
../SECURITY.mdReporting policy, supported versions, security model, encryption summary, attack surface, compliance posture
THREAT-MODEL.mdWhat Vault defends against, what it does not, and residual operator-owned risk
ENCRYPTION.mdAES-256-GCM at-rest specification: algorithm, nonce/AAD, scope, key handling, limits
vuln-response.mdInternal vulnerability-response runbook: handler roles, CVSS severity rubric, embargo, CVE/disclosure flow
security-review-2026-07-05.mdPre-launch internal security review and findings
audit-chain-crypto-review-SOW.mdScope of work for the pending external cryptographic review of the audit chain + encryption
audit-chain-keyed-mac-design.mdTamper-evident audit-chain design (SHA-256 + keyed-MAC / payload commitment)
SBOM.mdCycloneDX software bill of materials for dependency transparency
transport.md / GRPC-SECURITY.mdTransport posture (stdio default; optional HTTP/SSE/gRPC security)
EXPORT-CONTROL.mdExport-control classification of the cryptography
NIST-AI-RMF-ALIGNMENT.mdAlignment with the NIST AI Risk Management Framework
deterministic-recall-and-provenance.mdProvenance and deterministic-recall guarantees
retention.mdData retention and lifecycle behavior
SECURITY-MILESTONES.mdPredefined triggers for escalating security effort (OSTIF step 7)

2. Automated security controls (CI)

ControlWherePosture
Dependency CVE scanning.github/workflows/audit.yml (cargo-audit)Gating on push/PR + weekly, against the RustSec advisory DB
Static analysis (SAST).github/workflows/codeql.yml (CodeQL, Rust build-mode: none)Non-gating, weekly + push/PR; findings in the Security tab
Private vulnerability reportingGitHub Security → Private Vulnerability ReportingEnabled — reports arrive as private advisories

3. Access & privileges register

Governance transparency, not secrets. This tracks who holds which privilege so access can be reviewed and revoked. No keys or tokens appear here.

PrivilegeHolder(s)Notes
Repository adminThomas Connally (tcconnally), Mark ThrailkillBoth hold repo admin as of 2026-07-10.
Merge to protected mainvia PR + required test check✅ Verified: main is protected and requires the test status check. No direct pushes.
Release / publish (crates.io, GHCR, MCP registry)[CONFIRM token holder(s)]Publishing credentials held out-of-band, not in repo
Release signing / provenancenone yetSigned releases + SLSA provenance are a tracked milestone (§ SECURITY-MILESTONES)
Security disclosure — primary handlerThomas Connally (perseus@perseus.observer)See vuln-response.md
Security disclosure — backup handlerMark Thrailkill (mark@perseus.observer)Covers when primary is unavailable

Review cadence: revisit this register whenever a team member joins/leaves, a new publishing target is added, or a signing key is created. Update the Last reviewed date above on each pass.

4. How the pieces fit