QDevQDev
SECURITY

Your data stays yours.
Your values never leave the tab.

QDev opens your JSON, YAML, and TOON files and writes jq from your schema when you ask in plain English. All of that happens inside the page: your file is parsed and rendered locally, and jq runs on-device in WebAssembly. The three local AI modes send nothing off your machine at all. And when you choose hosted QDev Pro, the only things that cross the wire are a value-masked schema and your question — never your actual values, never the document.

File never leaves the tabjq runs locally in WebAssemblyLocal modes: zero egressValues never sent — any modeStateless, zero-retention by defaultSource-available on GitHub
01

What actually leaves your device

Here is every category of data QDev touches, and whether it ever crosses the network — in the local AI modes (WebLLM, Chrome's Gemini Nano, and Ollama) versus hosted QDev Pro. The one line that never changes: your values never leave, in any mode.

DATALOCAL MODESHOSTED (PRO)
Your document
The JSON / YAML / TOON file itself.
Never leaves Never leaves
Your values
Every actual value inside the file — strings, numbers, secrets.
Never leaves Never leaves
The schema
Field names and their types, with every value stripped out.
Never leaves Sent
Your question
The plain-English ask you type into the bar.
Never leaves Sent
✓ THE VALUE-MASKED SCHEMA
When hosted mode needs the shape of your file, it sends field names and their types only — a value-masked schema. So the model learns that there is a field called email of type string, but never that its value is you@company.com. The document and its contents stay in the tab.
02

Local modes send nothing. Full stop.

QDev can write jq without any server at all. Three on-device modes keep every byte — document, schema, and question alike — inside your machine:

WEBLLM
In the browser tab
Runs a model right in the page via WebGPU. Nothing you query ever touches the network — the strongest privacy story there is.
GEMINI NANO
Chrome, on-device
Reaches Chrome's built-in on-device model through the Prompt API. No server, no egress; Chrome manages the model for you.
OLLAMA
Your own machine
Points QDev at a local Ollama server. Your pick of model, running entirely on hardware you control.
✓ ZERO EGRESS
In every local mode there is no proxy, no account, and no network request for the AI at all. If your policy is "nothing leaves the device," these modes satisfy it by construction. The trade-offs are about capability, not privacy — we lay them out on the limits of local AI.
03

The hosted proxy is stateless and zero-retention by default

When you opt into hosted QDev Pro, requests pass through a thin proxy that does exactly three things and remembers none of them. It validates entitlement, forwards to the model, and returns the completion — prompts and results are not logged unless you opt in to training sharing.

01
Check entitlement
The proxy validates your opaque token to confirm an active Pro subscription. That's the only thing it looks up — no profile, no history.
02
Forward the request
It passes the value-masked schema and your question straight to the model. Nothing is written to a database, a log, or a cache on the way through.
03
Return the completion
The generated jq comes back to your tab and the request is done. The proxy holds no state between calls — prompts and results are never retained.
Nothing logged
No prompts, no completions, no document data written anywhere.
Stateless
The proxy keeps no state between requests — each call stands alone.
Minimal payload
Only your value-masked schema and question are forwarded to the model — never your document.
04

Connecting your account links entitlement — not data

Account linking is deliberately minimal. To use Pro you connect the extension through Clerk sign-in, which mints an opaque tokenthe extension uses to prove it's entitled. That's the whole handoff.

  • It's a link, not a login to your files. Connecting associates your account with a Pro entitlement so the proxy can answer "is this subscription active?" — nothing more.
  • The token is opaque. The extension carries a bearer token, not your credentials, and it stands in only for the entitlement check on each request.
  • Connecting ≠ data access. Linking your account grants the service no access to your documents, your values, or anything in your tabs. Those never travel to us.
DON'T TRUST US — READ IT

The whole thing is source-available.

Every claim on this page is verifiable, because the extension is inspectable on GitHub. You can read exactly how the file is parsed in-page, how jq runs in WebAssembly, what the value-masked schema contains, and what the proxy does — and doesn't — with a request. Nothing here rests on taking our word for it. And it behaves identically on Chrome and Firefox.

Private by default. Add it and see.

Your file stays in the tab, jq runs locally, and even in hosted mode your values never leave. Read the full policy, or see how each AI mode handles your data.

QDevQDev

The JSON viewer that answers back. Free for personal use, on Chrome and Firefox.

PRODUCT
RESOURCES
ACCOUNT
Source-available · zero-retention by default · your data stays yours
PrivacyTerms© 2026 qdev