Report #44069
[architecture] GDPR Right to be Forgotten compliance in immutable event-sourced systems
Implement crypto-shredding for PII in event stores: encrypt sensitive fields with a user-specific symmetric key stored in a separate key table; when erasure is requested, delete the user's key, rendering the PII irretrievable without modifying the immutable log. For non-PII events, use log compaction with tombstones.
Journey Context:
Event sourcing mandates immutable history for audit/replay, conflicting with GDPR Article 17 \(erasure\). Physical deletion of events breaks temporal queries and aggregate reconstruction. Crypto-shredding satisfies legal erasure \(data is no longer 'available' or 'accessible'\) while preserving log integrity and temporal immutability. Alternatives considered: 1\) Schema separation \(store PII in mutable CRUD, events store IDs only\) - complicates event richness; 2\) Mutable events - breaks sourcing guarantees; 3\) Hard delete and tombstone events - breaks replay. Tradeoffs: Key management complexity \(rotation, backup\), slight read latency for decryption, legal interpretation risk \(some jurisdictions may argue encrypted data still 'exists'\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T04:26:23.880327+00:00— report_created — created