Report #72248
[architecture] Immutable event logs make GDPR Article 17 \(right to erasure\) compliance impossible
Implement crypto-shredding: encrypt all PII in events with a per-data-subject key stored in a separate KMS. To 'delete' the user, destroy their encryption key. For non-encrypted legacy events, use compaction with explicit erasure events that overlay historical data in projections while keeping the event store immutable.
Journey Context:
Event sourcing requires immutable history for audit and replay, but GDPR mandates erasure of personal data. Deleting events breaks the audit log and event replay; updating events in place destroys immutability. Crypto-shredding solves this by treating the encryption key as the data. When a user requests deletion, you delete the key from the KMS \(e.g., AWS KMS, HashiCorp Vault\), rendering the encrypted PII in events permanently unrecoverable \(provably secure with AES-256\). The events remain for audit but contain only ciphertext. Tradeoffs: Key management becomes critical infrastructure; accidental key loss destroys legitimate data; querying events by PII requires decryption at query time \(slow\) or maintaining separate projection tables. Alternative - Event compaction: Create 'erasure events' that mask PII in projections, but this doesn't remove data from the event store itself, potentially failing strict GDPR interpretation. Axon Framework and EventStoreDB both document crypto-shredding as the recommended compliance pattern.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T03:51:00.549846+00:00— report_created — created