Every time I needed to convert a HEIC photo, merge two PDFs, or resize an ID photo, the search results led to the same kind of site: "Upload your file here." A passport photo. A contract PDF. A spreadsheet with real data. All shipped off to some unknown server, processed, and hopefully deleted.
I wanted the opposite. So I built ToolVault — 166 developer and productivity tools where every computation runs in your browser and zero bytes of your input leave your machine.
What's in the box
- Data conversion: JSON ↔ YAML ↔ XML ↔ CSV ↔ Excel, Excel → Word, Markdown → Docx
- Image tools: HEIC/WebP/AVIF/SVG conversions, batch resize, images → PDF
- PDF suite: merge, split, PDF → JPG, compress — all via pdf-lib, all client-side
- ID photo tools: background replacement, standard sizes, print layouts. Portrait segmentation runs a 244KB MediaPipe tflite model in the browser — your photo never touches a server
- Dev staples: JWT decoder, regex tester, Cron parser, CIDR calculator, hashing, AES/RSA encryption, diff, code formatters
- Workflows: chain multiple tools into a pipeline, so you stop copy-pasting between tabs
The architecture is the privacy policy
Most "online tools" are thin clients over a backend conversion service. ToolVault is statically exported Next.js — 998 pre-rendered pages served as plain files. There is no backend. No database. Nothing to leak, nothing to breach, nothing to subpoena.
That sounds like a slogan, so here's how to verify it yourself: open any tool, hit F12, watch the Network panel while you use it. Upload bytes: 0. Not "we promise" — observable.
A few implementation notes that made this work at scale:
-
Library choices matter. Everything runs on battle-tested client-side libraries: pdf-lib, pdf.js, SheetJS, heic2any, jszip, marked. The hard part is composing them (e.g., Safari's
createImageBitmapgaps, which needed an<img>decode fallback). - Offline is a feature, not a gimmick. It's an installable PWA. Install it once, disconnect your network, and all 166 tools keep working. "Works on a plane" is the honest privacy demo.
- Segmentation without the cloud. The ID-photo background remover runs MediaPipe Selfie Segmentation locally via WASM. The trickiest bug wasn't the model — it was realizing the category mask semantics were inverted from what I assumed (0 = person, not background), and a 3px background dilation needed to kill halo artifacts.
Why this matters more than it seems
When a tool uploads your file, you're making a trust decision — about their security, their employees, their acquisition by someone worse. When the computation is local, there is no trust decision. The browser sandbox is the policy.
This is also where tool sites are heading: WebAssembly and mature client-side libraries have removed most reasons for a conversion backend to exist. The remaining reason is usually ad-driven engagement ("watch our progress bar while we upload").
Try it
👉 https://www.wcytcn.com — no signup, no login, no upload. Your bookmarks are the account system.
If you have a tool you use weekly that doesn't have a "never uploads" version, tell me in the comments — that's my backlog.
Top comments (0)