The model is yours. It cannot be shut down.
OSSRedact is open source and open weights, end to end. The detector runs on your machine, the weights are downloadable, and the whole gateway is yours to read, run, and fork. No vendor can revoke it, meter it, or change the terms underneath you.
You hold the weights.
A hosted detector is access: someone else runs the model and you ask permission every time. Open weights are custody. The trained model is a file you download once and own from then on.
Runs offline
Detection never needs a network. Pull the cable and it behaves exactly the same.
Cannot be revoked
There is no license server to call home to. A copy on your disk stays yours.
Yours to fork
Read the weights, fine-tune them, ship your own build. No permission required.
Why it cannot be shut down.
The difference is not a checkbox in a privacy policy. It is who holds the model -- and everything that follows from that.
Access you can lose.
- A vendor runs it on their servers
- Your text leaves your network to be scored
- Access can be revoked, throttled, or repriced
- Terms change, and you accept them or leave
- The model can be deprecated without notice
- You cannot read what scores your data
Custody you keep.
- It runs on your own CPU, GPU, or NPU
- Your text never leaves the machine
- A downloaded copy is yours, permanently
- The license is MIT and does not change
- The version you hold keeps working forever
- Every line and every weight is open to read
Built for French-Quebec data, and the law around it.
The moat is not a bigger model. It is one trained for French-Quebec PII -- RAMQ, social insurance, SAAQ -- where generic detectors rely on rules and models that were never trained for Quebec French. And because it redacts on your machine, the data stays on the right side of Law 25.
- government_id
RAMQ health insurance number
« Numéro d'assurance maladie »
- government_id
Social insurance number (NAS)
« Numéro d'assurance sociale »
- government_id
SAAQ driver's licence
« Permis de conduire »
- postal_code
Quebec postal code (G / H / J)
« Code postal du Québec »
Quebec government IDs map to government_id -- catastrophic, always redacted. The French side is not an afterthought:
- 0.980
- French recall
- 0.978
- English recall
Detection recall on the synthetic Quebec validation set. Trained and validated on synthetic data only; broader real-world domains are future work.
Nothing to disclose if nothing crosses the line.
Quebec's Law 25 holds you accountable for the personal information you disclose to a third party, including a model provider outside Quebec.
OSSRedact moves detection and redaction onto your machine, before the request is sent. The personal information Law 25 protects never crosses the boundary, so there is nothing disclosed to account for.
This is the engineering posture, not legal advice.
Three parts, all open.
OSSRedact is a model suite, a local app, and this site. Each piece stands on its own and every piece is open.
The pattern is not new. The combination is ours.
Redact-and-rehydrate proxies exist, and so do strong PII detectors. A privacy tool that pretends to have invented the category is the kind you should not trust, so here is the prior art.
An established toolkit for detecting and de-identifying PII with rules and NER.
Security scanners for LLM input and output, including anonymize and de-anonymize.
A redact-then-rehydrate wrapper around model calls -- the same round-trip idea.
A gateway pattern for controlling what model traffic is allowed to leave.
What is distinct here: a trained French-Quebec and English PII model, on open weights, running on-device, behind an always-on deterministic floor for secrets and structured identifiers. Not a new idea -- a specific, auditable build of it for a language pair the generic tools handle poorly.
MIT, end to end.
The gate, the workbench, and the model weights all ship under the MIT license. The LICENSE file, the package manifest, and the model card all agree -- read it, run it, fork it, ship it.
Read it, run it, fork it. The whole gateway is open.
Open weights on HuggingFace, MIT-licensed code on GitHub, and a live demo that runs in your browser.