Versioned Trust Postures are the foundation for compliance attestation. They give auditors a single, queryable answer to the question “what was your detection policy at time T” — across SOC 2, EU AI Act, HIPAA, ISO 27001, and any other framework that mandates documented control state at point-in-time. This guide is the foundation layer. The full control-mapping (which posture field maps to which control) is debt #4 — tracked inDocumentation Index
Fetch the complete documentation index at: https://docs.mnemom.ai/llms.txt
Use this file to discover all available pages before exploring further.
safe-house-hardening/debt/post-t1-3-1-cleanup.md and landing once SOC 2 work formalizes. The foundation is enough to start collecting audit evidence today.
The three properties that make postures auditable
-
Named, library-cataloged. Every posture has a stable
posture_id, a human-readablename, and a kebab-caseslug. Auditors can reference “the policy assigned to the Banking team at the time of incident” by id, not by reconstructing config. - Versioned, forward-only. Every edit creates a new revision. Old revisions never disappear — they become queryable historical entries. Rollback creates a new revision whose body equals the target’s, so audit linearity is preserved with no destructive history rewrites.
-
Audit-logged on every mutation. Every
posture.create,posture.put,posture.clone,team_posture.assign, andteam_posture.unassignwrites a row togovernance_audit_logwith the actor, the before/after JSON, and the idempotency key. The audit log is the source of truth for “who changed what, when.”
Point-in-time queries
The queryable answer to “what was the team’s effective posture on 2026-03-31” is a single SQL pattern. The detail depends on whether the team was floating or pinned at that time:Floating team — query the posture’s history
change_summary — the load-bearing answer for an auditor’s question.
Pinned team — query the pinned revision directly
point_in_time (as long as the assignment was active then; check the audit log for the assignment’s lifespan).
Audit log shape
governance_audit_log rows for posture mutations look like:
- Attribution.
actor_user_id+actor_roleanswer “who did this.” Roles includeplatform_admin,org_owner,org_admin,team_admin,member,system. - Diffability.
before_json+after_jsonare the full bodies. The dashboard’s revision diff view consumes the same data; auditors can run their own diffs offline. - Idempotency. The
idempotency_keyproves a mutation wasn’t applied twice. Replay attacks are visible as duplicate rows with identical keys. - Request correlation.
request_idties the audit row to the upstream HTTP request log for end-to-end traceability.
Three-step audit-prep workflow
For each control your auditor wants evidence on:1. Identify the posture body field that maps to the control
Until debt #4 lands the formal map, this is manual. Examples:| Control concept | Posture field |
|---|---|
| ”Anomaly detection runs at least every 15 minutes” | sideband.coherence.cadence_seconds ≤ 900 |
| ”Reputation-weighted scoring is enabled for fault-line analysis” | sideband.fault_line.use_reputation_scores = true |
| ”Critical findings always trigger advisories” | sideband.fault_line.severity_floor ∈ {low, medium, high, critical} |
| ”Cluster partitions across the fleet are flagged” | sideband.fleet.patterns.cluster_partition = true |
2. Pull the point-in-time evidence
Run the SQL pattern above for every team in scope, for every relevant date in the audit window. The output for an auditor is a CSV per team with columns(team_id, date, posture_id, revision_no, body) — enough to prove the control held continuously.
3. Pull the change log
For the same audit window, dumpgovernance_audit_log filtered to target_type = 'posture':
What’s deferred
The foundation is in place; the layers above it are tracked debt:- Compliance attestation snapshots — a one-click “export this posture for SOC 2 evidence” button. Today, the SQL above is the manual equivalent. Debt #3.
- Compliance framework mapping — formal SOC 2 / ISO 27001 / HIPAA / EU AI Act control → posture field map. Debt #4.
- Detection coverage scoring — ”% of fleet with each axis enabled” rolled up to a dashboard tile. Debt #5.
- Policy-as-code export — Terraform provider + YAML round-trip. Debt #6.
See also
- Trust Posture — concept overview
- Posture versioning — revisions, rollback, immutability
- Trust Posture schema — normative field reference
- Sideband detection — tuning the detectors
- Posture cloning workflow — clone-and-customize