What “Local-Only” Means
Every tool on Haven Toolbox and Calcugator is described as local-only. This guide explains what that actually means, how to build something that way, and the easy ways it stops being true without you noticing.
What it means
Local-only means the work happens entirely in the visitor’s own browser. If a tool resizes an image, that resizing happens on their device, using their device’s own processing. The file itself is never uploaded, sent to a server, or seen by anyone but them. Close the tab, and nothing about that file exists anywhere outside their computer.
What it looks like in practice
Take an image tool that blurs part of a photo. The page reads the file the visitor
picked using the browser’s File API, draws it onto a <canvas> element,
applies the blur with canvas drawing commands, and offers the result back as a download,
again generated entirely on their machine. At no point does the image data leave the
browser tab.
How to build something local-only
The browser gives you most of what you need without a server:
FileandFileReaderto read a file the visitor selects- The Canvas API for image editing and drawing
- The Web Audio API for audio processing
localStoragefor saving small bits of data on the visitor’s own device, like a setting they picked
If a feature can be done with these instead of a network request, it can stay local.
How it quietly stops being local
The most common ways a "local" project stops being local aren’t deliberate:
- Adding an analytics or tracking script, which sends data about the visit to a third party by design
- Embedding a third-party widget, like a comment system or a font loaded from someone else’s server, that makes its own requests you didn’t write
- Wiring a form up to
fetchor a server endpoint instead of handling the input in the browser - Reaching for a cloud API to do something the Canvas or Web Audio API could already do locally
None of these are wrong on their own. They’re just no longer local-only, and worth being upfront about if a project claims to be.
Why it matters
It’s a simple guarantee to make to a visitor: nothing you upload here goes anywhere. It also means there’s no server to keep running, no user data to secure, and no account system to build. The privacy benefit and the simpler build are the same decision.
The photo blur and audio trimmer guides build two small tools this way from scratch, and the cookies and trackers guide covers the tracking side of this same idea in more depth.
← back to guides