A small, dependency-free PII scrubber for text, logs, and LLM prompts/outputs. Catches emails, phone numbers, SSNs, IPv4 addresses, and credit-card numbers — with Luhn validation so random 16-digit IDs don't get flagged as cards.
pip install -e .from piiredactor import redact, find
redact("Email a@b.com, SSN 123-45-6789, card 4111 1111 1111 1111")
# 'Email [REDACTED], SSN [REDACTED], card [REDACTED]'
find("ip 10.0.0.1 mail x@y.io")
# [{'type': 'ipv4', ...}, {'type': 'email', ...}]Overlapping matches are resolved to non-overlapping spans. MIT licensed.