Audit Log Service · View 26 of 40 · 5 · Runtime
Decisions
- A hold changes when a record may be disposed of and nothing else. It does not hide the record, does not move it, does not change its class and does not affect what a query returns.
- Holds are placed at tenant, actor, resource or time-range granularity by a segregated legal role that holds no read capability over the records it protects — and no role that can read records can place a hold.
- Tiering continues under hold. A held segment still moves to cool and archive storage, so an indefinite hold does not become an indefinite hot-storage bill.
Evidence
- Placing and lifting a hold are both audit records with their own approvals attached.
- The disposal certificate for a surrounding range cites the hold that delayed part of it, so a gap in disposal has an explanation inside the log rather than in someone's inbox.
- Lifting a hold recomputes expiry forwards; it is never backdated, so nothing becomes retrospectively disposable.
Assumptions
- Actor- and resource-granularity holds are phase 2; tenant and time-range granularity ship in the MVP. A phase-1 hold on a broad range is over-inclusive, which costs storage and is the correct direction to err.