ShareSafe Local only

Redact JSON in your browser

Replace sensitive values in API responses, webhook payloads and exports — at any depth. Only the selected values change: keys, formatting and unrelated numbers stay byte for byte.

Drop files here

Files are read in this tab and never uploaded.

  • .json
  • .csv
  • .tsv
  • .log
  • .txt

Up to 10 files, 10.0 MB each, 30.0 MB in total. UTF-8 only.

A webhook and the support ticket about it

− before+ after
invoice-webhook.json
Before: "customer_id": "C-20417",
After: "customer_id": "customer_001",
support-ticket.json
Before: "customer_id": "C-20417",
After: "customer_id": "customer_001",
support-ticket.json
Before: "subject": "Invoice INV-30091 failed twice"
After: "subject": "Invoice invoice_001 failed twice"

Same placeholder in both files and in the ticket’s free-text subject. Unselected values such as "amount_due": 12900 are unchanged.

How it works

  1. Add files

    Drop JSON, CSV or log files, or paste text. They are read in this tab; nothing is uploaded.

  2. Choose what to hide

    Suggestions find IDs, emails, names, order numbers and keys. Fields that hold the same values share one numbering.

  3. Review & download

    Compare before and after, check what may remain, then download the files with a short report.

How JSON is handled

Choosing fields

Suggestions come from field names — customer_id, email, phone, full_name, address, *_token, api_key and similar — found at any depth. You can add a rule for any other field from the list of paths found in the file, such as $.data.customer.email; inside arrays a path covers every item, such as $.users[*].email.

What is preserved

  • The file is never re-serialized: a strict scanner records where each value sits, and only selected values are rewritten. Indentation, key order and spacing are unchanged.
  • Numeric IDs that fit in a safe integer stay numbers (9281 → 900001). Numbers you did not select are never touched.
  • Changed strings are re-encoded with standard JSON escaping; everything else is identical byte for byte.
  • After processing, each output is parsed again and compared with the plan before it can be downloaded.

Strict parsing

Input must be RFC 8259 JSON. Comments, trailing commas and single quotes are rejected with the line and column, rather than guessed at.

What it does not do

  • Object keys are not replaced, only values. true, false and null cannot be replaced.
  • Integers beyond ±253−1, decimals and exponents are left unchanged and reported, unless the group is set to convert numbers to text.
  • JSON with comments (JSONC, JSON5) is rejected. HAR files have no special handling.
  • A value inside free text is only replaced when the same value is selected in a field somewhere in the task.

Questions

Does it parse and re-serialize my JSON?

No. JSON.parse/JSON.stringify would reformat the file and change large numbers. ShareSafe edits the selected values in place and leaves every other byte alone.

Can I keep the same placeholders across a JSON file and a CSV export?

Yes. Add both files to one task: fields that hold the same values share a numbering, so C-20417 becomes the same placeholder in both. See anonymizing CSV files for how columns are linked.

Is the output valid JSON?

Yes. Each output is parsed again after processing and compared with the plan; a file that fails this check is not offered for download.

Replacing selected values does not guarantee anonymity. Suggestions are hints, not a complete scan; review the output before sharing it.

Last reviewed .