DocumentsProcurement and compliance

Retention schedule, and how erasure is resolved

2 min readSource retention-schedule.mdsha256 8bbfd045e7ed1f1d…

Draft for counsel. The periods below are Mirror's proposed defaults for what the operator holds. Each member bank's own record-keeping obligations govern what it keeps, and may be longer. Not legal advice.

What the operator holds, and for how long#

Record classWhereProposed retentionWhyDisposal
Governance events (members, corridors, witnesses, revocations)mirror_registry_eventsThe life of the railThe registry is the root of trust; every verdict is judged against itNever deleted. A retired corridor or member is its own event.
Signed verdicts (the ledger)mirror_verdictsAt least 10 yearsMembers' AML record-keeping periods; the verification escrow (mirror-archive) is built for the ten-year recordKept intact, so the hash-linked log stays verifiable. Made unlinkable by crypto-shredding (below).
Member public keysmirror_member_keysThe life of the railOld verdicts must stay verifiableNever deleted
pKYC triggers (entity commitments)mirror_trigger_busThe period the legal basis allowsEach trigger is shared under a named basisPruning by basis is not automated today
Webhook subscriptionsmirror_webhooksWhile subscribedDeliveryDeleted on unsubscribe
Webhook deliveries (the outbox)mirror_webhook_deliveriesProposed 90 days after delivered, dead or goneDelivery evidence for the memberPruning is not automated today
DelegationsNot stored—Presented at each sign-in—

The erasure conflict, resolved by design#

A data subject's right to erasure (GDPR Art. 17) and the members' duty to keep AML records pull in opposite directions. Art. 17(3)(b) exempts processing necessary for a legal obligation, which covers the members' record-keeping period.

What happens after that period is where Mirror's construction helps. A commitment is only linkable to anything through the secret that salted it:

  • the corridor secret, for band commitments and locators;
  • the network secret, for pKYC entity commitments;
  • the receipt or certificate secret, for witness commitments;
  • the document salt, for origin commitments.

Destroying that secret is crypto-shredding.

  • After: no one, the members included, can open or re-link any commitment made under it. The operator's signed ledger stays byte-for-byte intact and verifiable; its content is unlinkable for everyone.
  • When: the destruction is scheduled in the corridor-key rotation plan (retain_old_until), after the retention period.
  • Only if nothing holds it: a litigation hold or a supervisory request stops it first. mirror-rotation.state() reports old_key_shred_due and names the consequence.
  • Where it happens: in the members' HSMs, under their dual control. Mirror never holds the secret, so it cannot shred it, and cannot fail to.

What is not solved here#

  • Automated pruning of pKYC triggers and delivery rows.
  • Retention in a member's own systems: its bander run logs, its case system, its copies of verdicts. That is the member's schedule.
  • Backups of the operator's store. They follow the store provider's backup regime (see sub-processors). Crypto-shredding covers them too, because what they hold is also unlinkable without the destroyed secret.