Ways to Use Privatiser: Web Tool, Browser Extension, VS Code, or Python
Updated
Privatiser runs entirely in your browser or local environment — nothing is sent to a server — and it ships in four delivery forms: a live web tool, a browser extension for Chrome and Firefox, a VS Code extension, and a Python package installed via pip install privatiser. Pick the web tool if you want to paste text manually and control exactly what gets redacted; pick the browser extension if you want anonymization to happen automatically the moment you paste into an AI chat; pick the VS Code extension if your sensitive text lives in code; pick the Python package if you want to script the process. All four share the same detection engine and the same reversible mapping model.
How the shared workflow works
Every entry point follows the same two-step loop, which is what makes the mapping portable across surfaces:
- Anonymize — paste or select text, and Privatiser replaces detected values with pseudonyms while keeping the surrounding structure intact.
- Deanonymize — paste the AI's reply back in, and the real values snap back using the local mapping.
The mapping is the key artifact. It's what makes the process reversible, and it stays on your machine. You can copy it as JSON, download it, or load it back from a file — so a mapping generated in one tool can be reused in another.
The four ways to use it
Web tool (live, in-browser)
The live tool is the most manual and the most controllable option. You paste text into an input pane and get a redacted copy plus a local mapping.
What you get that the other surfaces don't expose as directly:
- Detection categories you can toggle — Secrets & Keys, Network (IPs, Domains), PII (Phone, Cards), AWS Cloud (Azure, GCP), and Generic Identifiers.
- Pattern packs — Crypto (BTC, ETH, keys), Kubernetes, Terraform, Comms (Slack, Teams, Twilio), and Location & Coordinates.
- Custom words to redact — a comma-separated list that is always redacted regardless of pattern.
- Allowlist (never redact) — a comma-separated list of values that will never be redacted, useful for keeping placeholder values or public identifiers intact.
- Custom regex patterns — with a case-insensitive toggle, so you can add your own identifiers, secrets, PII, or network patterns.
- Redact selection — redact only the highlighted portion rather than the whole input.
- Saved presets — save, load, delete, export all, or import your configuration.
You also get Copy JSON and Download for the mapping, and Copy / Download for the output text. If you want to reuse a previous result, Use last output and Use last mapping are available, and you can Load from file for a mapping.
Choose this when you want to inspect and tune exactly what gets caught before sharing anything.
Browser extension (Chrome and Firefox)
The browser extension auto-anonymizes on paste into ChatGPT, Claude, Gemini, and other AI tools. It's the lowest-friction option: you don't change your workflow, you just paste as normal and the redaction happens on the way in.
- Chrome — available as a Chrome extension.
- Firefox — available as a Firefox add-on, with the same auto-anonymize behavior.
Choose this if your main risk is habitually pasting raw text into a chat window and you want protection without thinking about it. The trade-off is that you're not hand-picking categories per paste the way you can in the web tool.
VS Code extension
The VS Code extension anonymizes selections without leaving the editor. You highlight code or config, run the anonymize action, and get a redacted version you can paste elsewhere.
Choose this when the sensitive material is already in your editor — connection strings, .env values, cloud identifiers — and you'd rather not round-trip through a browser tab.
Python package
Install with:
pip install privatiser
Choose this if you want to anonymize as part of a script, pipeline, or batch process rather than interactively. It's the option for repeatable, programmatic use.
What all four surfaces detect
The detection coverage is shared, so this list applies regardless of which entry point you pick:
| Category | Examples from the tool |
|---|---|
| API keys & secrets | sk-proj-…, webhook_secret, slack_token = xoxb-… |
| Tokens | JWTs & bearer tokens, SSH / PEM keys |
| Network | IPs & internal domains (10.0.4.221:5432, monitoring.local:9090) |
| PII | Emails & MACs, credit cards (Luhn-checked), SSNs, passports, IBANs |
| Cloud | AWS / GCP / Azure IDs (arn:aws:iam::…, /subscriptions/0000-4000-…) |
| Regional | NHS, SWIFT, sort codes, vehicle plates & VINs, names & dates of birth |
The engine covers 30+ patterns across 13 languages, and the source description states it is an open-source engine. The page also lists an example set that includes passwords (DB_PASSWORD, mot_de_passe, contraseña), phone numbers, and card numbers — so the practical scope is "anything you'd regret pasting into a chat box."
Which one should you pick?
| If your situation is… | Use |
|---|---|
| You paste text manually and want to choose categories, add custom regex, or maintain an allowlist | Web tool |
| You paste into ChatGPT/Claude/Gemini constantly and want it handled automatically | Browser extension |
| The sensitive text is in your editor | VS Code extension |
| You need it in a script or batch job | Python package |
These aren't mutually exclusive. A common pattern is to use the browser extension for day-to-day chat use and the web tool when you need finer control — and because the mapping is exportable and loadable from a file, you can move a mapping between them.
Practical notes before you start
- Nothing leaves your machine. The page states local processing only and "0 bytes to any server." That's the core reason to use any of these surfaces over pasting raw text.
- Structure is preserved. Redaction replaces values without collapsing the surrounding format, so the AI still sees usable context.
- Reversibility depends on the mapping. If you lose the mapping, you can't restore the original values. Export or download it if the session matters.
- Custom words always win. Anything in the "Custom words to redact" list is redacted regardless of whether a pattern matched it — useful for internal project names or hostnames that no generic pattern would catch.
- The allowlist is your safety valve. If a pattern is over-matching something you need to keep (a public domain, a placeholder), add it to the allowlist rather than disabling the whole category.
Start with the surface that matches where your text already is. If you're unsure, the web tool is the most transparent place to see what gets caught before you commit to automating it.