erasure-guardlisted
Install: claude install-skill 0xmortuex/claude-code-skills
# erasure-guard
Deleting a user is easy in the one place everyone tests: the primary users table, with `ON DELETE CASCADE` tidying up the foreign keys an ORM knows about. It's the places nobody was thinking about when that endpoint shipped where the data survives — the search index that got its own denormalized copy for query speed, the analytics event that already left for a third-party pipeline before the delete ran, the nightly warehouse ETL that snapshotted the row the day before, the cache entry keyed by user ID that nothing ever explicitly evicts. Each of these was correct the day it was built. The deletion pipeline just wasn't updated when they were added — a gap real enough that GitHub's own engineering-focused GDPR skill lists "erasure pipeline updated to cover new data store" as a PR-checklist reminder, which only exists because teams keep needing reminding. This skill is the systematic check that reminder can't be: it doesn't trust that the checklist was followed, it verifies the pipeline against every store that actually exists today.
## Step 1: map every place this user's identifiable data materializes
Don't start from the deletion code — start from the data. Grep for every table, index, cache namespace, and outbound integration that stores or forwards anything keyed to a user: FK-linked tables (the easy, usually-correct part), read replicas (usually fine, they follow the primary, but confirm replication isn't excluded for any table), search/index stores that