@voidrco/redaction
v1.0.1
Published
Sensitive data (PII) detection and redaction for JavaScript/TypeScript. Zero dependencies, works in Node, browsers, React Native.
Readme
@voidrco/redaction
Detecção e redaction de dados sensíveis (PII) para JavaScript/TypeScript, por Voidr. Zero dependências, síncrono, roda em Node.js, browsers e React Native.
Um único package para mascarar PII em qualquer ponto do stack: texto livre, objetos JSON, headers HTTP, URLs, bodies de requisição e saídas de agentes.
Instalação
npm install @voidrco/redactionRequer Node ≥ 18. Em runtime roda em qualquer engine JS moderna (nenhum regex usa lookbehind — compatível com JavaScriptCore e Hermes).
Uso rápido
import { redact, redactObject, analyze } from "@voidrco/redaction";
redact("cliente cpf 529.982.247-25, cartão 4111 1111 1111 1111");
// → "cliente cpf <CPF>, cartão <CREDIT_CARD>"
redactObject({
senha: "hunter2", // chave proibida → sempre redigida
observacao: "email [email protected]", // valor analisado por padrão
});
// → { senha: "<SENSITIVE_KEY>", observacao: "email <EMAIL_ADDRESS>" }
analyze("cpf 529.982.247-25");
// → [{ entityType: "CPF", start: 4, end: 18, score: 1, ... }]Payloads HTTP e egress
import { redactHeaders, redactUrl, redactBody, EgressRedactor } from "@voidrco/redaction";redactHeaders, redactUrl e redactBody cobrem tráfego de rede, logs de
acesso e afins. EgressRedactor mantém estado aprendido para saídas de banco e
pipelines de agente.
Entidades detectadas por padrão
CPF, CNPJ (incl. alfanumérico), CEP, PHONE_NUMBER (BR e US), RG,
DATE, US_SSN, EMAIL_ADDRESS, CREDIT_CARD, IBAN_CODE, IP_ADDRESS
(IPv4/IPv6), URL, CRYPTO, JWT.
Detecções com checksum (CPF, CNPJ, cartão via Luhn, IBAN via mod-97) são
validadas; palavras de contexto próximas ajustam o score. Só o que passa do
scoreThreshold (default 0.4) é redigido. É possível estender com
recognizers customizados, denylist de chaves e operators próprios.
Documentação
Documentação completa em docs.voidr.co.
Licença
Proprietária — veja o arquivo LICENSE.
