cd /news/ai-safety/i-built-an-extension-that-hides-your… · home topics ai-safety article
[ARTICLE · art-135007] src=github.com ↗ pub= topic=ai-safety verified=true sentiment=· neutral

I built an extension that hides your personal information from AI

Developer Arik Chakma released OpenCloak, an MIT-licensed Chrome extension that detects personal information in AI prompts on-device and swaps it for believable fakes before the text is sent. OpenCloak runs the gpu-pii detector on the user's GPU via WebGPU, requires Chrome 113 or later, and works with ChatGPT, Claude, Gemini, Perplexity, Grok and DeepSeek, with no server or account involved. The extension's guard currently covers only ChatGPT against pre-send character transmission, and Chakma warns the experimental model's clean scan means "nothing obvious found," not proof the text is safe to share.

read3 min views2 publishedSep 20, 2026
I built an extension that hides your personal information from AI
Image: Michielbdejong (auto-discovered)

Swap the personal details out of your AI prompts before they are sent.

OpenCloak reads a prompt on your own machine and finds the details that identify you. It then offers believable fakes in their place. The model runs on your GPU through WebGPU, so the text never leaves the device to be read.

Press Enter on ChatGPT, Claude, Gemini, Perplexity, Grok or DeepSeek, and OpenCloak holds the prompt. A card opens above the composer and shows the prompt as it would be sent. Each detail is a chip. You can untick a chip to keep the real value, or reroll it for a different fake. After you send, the reply comes back in your own terms, and OpenCloak marks each restored value with the fake that the model received.

Everything happens in the page. There is no server and no account.

  • The model runs on your GPU inside the page. Your prompt never leaves the device to be read.

  • ChatGPT sends the characters you type before you press send. A guard answers that request locally.

  • The card shows the prompt as it will really be sent. Nothing goes out until you agree.

  • A value always gets the same fake, so the conversation still makes sense.

  • Each restored value shows the fake the model received when you hover it.

  • Download the latest opencloak-<version>-chrome.zip fromreleases

  • Unzip it, since Chrome cannot load a zip directly

  • Open chrome://extensions and turn onDeveloper mode

  • Choose Load unpacked and pick the unzipped folder

  • Pin OpenCloak to the toolbar, so the icon opens the side panel

Detection needs WebGPU, which Chrome has had since version 113. If the card never appears, open chrome://gpu and look for WebGPU: Hardware accelerated.

pnpm install
pnpm dev
pnpm check
pnpm compile
pnpm build

pnpm install also copies the model files into public/. pnpm dev launches Chrome with the extension loaded and reloads it as you edit. pnpm build writes an unpacked build to .output/chrome-mv3, which you can load the same way as a release.

  • The model is experimental. Treat a clean scan as "nothing obvious found", not as proof that the text is safe to share.
  • The guard covers ChatGPT. Other sites can prefetch too, and none of them is handled yet.
  • To rewrite the prompt, OpenCloak tries execCommand("insertText") , then a synthetic paste, then writing the DOM directly. If none of them take, it refuses to send rather than let the real text through.
  • OpenCloak swaps a fake back wherever it appears in a reply. A fake that happens to be a common word can be restored somewhere you did not mean it to be.
  • Restoring real values in a streaming reply joins neighbouring text nodes, so a fake split across chunks is still caught. One split across two elements is not.
  • A switch in the side panel takes effect on the next page load.

OpenCloak builds on:

  • gpu-pii — the on-device detector. An experimental PII model trained from scratch, run through WebGPU.
  • NVIDIA Nemotron-PII — the training data behind that model, underCC BY 4.0 . Amy Steier, Andre Manoel, Alexa Haushalter, and Maarten Van Segbroeck.Nemotron-PII: Synthesized Data for Privacy-Preserving AI . NVIDIA, 2025.
  • WXT — the extension toolchain, for entrypoints, the shadow-root UI and the build.
  • Base UI — the switch and checkbox behavior, which survives being rendered inside a shadow root.
  • Faker — the replacement values.

MIT © Arik Chakma. The on-device model, its training data, and the libraries the extension bundles retain their own licenses, listed in THIRD_PARTY_NOTICES.md.

── more in #ai-safety 4 stories · sorted by recency
── more on @opencloak 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-built-an-extension…] indexed:0 read:3min 2026-09-20 ·