Incident Management Platform · View 15 of 34 · 4 · Data
Decisions
- incident_event carries its own idempotent id, a per-incident sequence and the hash of the previous event. The reconciler can replay the outbox twice without duplicating an event, and any edit to history breaks the chain visibly.
- coverage_bucket is keyed by rotation and a 15-minute UTC bucket. Paging resolves who is on call with one key read regardless of how many layers and overrides produced the answer.
- escalation_policy is versioned, and every notification attempt records the version it ran under, so a policy edited during an incident does not change what the timeline says happened.
Personal data
- contact_method.address is encrypted under a key specific to that responder. The event log refers to responders by id only. Deleting the key on offboarding makes every stored copy of the address unreadable without mutating the immutable log (ADR-28).
Deliberately absent
- An individual attribution field on review, and a free-form 'root cause' field. Contributing factors are plural by design.