Skip to main content
Version: v0.9.0a2

Where Security Analysis Lives

2 min readNavigationPer ADR-018

What this page is

Stigmem uses one protocol-level threat model plus feature-local security files for features. This page tells you where to look.

Canonical risk register

The numbered R-XX risk register lives in spec/security/threat-model.md. Cross-cutting protocol risks stay there.

Transport security

Quota enforcement

Prompt-injection controls

CID integrity

Release supply-chain integrity

Storage immutability

Feature-local security files

Per ADR-018 and ADR-020, a feature that owns or materially contributes to a numbered risk keeps its feature analysis in its feature record. Legacy experimental security files may remain as compatibility pointers during migration.

Feature
Risk relationship
Security analysis location
Lazy instruction discovery
owns R-15; contributes to R-21
features/lazy-instruction-discovery/security.md
RTBF tombstones
owns R-16 and R-17
features/tombstones/security.md
Time-travel queries
contributes to R-17 and R-18
features/time-travel/security.md
Multi-tenant scoping
contributes to R-01, R-02, R-21
features/multi-tenant/security.md

Feature-local files do not replace the risk register.

They give operators and contributors the local threat-model delta, operator scenarios, conformance pointers, and ADR-008 reintroduction gates for the feature.

Features without security files

Not every directory under experimental/ receives a security.md automatically. Adapter, deployment, SDK, dashboard, and workbench directories remain covered by their STATUS.md, contributor checks, and the protocol-level threat model until they own or materially contribute to a numbered risk. When that happens, the same PR must add or update the feature-local security.md and cross-link the risk register.

Contributor rule

When adding a feature-owned R-XX risk:

  1. Add the risk to the unified threat model.
  2. Add or update features/<feature>/security.md.
  3. Link the risk row in the threat model to the feature-local file.
  4. Run the security documentation validator.
python scripts/check_security_documentation.py