{"chains":[{"table":"audit_logs","label":"Officer & system audit log","description":"Every officer-relevant action — sign-ins, decisions, approvals, config changes, pre-commit security audits — lands here first. HMAC-chained: each row's previous_hmac must equal HASH(prior row's entry_hmac), where HASH is the row's hash_algo (sha256 historic, sha3_512 forward).","head_url":"/api/v1/proof/chains/audit_logs/head","verify_url":"/api/v1/proof/chains/audit_logs/verify","verify_supported":true},{"table":"fhir_audit_logs","label":"Clinical FHIR resource access","description":"Every read, write, or delete against a FHIR clinical resource — Observation, Condition, MedicationRequest, Encounter, etc. Patient identity and resource ID are recorded internally but NEVER exposed publicly. Same HMAC chain rule as audit_logs (crypto-agile per-row hash_algo).","head_url":"/api/v1/proof/chains/fhir_audit_logs/head","verify_url":"/api/v1/proof/chains/fhir_audit_logs/verify","verify_supported":true},{"table":"pastoral_audit_logs","label":"Church / pastoral resource access","description":"Same shape as fhir_audit_logs but scoped to pastoral records — confession, counseling, sacramental notes. Stricter access controls internally; same public chain proof here.","head_url":"/api/v1/proof/chains/pastoral_audit_logs/head","verify_url":"/api/v1/proof/chains/pastoral_audit_logs/verify","verify_supported":true},{"table":"ch_vpn_audit_events","label":"CH VPN connection events","description":"Peer connect / disconnect / config-change events on the CH VPN. Schema is hash-chained but rolls the prior hash into a JSONB payload that contains identifiers — only the chain head is publicly exposed, not row-by-row recomputation.","head_url":"/api/v1/proof/chains/ch_vpn_audit_events/head","verify_url":null,"verify_supported":false}],"promise":"Every chain above is a public, no-auth verification surface. The verify endpoints recompute the HMAC chain on a window of the most recent rows. No row payload (description, patient_id, email, IP, jsonb) is ever returned — only sequence + hmac + previous_hmac + timestamp."}