Overview: Provide a clear, customer-facing technical appendix that maps GDPR requirements to concrete retention timelines, architecture for deletion propagation, verification methods, and backup/GDRP caveats. Use plain language + technical details so legal, ops, and engineers can act.
Contents:
- Purpose & scope — which systems, PII fields, and user scenarios (account deletion, data minimization, DSAR erasure).
- Retention table (example):
- Authentication logs (IP, timestamp): 30 days; aggregated metrics: 3 years (anonymized)
- User profile (name, email, DOB): retain while account active; on deletion purge within 7 days
- Transaction records (order history): 7 years (legal), pseudonymize after 1 year
- Support conversations: 2 years then delete
- Marketing consent records: until revoked + 1 year
- Deletion propagation architecture:
- Orchestrator service receives deletion request -> writes immutable job to audit queue -> issues deletion commands:
- Primary DB: soft-delete flag + enqueue cascade jobs
- Search index (Elasticsearch): delete document by id
- Analytics: remove or anonymize user_id
- Third-party integrations: send deletion webhook and await ACK
- Backups: mark backup retention policy; schedule purge windows and retain immutable audit that deletion occurred
- Backups & snapshots:
- Explain backups are immutable until retention expiry; deletion request cannot retroactively remove snapshots — instead: document legal basis, shorten future retention, and store a signed attestation of deletion time.
- Verification / proof commands (examples):
sql
-- verify user row absent or soft-deleted
SELECT id, deleted_at FROM users WHERE id = 'USER_ID';
bash
curl -s -XGET "https://es.example/_doc/users/USER_ID" -w "\n%{http_code}\n"
sql
SELECT COUNT(*) FROM events WHERE user_id = 'USER_ID';
- Check message queue audit:
bash
redis-cli GET deletion:audit:USER_ID
- Audit trail & attestations:
- Store immutable audit logs (who/when/request id), retention of audit separate from PII, signed by system key.
- Edge cases & controls:
- Legal hold workflow: flag prevents deletion; requires approval and documents reason
- Idempotency of delete requests
- Race conditions: use versioned deletion jobs
- Roles & SLAs:
- Define SLA for full propagation (e.g., 72 hours), notification to user, and escalation path.
Outcome: Appendix gives customers a reproducible, verifiable deletion process mapping GDPR requirements to timelines, technical flows, and concrete verification commands to demonstrate compliance.