Website profiles · Technology insights · Alternatives

privatiser.net

Privatiser anonymizes IPs, API keys, passwords, PII, and cloud identifiers before you paste into AI. Runs entirely in your browser. Nothing leaves your machine.

No paid content found
Visit website
Profile views 8 Outbound visits 1 Normal
Privatiser Full homepage screenshot

At a glance

Category
Artificial Intelligence
Language
English
Paid-content signal
No paid content foundObserved
Registered
2026
Hosting
CloudflareInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is Privatiser?

Privatiser is a browser-based tool for stripping sensitive data out of text before you paste it into an AI chat. It detects things like API keys, JWTs, SSH keys, IP addresses and internal domains, emails, credit cards, SSNs, passports and IBANs, then replaces them with pseudonyms and hands you a local mapping file. Paste the AI's reply back into its Deanonymize panel and the real values snap back into place.

The core trade-off is deliberate: detection runs entirely in your browser, so nothing is sent to a server, but that also means you are responsible for keeping the mapping file safe—it is the key that reverses the redaction.

Who it suits

  • Developers pasting config, connection strings, or logs into a chatbot for debugging help
  • Anyone handling customer data, support tickets, or contracts who wants a second pair of eyes from an AI without leaking identifiers
  • Teams that need consistent redaction rules, since custom words, allowlists, and regex patterns can be saved as presets

Practical scenario

You are debugging a failing deployment and want an AI to read your environment file. Running it through Privatiser turns DB_PASSWORD, the Postgres URL, and the AWS account ID into stable placeholders. The AI still sees the structure and can spot the mistake; you keep the mapping locally and restore the true values in the answer.

Things to weigh

  • Coverage is pattern-based, so unusual formats or context-dependent identifiers can slip through—review the output before sharing
  • Reversibility is a feature, not a guarantee: if the mapping leaks, the redaction is undone
  • There are browser, VS Code, and Python routes, so it can fit into an editor or script workflow rather than only manual pasting

If you want to test it against your own data, paste a sample containing a fake key and a fake email into the live tool and check the redacted output and mapping before trusting it with anything real.

How does Privatiser keep my sensitive data from leaving my machine when I use AI tools?

Privatiser works by redacting sensitive values in your browser before any text reaches an AI tool, and by keeping the mapping between fake and real values on your own device. According to its page, it runs locally: "nothing leaves your machine," and it reports "0 bytes to any server." So the flow is: you paste text into Privatiser, it swaps secrets and identifiers for stand-in values, you copy the anonymized version into ChatGPT, Claude, Gemini or a similar tool, and you use the local mapping to restore the real values afterward.

What gets replaced

The page lists these detection categories and examples:

  • Secrets and keys: API keys, JWTs and bearer tokens, SSH/PEM keys, Slack tokens, webhook secrets, passwords
  • Network: IPs and internal domains, MAC addresses
  • PII: emails, phone numbers, credit cards (Luhn-checked), SSNs, passports, IBANs, NHS and SWIFT numbers, sort codes, vehicle plates and VINs, names and dates of birth
  • Cloud: AWS, GCP and Azure identifiers, ARNs, subscription paths
  • Optional packs: crypto addresses and keys, Kubernetes, Terraform, comms platforms, location and coordinates

It also supports custom words to always redact, an allowlist of values never to redact, and custom regex patterns.

Why the reversibility matters

Anonymizing without a mapping usually means you lose the ability to read the AI's answer in context. Privatiser keeps a local mapping so you can paste the AI's reply into its Deanonymize view and have the real values snap back. The trade-off is that the mapping itself is sensitive: if you export it or leave it in a shared clipboard, the protection is undone. Keep mappings local and delete them when the task is finished.

Practical scenario

A developer debugging a database error would paste a connection string like postgres://admin:[email protected]:5432 into an AI chat. Privatiser replaces the host, credentials and any embedded tokens, so the AI can still reason about the error structure without seeing the real endpoint or password. The developer then restores the real values in the AI's suggested fix.

The limits to weigh

Local processing protects against the AI vendor seeing your raw text, but it does not protect against everything. If you paste the anonymized text into a hosted model, that model still receives the surrounding context, and anonymized identifiers can sometimes be re-identified from context. Detection is pattern-based, so unusual formats, free-form names, or secrets split across lines may slip through. The page's own advice is to review the redacted output before sending it.

Next step

Try it on a single realistic snippet rather than a whole file: paste a config block or log line, check the redacted output for anything missed, then copy that into your AI tool. If you want the same behavior without a separate tab, the page points to browser extensions for Chrome and Firefox that auto-anonymize on paste, plus a VS Code extension and a Python package.

What types of sensitive information can Privatiser detect and redact?

Privatiser detects and redacts a broad set of sensitive values in text before you paste it into an AI tool, replacing each with a placeholder while keeping the surrounding structure intact. According to the site, detection runs entirely in your browser, and the redaction is reversible through a local mapping.

Detection categories

  • Secrets and keys: API keys (including patterns like sk-proj-...), generic secrets and passwords, JWTs and bearer tokens, SSH/PEM keys, webhook secrets, and tokens such as Slack tokens (xoxb-...).
  • Network identifiers: IP addresses (public and private, e.g. 10.0.4.221, 192.168.1.100), internal domains and hostnames, and MAC addresses.
  • Personal data (PII): Email addresses, phone numbers, credit card numbers (Luhn-checked), SSNs, passports, IBANs, SWIFT codes, sort codes, NHS numbers, vehicle plates and VINs, names, and dates of birth.
  • Cloud identifiers: AWS identifiers such as access key IDs (AKIA...) and ARNs, plus GCP and Azure identifiers.
  • Other identifiers: Generic identifiers such as UUIDs and subscription-style resource paths, and crypto addresses (BTC, ETH).

Practical notes

  • Languages and breadth: The site lists 30+ patterns across 13 languages, so non-English text and locale-specific formats (for example, IBANs or national ID numbers) are covered alongside English ones.
  • Pattern packs: Optional packs extend coverage to areas like Kubernetes, Terraform, and communications services (Slack, Teams, Twilio), plus location and coordinates.
  • Custom control: You can add custom regex patterns, a custom word list that is always redacted, and an allowlist of values that should never be redacted — useful when a project name or test account looks like a secret.
  • Reversibility: Output comes with a mapping you can copy or download; pasting the AI's reply back into the Deanonymize view restores the original values locally.

Next step: If you handle regulated data, test with a representative sample first — paste a snippet containing one real secret, one internal hostname, and one customer record, then confirm each appears as a placeholder and that Deanonymize restores them exactly. For a quick sanity check on a browser-based workflow, see Privatiser.

How do I restore the original values from an anonymized AI response?

Use the Deanonymize tab with the mapping that was generated when you anonymized the text. In Privatiser, anonymizing produces two things: a redacted copy to paste into the AI, and a local mapping of pseudonyms to originals. After the AI replies, paste that reply into Deanonymize and every real value is substituted back. The mapping can also be copied as JSON, downloaded, or reloaded from a file later.

The practical workflow

  1. Paste your text into the Anonymize tab and turn on the categories you need.
  2. Copy the redacted output into the AI chat — never the original.
  3. When the reply comes back, switch to Deanonymize.
  4. Paste the reply. If the mapping is still loaded, the real values reappear automatically.
  5. If you're in a new session, load the saved mapping file (or paste the mapping JSON) first.

Where this breaks down

Restoration only works if two conditions hold. The pseudonyms must survive the AI's reply unchanged, and you must still have the matching mapping. Watch for:

  • The AI rewrites or paraphrases the tokens. A model that "cleans up" or reformats placeholders can produce values the mapping no longer matches, and those stay redacted.
  • You lose or overwrite the mapping. Each anonymization run has its own mapping. Load the wrong one and you'll restore the wrong values, or nothing.
  • You cleared the session. The tool runs entirely in the browser and sends nothing to a server, so there is no remote copy to recover from. Export the mapping before closing the tab.

A concrete scenario

A developer pastes a database connection string and an AWS key into an AI assistant to debug a config. The output comes back with the host, credentials and key replaced by placeholders. They paste the reply into Deanonymize, the real connection values snap back, and the corrected config can be saved straight to the repo. If they had instead pasted the reply into a text editor and only later opened Deanonymize, they would need the exported mapping JSON to get the same result.

When to save the mapping instead of relying on the session

Save or export the mapping whenever the round trip spans more than a few minutes, involves another person, or crosses devices. The browser extension auto-anonymizes on paste into ChatGPT, Claude and Gemini, which shortens the loop but doesn't change the rule: the reply must go back through Deanonymize with the same mapping. For editor-based work, the VS Code extension covers the same ground without leaving the IDE.

For teams comparing redaction approaches, it's worth knowing that some tools only mask and never restore — Privatiser is built around the reversible mapping, which is what makes the deanonymize step possible at all.

Can I use Privatiser directly inside ChatGPT, VS Code, or other tools I already work in?

Yes—Privatiser is designed to work where you already type, not only on its own site. The page lists three integration routes plus a Python package, and the core engine runs locally in your browser, so text isn't sent to a Privatiser server before you paste it into an AI tool.

Where it plugs in

Environment How it works Best for
ChatGPT, Claude, Gemini and similar Browser extension auto-anonymizes on paste Chat-style AI use where you paste logs, configs or customer data
Firefox Separate Firefox add-on with the same auto-anonymize behavior Firefox users who don't want a Chromium browser
VS Code Extension anonymizes selected text without leaving the editor Developers redacting code, env files or stack traces before sharing
Python workflows pip install privatiser Scripted or pipeline-based redaction

The page also describes a live tool with Anonymize and Deanonymize modes, a mapping you can copy or download as JSON, and 30+ detection patterns across 13 languages. That reversibility matters: you keep a local mapping, paste the redacted text into the AI, then paste the reply back into Deanonymize to restore real values.

What this means in practice

A support engineer pasting a production log into ChatGPT can let the extension swap out IPs, emails, tokens and card numbers automatically. A developer reviewing a .env file in VS Code can anonymize the selection, ask an AI assistant about the error, then restore the secrets locally. The trade-off is that you must keep the mapping safe—it is the key that undoes the redaction—and pattern-based detection can miss unusual formats, so use the custom words and custom regex fields for anything organization-specific.

Start by checking the extension or add-on for your main browser, then test with one real but low-risk snippet: paste it, confirm the mapping restores correctly, and only then use it on sensitive material. For a second opinion on browser-side redaction tools, see Privatiser.

How do I add custom patterns or allowlist specific values that should never be redacted?

Use the Settings panel in Privatiser: add your own regex under Custom regex patterns, and put values that must stay readable under Allowlist (never redact). Both fields are comma-separated, and the custom pattern area has a Case insensitive toggle.

Custom patterns

  • Write the regex for the shape of the secret you want caught, not just one literal value.
  • Tick Case insensitive if the identifier can appear in different capitalisations.
  • Save the current configuration as a preset so a project's patterns can be reloaded later; presets can also be exported and imported.

Example: if your internal service tokens look like svc_ followed by 32 hex characters, a pattern such as svc_[0-9a-f]{32} catches every token in that family. A pattern matching only one exact token is brittle — the next rotated token slips through.

Allowlist

The allowlist is for values that match a detection category but are safe in context. Typical candidates:

  • Documentation examples and placeholder hosts, e.g. example.com or monitoring.local.
  • Public identifiers you need the model to reason about, such as a public support address or a published company phone number.
  • Test fixtures that are already fake, so redacting them only makes the prompt harder to read.

The allowlist wins regardless of which pattern matched, so it is the right tool when a built-in detector is technically correct but practically unhelpful.

Trade-offs to weigh

Approach Best for Main risk
Custom regex Organisation-specific token formats Too broad a pattern redacts harmless text; too narrow misses rotated values
Allowlist Known-safe values in a specific task A value allowlisted once stays visible in every later session, including ones where it is sensitive

Allowlisting is a standing decision, not a per-paste one. Before adding an email address or hostname, ask whether it would still be fine to expose in a different conversation, because the setting persists.

A practical next step

Paste a representative sample of your real text, add one custom pattern and one or two allowlist entries, then check the redaction count and the mapping output. If a value you expected to be caught appears untouched in the anonymised text, widen the pattern; if something harmless disappears, move it to the allowlist. Do this against a sample that contains the awkward cases — nested config, mixed languages, tokens inside URLs — rather than a clean example, since that is where pattern boundaries usually fail.

Related questions

More questions →
How to Customize Privatiser Detection with Custom Words, Allowlists, and Regex

Privatiser's Settings panel gives you four levers to tune detection: Custom words to redact (always redacted, regardless of pattern), Allowlist (never redacted), Custom regex patterns (with a case-insensitive toggle), and Saved presets (save, load, delete, export, import). All of this runs locally in your browser — the site states "Local processing only — nothing leaves your machine," so your rules and the text they touch stay on your machine.

Where these controls live

Open the Settings tab (the tool has Try it / Anonymize / Deanonymize / Settings views). The relevant fields are:

Control Input format Effect
Custom words to redact Comma-separated Always redacted, regardless of pattern
Allowlist (never redact) Comma-separated These values will never be redacted
Custom regex patterns One pattern per entry, with a Case insensitive option Adds your own detection rules
Saved presets Save current / Load / Delete / Export all / Import Persist and move your configuration

Alongside these, the built-in Detection categories (Secrets & Keys, Network, PII, AWS Cloud, Generic Identifiers) and Pattern packs (Crypto, Kubernetes, Terraform, Comms, Location & Coordinates) stay on unless you turn them off — your custom rules layer on top of them.

Force-redact terms with Custom words

Use this when a value matters to you but no built-in pattern would catch it — internal project codenames, a hostname that doesn't match the Network rules, a customer name.

  1. Go to Settings.
  2. In Custom words to redact, enter the terms separated by commas, e.g. ProjectFalcon, acme-internal, ticket-4471.
  3. Return to Anonymize and paste your text.

Expected result: every listed term is replaced in the anonymized output and recorded in the mapping, so Deanonymize restores it. Because the rule is unconditional, a term here is redacted even if it would otherwise look harmless.

Stop false positives with the Allowlist

Use this when a pattern is over-matching something you need to keep readable — a public company name that trips the Names rule, a documentation IP like 192.0.2.1, a sample card number in a tutorial.

  1. In Settings, find Allowlist (never redact).
  2. Enter the values separated by commas.
  3. Re-run Anonymize on the same text.

Expected result: those values pass through untouched while everything else is still redacted. The allowlist wins over detection, so it's the right tool for "this looks sensitive but isn't."

A practical ordering note: if a value appears in both lists, treat the allowlist as your safety net and keep the two lists disjoint to avoid guessing which rule applies.

Add your own patterns with Custom regex

Use this for structured identifiers your organization uses that aren't in the built-in set — an internal ID format, a ticket prefix, a proprietary token shape.

  1. In Settings, open the Custom regex patterns area and choose the identifier type it belongs to (Identifiers, Secrets, PII, or Network) via Add pattern.
  2. Enter the regular expression.
  3. Enable Case insensitive if the format varies in casing.
  4. Test against a sample in Anonymize and confirm the match count and the mapping entry.

Expected result: matches are redacted like any built-in pattern and appear in the mapping JSON. Keep patterns anchored and specific — a loose expression will redact far more than intended, and the allowlist is your correction path if it does.

Save, reuse, and move your configuration

Once the rules fit your workflow:

  • Save current stores the configuration as a preset; Load reapplies it; Delete removes it.
  • Export all and Import move your full configuration between browsers or machines.

This matters because the tool is also available as a browser extension (Chrome, Firefox), a VS Code extension, and a Python package (pip install privatiser) — a preset you export from the web tool is the portable record of your rules.

Common snags

  • Comma-separated means commas are separators. A term containing a comma can't be entered as a single custom word this way.
  • Custom words are unconditional. If you add something to the redact list and later want it visible, remove it there rather than expecting the allowlist to override it.
  • Regex is the highest-risk control. Add one pattern at a time and verify the match count before adding the next.
  • Presets are your rollback. Save a known-good preset before experimenting with regex so you can reload it if detection goes wrong.

Quick decision guide

Goal Use
Redact a term no pattern catches Custom words to redact
Keep a value visible despite a matching pattern Allowlist
Detect a structured format unique to you Custom regex patterns (+ Case insensitive)
Reuse or transfer your setup Saved presets / Export all / Import
What types of sensitive data can Privatiser detect and anonymize?

Privatiser is a browser-based tool that strips sensitive values from text before you paste it into an AI chat, then lets you restore the real values from a local mapping afterward. It detects 30+ patterns across 13 languages, covering secrets and keys, network and cloud identifiers, and personal identity data. Everything runs locally in your browser — the site states "nothing leaves your machine" and "0 bytes to any server," so the redaction happens on your device rather than on a remote service.

Secrets and keys

These are the credentials that most often leak by accident when developers paste config or logs into an AI assistant:

  • API keys and secrets — including provider-prefixed keys such as sk-proj-... (OpenAI-style) and generic assignments like DB_PASSWORD = "..." or webhook_secret = "...".
  • JWTs and bearer tokens — the eyJ... header-payload-signature strings, plus Bearer tokens.
  • SSH / PEM keys — private key blocks.
  • Slack tokens — e.g. xoxb-....
  • Generic identifiers — passwords written in English, French, or Spanish (mot_de_passe, contraseña), which the sample input shows being caught.

Network and cloud identifiers

Useful when you're debugging infrastructure and want to share a config without exposing your topology:

  • IP addresses — both public and internal ranges (e.g. 10.0.4.221, 192.168.1.100).
  • Internal domains — hostnames like monitoring.local:9090.
  • MAC addresses.
  • Cloud resource IDs — AWS ARNs (arn:aws:iam::...), plus AWS, GCP, and Azure identifiers, and Azure-style resource paths such as /subscriptions/0000-4000-a000-0001/prod.

Personal identity data (PII)

For text that contains customer or personal records:

  • Emails and phone numbers (including international formats like +44 ...).
  • Credit cards — validated with the Luhn check, so random 16-digit strings aren't flagged by mistake.
  • SSNs, passports, IBANs — e.g. 078-05-1120, A1234567, GB29 NWBK ....
  • Vehicle plates and VINs.
  • Names and dates of birth.
  • UK-specific identifiers — NHS numbers, SWIFT codes, sort codes.

Optional pattern packs and custom rules

Beyond the built-in categories, you can enable extra pattern packs for domain-specific work:

Pack What it targets
Crypto BTC, ETH, and key material
Kubernetes K8s resource identifiers
Terraform IaC-specific values
Comms Slack, Teams, Twilio tokens
Location Coordinates

You can also add custom regex patterns (with a case-insensitive option) and a custom words to redact list for anything not covered by a pack. A separate allowlist lets you mark values that should never be redacted, so you don't accidentally strip something you need to keep.

How to check it fits your case

  1. Open the live tool on the site and paste a representative sample of the text you'd normally share with an AI.
  2. Confirm the values you care about appear in the redacted output. If a pattern is missing, add it under Custom regex patterns or Custom words to redact.
  3. Note that detection is pattern-based, not semantic — it catches structured formats (keys, IPs, card numbers) reliably, but free-form names or unusual formats may need a custom rule.
  4. If you want the same behavior without copy-pasting, the browser extension auto-anonymizes on paste into ChatGPT, Claude, Gemini, and others; there's also a VS Code extension and a Python package (pip install privatiser).

The practical takeaway: if your sensitive data is structured — credentials, network addresses, cloud IDs, or standard PII formats — Privatiser's built-in patterns will likely cover it. If it's unstructured or domain-specific, plan on adding custom regex or a word list.

Ways to Use Privatiser: Web Tool, Browser Extension, VS Code, or Python

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:

  1. Anonymize — paste or select text, and Privatiser replaces detected values with pseudonyms while keeping the surrounding structure intact.
  2. 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.

How does Privatiser anonymize and deanonymize text locally?

Privatiser replaces sensitive values in text you paste into it with stand-in tokens, produces a redacted copy plus a local mapping, and runs the whole process in your browser — the site states "0 bytes to any server" and "Local processing only — nothing leaves your machine." You then paste the AI's reply back into the Deanonymize view, and the real values are restored from that mapping. This works for any workflow where you want to send text to an AI tool without exposing secrets, credentials, or personal data.

What happens when you anonymize

The tool scans pasted text against a set of built-in detection patterns and swaps each match for a pseudonym, keeping the surrounding structure intact. The page lists 30+ patterns across 13 languages, and the detection categories include:

  • Secrets & keys — API keys, JWTs and bearer tokens, SSH/PEM keys, generic secrets
  • Network — IPs, internal domains, MAC addresses
  • PII — emails, phone numbers, credit cards (Luhn-checked), SSNs, passports, IBANs, names, dates of birth
  • Cloud identifiers — AWS, GCP, and Azure IDs
  • Pattern packs — crypto (BTC, ETH, keys), Kubernetes, Terraform, comms (Slack, Teams, Twilio), location and coordinates

The example text on the site shows this in practice: values like DB_PASSWORD = "super_s3cr3t_passw0rd!", 10.0.4.221:5432, AKIAIOSFODNN7EXAMPLE, a postgres://admin:... connection string, and a sk-proj-... key are all candidates for replacement.

You can narrow or widen what gets caught:

  • Custom words to redact — comma-separated values that are always redacted regardless of pattern
  • Allowlist — comma-separated values that are never redacted
  • Custom regex patterns — with a case-insensitive toggle, grouped under Identifiers, Secrets, PII, or Network

The output pane shows a redacted count and gives you Copy and Download actions, plus a separate Mapping panel with Copy JSON and Download.

What the mapping is for

Anonymizing alone would make the AI's answer useless, because it would refer to tokens instead of your real values. The mapping is the bridge: it records which pseudonym stands for which original value, and it stays on your machine.

You can manage it in a few ways:

  • Copy the mapping as JSON
  • Download it to a file
  • Load it back from a file later
  • Save, load, and delete named presets, or export and import all of them

Because the mapping is a file you control, you can keep it for a session, store it for a recurring workflow, or discard it once you're done.

How deanonymization works

  1. Paste your text into the input area and run Anonymize. You get a redacted copy.
  2. Send the redacted copy to your AI tool of choice.
  3. Paste the AI's reply into the Deanonymize view.
  4. The tool applies the mapping and returns the restored output, which you can copy.

The Deanonymize view offers Use last output and Use last mapping so you don't have to re-paste either one, and Load from file if you saved the mapping earlier. The site's own summary of the loop: "Paste in, get a redacted copy plus a local mapping — paste the AI's reply back into Deanonymize and every real value snaps back."

Where it runs

The processing is client-side. The site states "Local processing only — nothing leaves your machine" and "0 bytes to any server," and describes the engine as open source. That matters because the alternative — pasting credentials into a hosted redaction service — would move the exposure rather than remove it.

The same engine is available outside the browser tab:

  • Browser extension — auto-anonymizes on paste into ChatGPT, Claude, Gemini and others (Chrome; a Firefox add-on offers the same behavior)
  • VS Code extension — anonymize selections without leaving the editor
  • Python package — pip install privatiser

Practical caveats

  • Detection is pattern-based, so review the output. The coverage list is broad, but anything that doesn't match a pattern, a custom word, or a custom regex will pass through. The custom words and custom regex fields exist precisely for values your data has that the built-in patterns don't know about.
  • The allowlist cuts both ways. A value on the allowlist is never redacted, so don't put anything there that you actually need hidden.
  • Keep the mapping private. It contains the original values by definition. Treat a downloaded mapping file the same way you'd treat the source text.
  • Deanonymization depends on the mapping. If you anonymize in one place and try to restore in another without the mapping, the tokens stay tokens. Use the JSON copy, the downloaded file, or the saved preset to carry it across.

The site's navigation lists a Pricing section, but the supplied page content doesn't state any prices, plan limits, or whether a login is required, so check the site directly for current terms.

What is Privatiser and what does it do?

Privatiser is a browser-based tool that strips sensitive data out of text before you paste it into an AI chatbot. It detects things like API keys, passwords, IP addresses, and personal identifiers, replaces them with pseudonyms, and keeps a local mapping so you can restore the real values later. Everything runs in your browser — the site states that nothing leaves your machine and that it sends 0 bytes to any server.

It fits a specific situation: you want an AI to help with a config file, a log snippet, a database connection string, or a support ticket, but the text contains secrets or personal data you can't share. Privatiser lets you hand over the useful structure without the sensitive values.

How the anonymize-and-restore loop works

The workflow has two halves, and the second is what makes it usable for real tasks:

  1. Anonymize — paste text into the input. Privatiser detects matching patterns and replaces each one with a pseudonym. You get a redacted copy plus a local mapping (shown as a mapping count, with options to copy or download the JSON).
  2. Send the redacted text to the AI — the structure is preserved, so the model can still reason about your config, code, or data shape.
  3. Deanonymize — paste the AI's reply back into the Deanonymize panel. Using the last mapping (or loading one from a file), every pseudonym snaps back to its real value.

The mapping is the key mechanism: it's what separates this from simply deleting sensitive text. Because the mapping stays local, the reversibility doesn't require sending anything anywhere.

What it detects

The tool advertises 30+ patterns across 13 languages. From the detection categories and examples on the page:

Category Examples shown
Secrets & keys DB_PASSWORD, webhook_secret, slack_token (xoxb-...), OpenAI-style keys (sk-proj-...), JWTs
Network IPs (10.0.4.221, 192.168.1.100), internal domains (monitoring.local:9090)
PII Emails, phone numbers, credit cards (Luhn-checked), SSNs, passports, IBANs
Cloud AWS ARNs (arn:aws:iam::...), Azure subscription IDs, GCP identifiers
Other identifiers Vehicle plates, VINs, names, dates of birth

Optional pattern packs extend coverage to Crypto (BTC, ETH, keys), Kubernetes, Terraform, Comms (Slack, Teams, Twilio), and Location & Coordinates.

Controls that matter in practice

  • Custom words to redact — a comma-separated list that is always redacted regardless of pattern, useful for project names or internal codenames.
  • Allowlist — values that should never be redacted, so common words or public identifiers don't get masked by mistake.
  • Custom regex patterns — add your own detection rules, with a case-insensitive option.
  • Saved presets — save, load, delete, export, and import your configuration.
  • Redact selection — anonymize only a highlighted portion rather than the whole input.

Where you can run it

  • Live tool in the browser (the primary interface).
  • Browser extension — auto-anonymizes on paste into ChatGPT, Claude, Gemini and others; available for Chrome and as a Firefox add-on.
  • VS Code extension — anonymize selections without leaving the editor.
  • Python package — pip install privatiser.

When it's the right choice — and when it isn't

Privatiser is a good fit if your main concern is pasting sensitive text into a hosted AI service and you want a reversible, structure-preserving redaction that never uploads your data. The local-processing claim is the central selling point, and the deanonymize step means you don't lose the ability to map the AI's answer back onto real values.

It's less suited if you need server-side auditing, team-shared mappings, or centralized policy enforcement — the design is deliberately local and single-machine. The page also doesn't state pricing beyond a "PRO" label on the settings panel and a "Pricing" link, so check the site directly for what's free versus paid before relying on it for a workflow.

Website Overview

Page metadata, canonical configuration and social previews work together to provide more consistent search and sharing presentation.

Domain and Registration

The domain was registered less than a year ago and has limited historical evidence to assess. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Cloudflare, Inc., a widely used domain service provider. The domain uses the common .net extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Cloudflare Email Routing email service. DNSSEC is enabled, allowing validating resolvers to authenticate signed DNS data. No CNAME was found; the observed records resolve directly to addresses. SPF and DMARC are configured. DKIM status is unknown.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, Permissions-Policy, clickjacking protection. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies Cloudflare without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

Twitter Card metadata is configured. JSON-LD includes Organization data, helping describe the organization as an entity. The title has 60 characters, within a common display range. A meta description is present, with 160 characters. The observed directives allow indexing and link following.

Hosting and Email

DNSCloudflare
HostingCloudflare
EmailCloudflare Email Routing
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.21.37.122

Registration details

RDAP / WHOIS

RegistrarCloudflare, Inc.
Registered2026-02-15
Expires2027-02-15
Domain statusclient transfer prohibited
Nameserversharlan.ns.cloudflare.com、shubhi.ns.cloudflare.com
DNSSECsigned

DNS records

DNS

TypeNameValueTTLPriority
Aprivatiser.net104.21.37.122300—
Aprivatiser.net172.67.208.26300—
AAAAprivatiser.net2606:4700:3032::ac43:d01a300—
AAAAprivatiser.net2606:4700:3036::6815:257a300—
MXprivatiser.netroute3.mx.cloudflare.net30055
MXprivatiser.netroute2.mx.cloudflare.net30073
MXprivatiser.netroute1.mx.cloudflare.net30094
NSprivatiser.netharlan.ns.cloudflare.com86400—
NSprivatiser.netshubhi.ns.cloudflare.com86400—
TXTprivatiser.netgoogle-site-verification=WKdaT_V3VFHDzLGdZ3wRNQ7wicJwtMR7Q0b3W07_nqI300—
TXTprivatiser.netv=spf1 include:_spf.mx.cloudflare.net ~all300—
DSprivatiser.net2371 13 2 8b4563ba21b6abf1248981a282b327c37d546412e2a85cdae0284eb66589d0ff86400—
DMARC_dmarc.privatiser.netv=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;300—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectprivatiser.net
IssuerGoogle Trust Services
Valid until2026-11-10T02:49 · Remaining when checked: 34 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlpublic, max-age=0, must-revalidate
servercloudflare
strict-transport-securitymax-age=0; includeSubDomains; preload
x-content-type-optionsnosniff
referrer-policystrict-origin-when-cross-origin
access-control-allow-origin*

Identified technologies

Cloudflare

Pages, Search and Sharing

Meta descriptionPrivatiser anonymizes IPs, API keys, passwords, PII, and cloud identifiers before you paste into AI. Runs entirely in your browser. Nothing leaves your machine.
Canonical URLhttps://privatiser.net/
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 1 allowed · 0 disallowed
  • Allow/

User reviews (0)

  • No reviews yet.