On receipt of a verified erasure request, publish a user.erasure.requested event to a central message broker (e.g., Kafka topic or SQS queue) with a payload of {requestId, subjectId, requestedAt, legalBasis: 'Art17'} — do not include full PII in the event payload.
Each microservice subscribes to the erasure event topic; upon receipt, the service looks up all records referencing subjectId, deletes or anonymizes them according to its own data retention obligations, and publishes a user.erasure.completed.{serviceName} event with {requestId, status, recordsAffected, completedAt}.
A central DSAR orchestrator subscribes to all completion events and maintains a per-requestId completion matrix; once all registered services have reported completion or SKIPPED, the orchestrator marks the overall erasure COMPLETE and notifies the data subject.
Handle the Art. 17(3) exceptions in each service: if data must be retained for legal obligation, freedom of expression, or public-interest reasons, the service should report SKIPPED with a documented exception reason rather than DELETED.
Set a maximum completion SLA (e.g., 30 days) for each service; the orchestrator flags overdue services and escalates to your privacy team for manual intervention.
Store the completion matrix and all service-level responses in an immutable audit log for GDPR accountability; this log constitutes evidence of compliance with Art. 17 in the event of a supervisory authority inquiry.
Known gotchas
Backup and archive copies of data are often excluded from erasure tooling; erasure from production databases without also handling backups means the data re-appears after a backup restore — document your backup purge policy explicitly.
The event-fan-out pattern is eventually consistent; data is not immediately erased from all services. For high-sensitivity data, consider synchronous erasure for the primary record and async for secondary copies, with explicit timeouts.
Art. 17(3)(c) permits retention for legal claims; services should not blindly delete all records matching a subjectId — legal hold flags must be checked before deletion and respected, with the hold documented in the completion event.
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