shadow ai · browser extension · data privacy · chatgpt · security culture
How to stop pasting sensitive data into ChatGPT (without banning it)
Review sensitive drafts with Sether Shield: local text processing, Free essentials, optional Pro workflows and the limits of browser-side controls.
In this article
Sether™ / Field notes
shadow ai
Review the draft before Send.
Keep useful context while inspecting sensitive details.
Reduce accidental sharing by reviewing a draft before you send it. A browser-side guard can flag supported personal details and replace matched values in compatible editable fields. Sether Shield offers local text processing, Free essentials and optional Pro workflows in licensed releases. It edits page text; it is not a network filter or a guarantee that every sensitive detail is caught.
- People paste support tickets, customer lists, and config files with live keys into AI chats because it works. That incentive does not go away.
- A ban alone can leave users without an approved workflow. Pair policy with practical review tools and clear limits instead of assuming a browser guard covers every channel.
- Shield is a seatbelt: review supported matches and the edited draft before sending. It does not make a website unable to read its own input field.
- Shield processes prompts locally. Free essentials include scanning, masks, explicit redaction and known-mapping restore; new licensed releases add optional Pro decoys and custom controls. Licensing contacts Sether with account metadata, not prompt content. Current store builds may retain legacy free features.
- It protects humans at the chat box, not your API traffic. Your product's LLM calls need a library-side layer too.
What do people actually paste into ChatGPT?
A support ticket can contain a customer name and email. A customer list can include identifiers in ordinary columns. A copied configuration can contain a live key. The task may need the question or error message while needing very little of that identifying detail.
SetherThe idea, illustrated
Your map. Your side.
Replace detected details before sending. Restore recognized replacements using the matching retained map.
Fictional example. Detection can miss values; review the edited text. Watch the full Shield walkthroughNobody does this maliciously. They do it because it works: the model writes the reply, finds the bug, summarizes the list. The sensitive data was just along for the ride, and once it is sent, you cannot unsend it.
This is a different problem from your product's own API calls to OpenAI or Anthropic. Those run through code you control and are covered in our complete guide to PII redaction for LLM apps. This post is about the humans and their browsers.
Why do blanket bans fail?
A restriction is easier to follow when people have an approved way to do the task. Without one, someone may switch to an unmanaged account or device. That is a risk to plan for, not a claim that every ban or every team behaves the same way.
Give users a clear alternative: which tasks are allowed, which details to remove, how to review replacements and when not to send a request at all. A browser control supports that workflow; it does not replace organization policy or device controls.
The seatbelt analogy is useful if its limits stay visible. The guard helps at the moment a person reviews a draft. It does not turn every AI use into an approved use, and it cannot protect channels it does not inspect.
What does browser-side guarding look like?
The idea is simple. Something watches the prompt input box on the AI chat sites, the same way Grammarly watches a text field. When it sees an email, a phone number, a card number, or an API key in the draft, it tells you before you hit send.
In the compatible licensed pilot, the default Mask action edits matched values to masks. Optional Pro decoys use realistic stand-ins; an explicit Redact selection or watchlist redact action can use placeholders such as [redacted-1]. Review the result before sending. The website may already read text in its own page, and detection can miss a value.
This is the human-side complement to API-side redaction, not a replacement for it. Your app's server-side calls need a library in the request path, in TypeScript or Python. The extension covers the copy-paste habits no server-side code can see.
How does Sether Shield work?
Sether Shield is a Chrome extension (Manifest V3) with protected-site input controls for compatible editors, including chatgpt.com, chat.openai.com, claude.ai and gemini.google.com. It complements the library integration by helping people review drafts in their browser.
- Input watcher, not a proxy. Shield watches compatible editable fields on protected origins. It edits page text rather than filtering the actual outgoing network request. Review the result before sending.
- Floating shield with a live count. As you type or paste, the shield shows how many pieces of PII are currently in the draft.
- Choose the handling action. Mask is the default in the compatible licensed pilot. Optional Pro decoys insert realistic stand-ins; explicit selection/watchlist redact actions can produce
[redacted-N]placeholders. Review the edited text rather than assuming one action or format across every release. - Undo and restore. Originals and replacements are mapped in page memory and Chrome memory-only session storage, so a mapping can survive a refresh and is cleared when the browser closes. Settings, watchlists and limited replacement history are stored locally across restarts. Known-mapping restore remains Free after trial or paid access expires.
- Real detectors, not toy regex. It runs the same detector packs as the open-source
@raeven-co/sether/browserbuild: validated email, phone, card with Luhn, IBAN with mod-97, the secrets pack for API keys and tokens, plus conversational detection for phrases like "my name is..." and "I live at...". - Local text processing. Shield’s detection and replacement do not upload prompt text, replies, watchlists or vault mappings for analysis. It uses storage, context-menu and page-access permissions. Free essentials need no Pro account; explicit trial or license activation in compatible releases exchanges account/license metadata with Sether, separate from prompt processing.
The detector libraries remain fully MIT and free at github.com/raeven-co/sether. Shield source is available for inspection. Free essentials remain available without a Pro account; new official releases introduce optional Pro. See pricing for compatible-build and pilot availability before starting a trial.
| Workflow in compatible licensed releases | Tier and boundary |
|---|---|
| Scan and mask, or explicitly redact a selection | Free essentials; review matched fields and the selected action before send. |
| Restore recognised replacements | Free, including after Pro expires, while the session mapping remains available. |
| Use realistic decoys or custom watchlists | Optional Pro in Shield and the official editor. |
| Add custom regex rules | Optional Pro in Shield; do not assume editor regex support. |
The tool pilot offers seven days of Pro only after an explicit in-app opt-in; installation alone does not start the clock, and no card or automatic charge is involved. The pilot paid periods are $5 for one calendar month or $48 for one calendar year, manual renewal, for one person across both tools. Check pricing for compatible builds and availability; older store builds may retain legacy Free features.
Try a fictional draft first: use an email, a phone and one company term you want to keep private. Inspect the matches, choose the replacement style, read the result and rehearse undo. To restore a reply, the session mapping must still exist. Showing originals on the page exposes them to that page’s scripts; copying a restored reply puts them on the system clipboard instead.
What can a browser extension not do?
Being honest about limits matters. Sether Shield watches compatible input fields and supported rendered replies. It is not a network proxy and does not filter actual outgoing HTTP traffic.
- It does not cover your product's API calls to LLM providers. That needs a server-side layer: see the TypeScript walkthrough or the Python one.
- Its prompt controls activate on origins in the protected-site allowlist. You can add other origins, but a custom editor or changed site interface may be incompatible.
- It cannot catch what detectors do not detect. Validated patterns and conversational cues cover a lot, but a name dropped mid-sentence with no cue can slip through. It is a seatbelt, not a force field.
- It is a Chrome extension today. Prompt controls do not inspect file uploads, attachments, images or your application’s server-side API traffic.
How do you roll this out to a team?
| Step | What to do | Why it works |
|---|---|---|
| 1. Frame it as a seatbelt | Announce it as protection for employees, not surveillance of them | Explain local text processing and license metadata accurately; do not present it as a team reporting or monitoring service. |
| 2. Start with volunteers | Ask the support and engineering teams to try it for two weeks | Collect compatibility and usability feedback before assuming it works with every editor. |
| 3. Show the count, not the shame | Share aggregate "the shield flagged N items this month" stories, self-reported | A self-reported example is useful feedback, not a verified organization-wide security metric. |
| 4. Pair it with a clear policy | One page: what is fine to paste, what is not, and what the shield does | People follow rules they understand and can actually comply with |
| 5. Cover the API side too | Add server-side redaction to your product's LLM calls | The extension covers humans; your code paths need their own layer |
The goal is not zero AI use. The goal is that the fast path and the safe path are the same path, so nobody has a reason to route around you.
Frequently asked questions
Does Sether Shield send my prompts anywhere for analysis?
Detection and replacement run locally; prompt text, replies, mappings and watchlist contents are not uploaded for analysis. Compatible licensed releases make account/license metadata requests when you explicitly activate a trial or license. Free essentials require no Pro account. Protected-site and editor compatibility still matter.
Will scrubbing break the AI's answer?
It can change the result when a literal value matters or a replacement is misplaced. Review the edited draft and use undo or known-map restore deliberately. Sending originals again is your choice, not a requirement to make the product function.
Can this replace a DLP product or server-side redaction?
No. It covers one specific, high-frequency gap: humans pasting into AI chat sites. Your product's own API calls to LLM providers need a library or gateway in the request path, and enterprise DLP covers channels an extension never sees.
What happens to the original values after a scrub?
Mappings are held in page memory and Chrome memory-only session storage. They can survive a refresh and are cleared when the browser closes. Saved settings, watchlists and limited replacement history persist locally until removed. Restore needs an available mapping and a supported interface; it remains Free after Pro expiry. Showing restored values in a reply inserts originals into the website DOM, where site scripts may read them. Copying the restored reply uses the system clipboard instead.
Written by Godfrey Lebo
Founder of Sether. Ships production software for a living and reads every comment below. More about the team.
Comments
Emails and phone numbers in comments are hidden automatically. We take our own medicine.
No comments yet. Ask a question or share how you handle this. First comment gets our undivided attention.
Join the conversation
Questions, corrections and war stories are all welcome. Be kind, stay on topic.