Model a legal hold as a first-class entity in your data layer: create a holds table/collection with fields for hold name, matter reference, custodians (user IDs), date placed, date released, and issuing authority.
Attach hold status to every document record; when a document is placed on hold (directly or because its owner is a custodian), set a is_on_hold flag and record the hold_id, preventing deletion or modification by normal retention-policy jobs.
Override all automated retention-expiry and deletion processes to check the is_on_hold flag before acting; log and skip rather than delete any document under hold, and alert the legal ops team of blocked deletions.
Implement a hold notification workflow that emails each custodian with instructions to preserve relevant materials and provides a confirmation mechanism; log custodian acknowledgement with timestamp.
When a hold is released, re-evaluate each held document against the normal retention policy; documents whose retention period has already expired should enter a deletion queue after release, with a grace period and approval step.
Known gotchas
Backup and archive copies are within scope of a legal hold; failing to halt scheduled backup purges or archival deletion jobs is a common source of spoliation risk.
Hold scope creep is a real operational hazard — overly broad holds that capture all data from a custodian rather than matter-relevant data can impose enormous review costs; narrow hold criteria carefully in coordination with counsel.
The specific retention periods, hold obligations, and consequences of non-compliance vary by jurisdiction and document type; this describes a technical pattern only and is not legal advice — work with qualified legal counsel to define hold scope and policy.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp