Redact, mask, and hide sensitive values before pasting JSON into an LLM.
Choose Basic for light masking of obvious identifiers, Standard for typical sensitive-field detection, or Aggressive if you want the tool to err on the side of masking anything that could plausibly be identifying.
Save your masking decisions as a rule book, then reuse them next time you paste JSON with the same shape — no need to re-review every field.
{
"rules": [
{ "path": "$.customer.email", "action": "replace", "replacement": "EMAIL_001" }
]
}
Export saves your current review as a rule book like the one above. Import loads one back in, so the same paths get masked automatically.
{}
When you paste JSON into ChatGPT, Claude, or any other LLM to debug an API response, explain a data structure, or generate code around it, you're often sharing more than you intend to. Real-world JSON — API responses, database exports, log samples, configuration files — frequently contains emails, full names, phone numbers, internal IDs, access tokens, or other identifying values mixed in with the structural data the LLM actually needs to help you.
Most LLM providers may retain conversation content for abuse monitoring, product improvement, or a limited retention window, depending on the account type and settings in use. Once sensitive values are in a conversation, you generally can't guarantee they're fully erased from every system that touched that request. For personal data, credentials, or client information, that's a real and avoidable risk.
This tool doesn't send your JSON anywhere for analysis — detection runs entirely in your browser. That also means it isn't a substitute for a full data classification or compliance review if you're handling regulated data (health records, financial data, government IDs) at scale; use it as a fast, practical safety net for everyday LLM use, not as a certified redaction tool for regulatory purposes.
This page offers 2 tools that an AI agent running in the browser can call directly, without clicking through the page. A call runs in your tab like the buttons do, and nothing is uploaded.
find_sensitive_values_in_json: Scan a JSON document for values that look sensitive: names, emails, phone numbers, addresses, card and account numbers, government IDs, tokens and keys. Inputs: json (required), protection.make_json_safe: Replace sensitive values in a JSON document with stable placeholders such as PERSON_001 or EMAIL_001, keeping the structure, so the result can be shared or sent to a language model. Inputs: json (required), protection.How to turn it on and try it
const tools = await document.modelContext.getTools();
const tool = tools.find(t => t.name === 'find_sensitive_values_in_json');
await document.modelContext.executeTool(tool, JSON.stringify({
"json": "{\"customer\":{\"name\":\"Priya Raman\",\"email\":\"priya@example.com\"},\"total\":499}"
}));In other browsers the page works as usual and offers no agent tools. Examples for every tool and what they return
Using a desktop agent such as Claude Code or Cursor? See how to connect it to this page.