Audit Log Service · View 12 of 40 · 3 · Structure
Decisions
- No interface both writes and reads. A producer credential cannot query; a query credential writes nothing except the read record the service writes on its behalf.
- Azure control-plane events arrive through diagnostic settings into the same schema as application events, so a subscription change and a role grant are searchable side by side.
- Spool replay after a producer outage re-enters through the same REST contract with the original occurred_at, so a replayed event is never mistaken for a fresh one.
Interface inventory
- Inbound: synchronous REST over mTLS (25 k/s), Kafka-protocol stream, Azure diagnostic export, legal hold API.
- Outbound: Blob create-only, Confidential Ledger append, Managed HSM sign and wrap, Entra token validation, and an alert feed to Microsoft Sentinel that carries detections and never record content.
Omitted here
- The external timestamp authority and the phase-3 witness log are shown on views 11, 13 and 30 where their role in the chain is legible.