GDPR-002 recommended Right to Be Forgotten

Deletion request audit trail

Deletion requests must be logged for compliance inquiries. Track who requested, when, what was deleted, and who processed it.

Question to ask

"Prove you deleted a user's data. Where's the log?"

Verification guide

Severity: Recommended

You need records of deletion requests for compliance inquiries and to prove you processed them.

Check automatically:

# Look for deletion logging/audit
grep -riE "deletion.*log|audit.*delet|log.*erasure|deletion.*record|gdpr.*log" src/ app/ lib/ --include="*.ts" --include="*.js" --include="*.py"

# Check for audit tables or models
grep -riE "deletion_request|erasure_request|gdpr_request|audit_log" src/ app/ models/ migrations/ --include="*.ts" --include="*.js" --include="*.sql"

# Look for admin views of deletion history
grep -riE "deletion.*history|request.*log|audit.*trail" src/ app/ --include="*.ts" --include="*.js"

Ask user:

  • "Do you track deletion requests? (who requested, when, what was deleted)"
  • "Where is this audit trail stored?"
  • "How long do you retain deletion audit records?"

Pass criteria:

  • Deletion requests logged (requester, date, what was deleted, who processed)
  • Audit trail accessible for compliance inquiries
  • Retention period defined for audit records

Fail criteria:

  • No record of past deletions
  • Deletions happen but aren't tracked
  • "We'd have to check server logs"

Evidence to capture:

  • Audit mechanism (database table, log system, ticket system)
  • Fields captured (requester, date, scope, processor)
  • Retention period for audit records

Section

37. GDPR & Privacy Compliance

Operations & Incident Management