PII Scrubber — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited PII Scrubber (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Personal data that reaches logs, analytics, prompts, or exports is a liability that outlives the feature that leaked it - retention systems copy it, backups preserve it, and deletion requests cannot find it. The outcome of this skill is a scrubbing setup that catches PII at the boundary and redacts it in the least destructive mode that still protects the person. The costly mistake it prevents is redacting so naively that either PII slips through in free text or the data becomes useless for the job it was collected for.
Detection precedes mode selection because the right redaction depends on what the downstream consumer needs from each field - decide per field, not per dataset.
Names, emails, phone numbers, postal addresses, government IDs (SSN, passport), dates of birth, credit card and bank account numbers, IP addresses, MAC addresses, geolocation, biometric references, medical record numbers, vehicle plates, usernames, device IDs, URLs with embedded tokens, and free-text quasi-identifiers.
email: [^\s@]+@[^\s@]+\.[^\s@]+
card: \b(?:\d[ -]?){13,16}\b then Luhn-validate
ipv4: \b\d{1,3}(\.\d{1,3}){3}\bDefault to the most aggressive mode that still serves the downstream need. If nobody can say why a field is needed, remove it.
Scrub before logging, before sending to third parties, before LLM prompts - never after the data is already at rest in the destination. Maintain an allowlist of fields safe to emit rather than a blocklist of bad ones: blocklists fail open when a new field appears; allowlists fail closed.
Pull a random sample of at least 100 scrubbed records (or 1% of the dataset, whichever is larger) and review for false negatives - typos, unusual formats, and free-text leaks that patterns miss. Combine NER with patterns and repeat sampling after any format change in the source.
Bad - raw PII straight into the log store:
INFO payment failed for [email protected] card 4111111111111111 from 203.0.113.42Good - tokenized user, masked card, generalized IP, still debuggable and joinable:
INFO payment failed user=USER_a1b2 card=****1111 ip=203.0.113.0/24 error=insufficient_fundsThe good line supports the two real jobs - joining this user's events (stable token) and support lookup (last 4) - while carrying no recoverable PII. Never log the raw value alongside the redacted one; that pattern silently defeats the entire pipeline.
Produce a scrubbing specification containing: the field inventory with a PII category per field, the detection layer and validation applied to each, the chosen redaction mode per field with the downstream justification, the boundary points where scrubbing executes, and the sampling verification plan with its false-negative findings.
This skill is not legal advice; for regime-specific obligations (GDPR lawful basis, HIPAA de-identification standards, CCPA service-provider terms) involve privacy counsel or a compliance officer. Credentials and API keys found while scrubbing route to secrets-hygiene immediately. If scrubbed datasets feed model training or evaluation, pair with llm-evaluation for the downstream quality checks.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.