How We Build and Test Our Tools
ZeroDataUpload is built and maintained by Milan Salvi of Leena Software Solutions. This page explains how the tools work, how they are tested before and after release, and how problems are handled. The short version: every tool runs in your browser, nothing you open is uploaded, and every change is checked against the original before it goes live.
How the tools work
Each tool and converter is a web page made of HTML, CSS and JavaScript. When you open a file, the page reads it with the browser's own file interfaces and does all the work on your device: conversion, compression, encryption, text recognition, image editing. The result is offered as a download from memory. There is no server that receives your files; the site has no backend and no accounts. You can confirm this yourself: open the browser's developer tools, watch the network tab, and process a file. No request carries your data.
A few tools fetch something you ask for from an outside service: live exchange rates in the currency converter, an optional breach check in the password generator (which sends only the first five characters of a hash, never the password), an optional public IP look-up in System Intelligence, a random sample image in Picture Puzzle, and "Import from URL" in the UUID and favicon generators, which fetches only the address you type. Each is opt-in and described on the tool's page and in the Privacy Policy. Advertising and analytics code from Google is loaded on the pages as described in the Advertising Disclosure and the Cookie Policy.
The heavy lifting (PDF handling, image decoding, audio and video conversion, text recognition, spreadsheet parsing) uses open-source libraries that run inside the browser. They are served from our own domain, with the version in the file name, so a converter page does not depend on a third-party script host and a library change is always deliberate.
How a tool is tested
- Converters: each of the 19 converters has a written test script covering every button, tab, option and dialog. It is run by hand in the browser with real files before a release and after a library change, and the results are recorded.
- Tools moved from their old addresses: when the 12 tools moved from their subdomains to this site in 2026, each was compared with its original pixel for pixel at four screen widths (360, 412, 768 and 1366 pixels) and in every theme, so the move changed nothing in how the tool looks or behaves.
- Automated checks on every change: a check runs before each commit and verifies that no link is broken, every page has its metadata, structured data and landmarks, no page makes a claim the site cannot keep, and the sitemap and search index are complete. Layout is measured at the four widths above; accessibility is checked with an automated audit on one page of each kind in light and dark mode.
- Performance: the System Intelligence benchmark is run against each build to make sure the protective build step does not slow the tools down.
What we do not do
- We do not upload, store, log or look at the files you process. We could not: there is nowhere for them to go.
- We do not sell data, run our own tracking, or place ads by hand. Ads are placed by Google's automatic system, and the cookie banner controls the analytics cookies.
- We do not describe the tools with promises we cannot verify. Where a feature depends on your browser (for example, large video files or very old devices), the guide says so.
Reporting a problem
Every page has a "Report a Problem" link in the footer that opens the contact form with the page address filled in. Describe what you did, what you expected and what happened; the browser name and version help. Reproducible bugs are fixed in the next update and listed on the What's New page. Security issues can also be reported as described in the Security Policy.
Who builds it
Milan Salvi designs, writes and tests every tool and every page; there is no team and no outsourced content. His background and the thinking behind the project are on the author page and the About Us page. How the guides and posts are written and corrected is in the Editorial Policy.
Last Updated: October 2, 2026