JRJI
All articles
Privacy · 4 min

Why we built JRJI to run 100% in your browser

Most JSON tools send your payloads to a server. We think that is backwards. Here is the privacy case for client-side tooling.

Paste a JSON payload into a random “free online formatter” and ask yourself a simple question: where did that data just go?

For most tools on the first page of Google, the honest answer is “to someone else’s server”. Your API response — possibly containing tokens, emails, internal IDs, or customer records — travels over the network, gets processed on a machine you don’t control, and may be logged along the way. All so that a server can run JSON.stringify(JSON.parse(x), null, 2), an operation your browser executes in microseconds.

The problem with server-side JSON tools

JSON is rarely random data. It is the lingua franca of APIs, which means the payloads developers paste into tools are frequently:

  • API responses containing user records, emails, and internal identifiers
  • Config files with connection strings and occasionally forgotten secrets
  • Webhook bodies from payment providers and auth systems
  • Debug dumps captured straight from production

Sending any of this to a third-party server is, at best, a compliance headache. Under GDPR or SOC 2 review, “we paste production payloads into random websites” is not a sentence anyone wants to write down. At worst, it is silent data exfiltration dressed up as a convenience.

Everything JRJI does happens on your machine

Every JRJI tool — the Fixer, Minifier, Diff, CSV converter, and Viewer — is plain client-side JavaScript. When you paste JSON:

  1. The text stays in your browser tab’s memory.
  2. Parsing, repairing, diffing, or converting runs locally via JSON.parse and small pure functions.
  3. Nothing is POSTed anywhere. There is no backend to receive it.

You can verify this yourself: open your browser’s DevTools, switch to the Network tab, and use any tool. After the initial page load, you will see zero outgoing requests carrying your data. Close the tab and the data is gone.

Client-side is also just faster

Privacy is the headline, but locality has a second benefit: latency. A round trip to a server — DNS, TLS, upload, queue, process, download — takes hundreds of milliseconds on a good day. Local parsing of a multi-megabyte document takes single-digit milliseconds. Big files are actually worse for server-side tools, because upload time scales with payload size; locally, the payload never moves.

The trade-off we accept

Running everything client-side means we can’t offer features that genuinely require a backend: shareable links to saved documents, server-side history, team workspaces. We think that is the right trade. A JSON utility should be like a calculator — instant, stateless, and private by construction, not by policy.

If a tool asks you to trust its privacy policy, it has already asked too much. The only privacy guarantee that needs no trust is the one where your data never leaves.

Try it: open the JSON Fixer with DevTools’ Network tab open, and watch nothing happen.