Spaces:
Running
Running
|
Download README.md from promptshield/README: direct link, hf CLI and curl.
- Browser
- Download file 1.76 kB
-
https://huggingface.co/spaces/promptshield/README/resolve/main/README.md
- Command line
-
hf download hf://spaces/promptshield/README/README.md
-
curl -L -o README.md https://huggingface.co/spaces/promptshield/README/resolve/main/README.md
1.76 kB
| title: promptshield | |
| sdk: static | |
| pinned: false | |
| license: mit | |
| short_description: Document anonymization that runs on your device | |
| # promptShield | |
| 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. | |
| ## Models | |
| - **[bert-base-multilingual-cased-ner-hrl-latin](https://huggingface.co/promptshield/bert-base-multilingual-cased-ner-hrl-latin)** | |
| β Davlan's multilingual NER model with the vocabulary a Latin-script | |
| deployment can never tokenize removed. **178.5 MB β 139.6 MB with provably | |
| identical output**: 0 entity differences across 2,219 entities, max logit | |
| delta 0.0000000000. Not a distillation β no encoder weight is touched. | |
| ## The idea, if you only read one thing | |
| 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. | |
| π [promptshield.ca](https://promptshield.ca) | |