← ClaudeAtlas

redact-pii-skilllisted

Detects and reports personally identifiable information (PII) in text — names, dates of birth, addresses, government IDs (SSN, passport, driver's license), financial data (credit cards, bank accounts, IBANs), health/medical identifiers, biometric data, login credentials, and network/device identifiers. Use this skill whenever the user asks to scan, audit, flag, redact, or check text, documents, chat logs, datasets, or files for PII, sensitive personal data, or privacy risks — including requests like "does this contain PII", "check this for sensitive data", "redact personal info", "is this GDPR/CCPA safe", or "audit this file for PII" — even if they don't use the exact term "PII."
scholarly360/redact-pii-skill · ★ 0 · Data & Documents · score 67
Install: claude install-skill scholarly360/redact-pii-skill
# PII Detector Finds personally identifiable information in a block of text and produces a structured report. Combines two complementary detection methods so nothing gets missed: 1. **Pattern-detectable PII** (has a fixed, verifiable shape — SSNs, emails, credit cards, IPs, IBANs, VINs, etc.) — run through `scripts/scan_pii.py`, which uses regex + checksum validation (e.g. Luhn check for card numbers) for high-precision, deterministic matches. 2. **Context-detectable PII** (no fixed shape — names, race/ethnicity, diagnoses, street addresses, employment history, behavioral profiles, etc.) — read directly by Claude, checked against the full category checklist in `references/pii_taxonomy.md`. Relying on regex alone misses free-text PII; relying on the model alone misses easily-verified structured identifiers and can hallucinate on ambiguous digit strings. Always do both passes. ## Workflow 1. **Get the text.** If it's in a file, read the file. If it's pasted inline, use it directly. 2. **Run the pattern scan:** ```bash python3 scripts/scan_pii.py <path-to-file> # or, for inline text: python3 scripts/scan_pii.py --text "the text to scan" ``` This returns a JSON array of findings with `category`, `subtype`, a masked `match` value, character offsets, and a `confidence` level (`high`/`medium`/`low`). Treat `low` confidence hits as candidates to double check against context, not confirmed PII — e.g. a bare 5-digit number flagged as a possi