{"slug": "i-built-an-extension-that-hides-your-personal-information-from-ai", "title": "I built an extension that hides your personal information from AI", "summary": "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.", "body_md": "Swap the personal details out of your AI prompts before they are sent.\n\nOpenCloak 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.\n\nPress 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.\n\nEverything happens in the page. There is no server and no account.\n\n- The model runs on your GPU inside the page. Your prompt never leaves the device to be read.\n- ChatGPT sends the characters you type before you press send. A guard answers that request locally.\n- The card shows the prompt as it will really be sent. Nothing goes out until you agree.\n- A value always gets the same fake, so the conversation still makes sense.\n- Each restored value shows the fake the model received when you hover it.\n\n- Download the latest `opencloak-<version>-chrome.zip` from[releases](https://github.com/arikchakma/opencloak/releases)\n- Unzip it, since Chrome cannot load a zip directly\n- Open `chrome://extensions` and turn on**Developer mode**\n- Choose **Load unpacked** and pick the unzipped folder\n- Pin OpenCloak to the toolbar, so the icon opens the side panel\n\nDetection needs WebGPU, which Chrome has had since version 113. If the card never appears,\nopen `chrome://gpu` and look for `WebGPU: Hardware accelerated`.\n\n```\npnpm install\npnpm dev\npnpm check\npnpm compile\npnpm build\n```\n\n`pnpm install` also copies the model files into `public/`. `pnpm dev` launches Chrome with\nthe extension loaded and reloads it as you edit. `pnpm build` writes an unpacked build to\n`.output/chrome-mv3`, which you can load the same way as a release.\n\n- The model is experimental. Treat a clean scan as \"nothing obvious found\", not as proof that the text is safe to share.\n- The guard covers ChatGPT. Other sites can prefetch too, and none of them is handled yet.\n- To rewrite the prompt, OpenCloak tries `execCommand(\"insertText\")` , then a synthetic\npaste, then writing the DOM directly. If none of them take, it refuses to send rather\nthan let the real text through.\n- 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.\n- 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.\n- A switch in the side panel takes effect on the next page load.\n\nOpenCloak builds on:\n\n- [gpu-pii](https://www.npmjs.com/package/gpu-pii) — the on-device detector. An\nexperimental PII model trained from scratch, run through WebGPU.\n- [NVIDIA Nemotron-PII](https://huggingface.co/datasets/nvidia/Nemotron-PII) — the training\ndata behind that model, under[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) . Amy Steier, Andre Manoel,\nAlexa Haushalter, and Maarten Van Segbroeck.*Nemotron-PII: Synthesized Data for\nPrivacy-Preserving AI* . NVIDIA, 2025.\n- [WXT](https://wxt.dev) — the extension toolchain, for entrypoints, the shadow-root UI and\nthe build.\n- [Base UI](https://base-ui.com) — the switch and checkbox behavior, which survives being\nrendered inside a shadow root.\n- [Faker](https://fakerjs.dev) — the replacement values.\n\nMIT © Arik Chakma. The on-device model, its training data, and the libraries the extension\nbundles retain their own licenses, listed in\n[THIRD_PARTY_NOTICES.md](https://github.com/arikchakma/opencloak/blob/main/THIRD_PARTY_NOTICES.md).", "url": "https://wpnews.pro/news/i-built-an-extension-that-hides-your-personal-information-from-ai", "canonical_source": "https://github.com/arikchakma/opencloak", "published_at": "2026-09-20 09:15:09+00:00", "updated_at": "2026-09-20 09:22:52.344521+00:00", "lang": "en", "topics": ["ai-safety", "ai-tools", "ai-products", "ai-agents", "artificial-intelligence"], "entities": ["OpenCloak", "Arik Chakma", "gpu-pii", "WebGPU", "ChatGPT", "Claude", "Gemini", "NVIDIA Nemotron-PII"], "alternates": {"html": "https://wpnews.pro/news/i-built-an-extension-that-hides-your-personal-information-from-ai", "markdown": "https://wpnews.pro/news/i-built-an-extension-that-hides-your-personal-information-from-ai.md", "text": "https://wpnews.pro/news/i-built-an-extension-that-hides-your-personal-information-from-ai.txt", "jsonld": "https://wpnews.pro/news/i-built-an-extension-that-hides-your-personal-information-from-ai.jsonld"}}