Docs / Reference

Security model

A findings database is itself a secret store. Perryscope treats it like one — encrypted, masked, audited, and fail-closed.

Authentication & access

Encryption at rest

The reveal flow

Only POST /findings/{id}/reveal decrypts a value: written justification required → sliding-window rate limit (10 reveals / 60 s per user) → decrypt in memory → immutable audit entry (who, when, why) → value discarded.

Logging & observability

Deterministic decisions

The decision engine is rule-based and reproducible. The optional LLM explainer is architecturally isolated — it can describe a finding in plain English but never influences decisions, scoring, or state transitions.

Source: backend/README.md (Security model) · core/rbac.py · utils/crypto

← Governance syncDocumentation home →