Document anonymization that never uploads your documents.
We build an offline PII detection and redaction tool for contracts, financial statements and medical records. The desktop app runs a local engine; the web app runs the entire pipeline in the browser — PDF parsing, OCR, entity detection and redaction — so a document never leaves the device it was opened on.
That constraint is why we publish here. Running detection client-side makes model size a product decision: every megabyte is a first-visit download, paid by the user before they have seen anything work.
In bert-base-multilingual-cased, the 119,547-token embedding table is ~92 MB
of the 178 MB file — more than half the model. Most deployments ship a handful
of the 104 languages it covers and download the rest anyway. Dropping the
unreachable rows is exact, not approximate: the embedding is per-tensor
quantized and read by a Gather, so surviving rows keep their values and their
dequantization.
Verified by comparing raw logits, not entity lists — those can agree by luck.