@lucianfialho/pii-filter
Deterministic PII filtering for JSON payloads — redact or pseudonymize personal data before passing to LLMs or storing in logs.
Install
npm install @lucianfialho/pii-filter
Usage
import { filterPii } from "@lucianfialho/pii-filter";
filterPii({ email: "user@example.com", age: 30 }, { mode: "redact" });
filterPii({ email: "user@example.com" }, { mode: "pseudonymize", salt: process.env.PII_SALT! });
Modes
redact | [REDACTED] or [PRIVATE_EMAIL] | Anonymization — outside GDPR scope |
pseudonymize | [sha256hex] | Pseudonymization — reduced obligations (requires secret salt) |
What gets detected
By field name: email, phone, cpf, cnpj, password, token, api_key, name, address, birth_date, and more.
By value pattern (regex): emails, Brazilian phone numbers, CPF, CNPJ, credit card numbers, API keys/secrets in key=value format.
GDPR note
pseudonymize mode with a secret salt approximates anonymization — without the salt, hashes cannot be reversed. Keep PII_SALT secret and never log it.