Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Privacy Filter

vigil-redaction provides two layers of defense in depth.

Layer 1 — Hard fingerprints

Fixed-prefix and structured-credential rules with 100% precision, zero ML dependency, and instant startup:

KindPattern
github_tokenghp_ / gho_ / ghu_ / ghs_ / ghr_ + 36
slack_webhookhooks.slack.com/services/T...
stripe_secretsk_live_ / sk_test_
google_api_keyAIza + 35
gitlab_patglpat- + 20
aws_access_keyAKIA + 16 uppercase
database_url<scheme>://user:password@host/db
private_keyPEM block
13 kinds total

Layer 2 — ONNX ensemble (opt-in, --features ort)

A 3-engine ensemble (OpenAI Privacy Filter + xlmr-pii-v1 for multilingual text + yonigo-pii-v1) for natural-language PII. Typical latency: cold ~11 s, warm p95 ~419 ms.

A per-(language, label) threshold profile calibrates recall vs. false positives — for example tightening zh.account_number cut a noisy false-positive cluster while improving F1.

The two layers merge fail-closed (hard fingerprints win on overlap). See ADR 0013.