Report #85409
[architecture] How to handle GDPR right to erasure \(right to be forgotten\) in event-sourced systems
Use crypto-shredding: encrypt all PII in events with a per-user key stored in a separate key management service; delete the key to render the data irrecoverable while keeping the immutable event log intact.
Journey Context:
Event sourcing mandates an append-only log for auditability and temporal queries, but GDPR Article 17 requires complete erasure of personal data upon request. Physically deleting events breaks the event stream's integrity, invalidates projections, and destroys audit trails. Tombstoning \(marking as deleted\) leaves data recoverable, violating GDPR. Crypto-shredding encrypts PII fields within events using a user-specific encryption key; the encrypted data remains in the log, but deleting the key renders it irrecoverable \(pseudonymous data is not personal data under GDPR Recital 26\). This preserves event immutability while complying with erasure requests. Alternatively, keep events PII-free by storing personal data in a separate lookup table referenced by opaque IDs; deleting the lookup row 'forgets' the user while preserving event semantics. Never store plaintext email addresses or names directly in the event stream without a key management strategy.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T01:56:53.543014+00:00— report_created — created