Privacy and your data
Short version: your images never leave your computer. Processing happens in your browser, the site has no upload endpoint, and there is nowhere on the server that could store a photo.
How your images are processed
When you drop files into the tool, your browser reads them into memory and uses canvas APIs to resize each one, pad it onto a white background, and re-encode it down to the file-size cap. The result is handed back to your browser as a download. No step in that path sends image data to a server.
You can verify this yourself. Open your browser developer tools (F12), switch to the Network panel, then drop a few images into the tool. You will see the handful of files this site serves when the page loads, plus the single page-view request described below. During processing, no new request appears. Close the tab and the images in memory are gone.
What the page loads
- Same origin only: one HTML document, one stylesheet at /assets/app.css, and one script at /assets/app.js which contains the tool. The guide pages do not load the script at all. Nothing else is requested.
- No third-party domains: no external fonts, no CDN, no icon packs, no analytics SDKs, no ad scripts. Diagrams and icons are inline SVG generated with the page.
- No accounts: there is no login, and no field anywhere that collects an email address or phone number.
Cookies and local storage
This site sets no cookies. There is no session, no login state, and no cross-site tracking.
The browser stores exactly one key for this site: tugui.license.v2 in localStorage. It holds the license key you entered or received so you do not have to paste it again on every visit. On a build with the paywall switched off, that key is normally empty. Nothing else is written, and sessionStorage and indexedDB are never touched.
To clear it, delete this site data in your browser settings, or remove that one entry under Application, then Local Storage in developer tools. Removing it does not affect reading specs; you would only need to paste the key again.
The page-view counter
This site counts page views with one request, and it is the only request the page makes on its own. After the page finishes loading, a 1x1 image beacon requests the same-origin path /api/hit with the current page path as a query parameter. The server adds one to that day count for that path and always answers 204 with no body. The beacon is injected at build time: a build with counting turned off ships no beacon and makes no such request.
- No cookies: none are sent with the request, and none are set in the response.
- No IP address, no user agent, no device fingerprint: the code increments a single integer keyed by path and day. There is no other field to store anything in.
- Page views, not visitors: nothing that could distinguish one person from another is recorded. Ten reloads count as ten.
- Kept for 90 days: one record per day per path, expiring automatically after 90 days, stored in Cloudflare KV.
- It never sees an image: image processing happens entirely in your browser. The counter endpoint accepts no file and has no upload path.
To opt out, turn on your browser tracking protection or ad blocker, or open the site in a private window. Nothing breaks: the beacon only increments a number, and a blocked beacon still leaves the site fully functional. If the write fails, the endpoint answers 204 anyway, so you never see an error.
Hosting logs
The site is served by Cloudflare, which, like any hosting provider, keeps basic request logs on its side: time, requested path, IP address, and similar metadata. That logging happens in the hosting layer, not in this site page code, and it is not something this site added on purpose.
Your choices
- Turn JavaScript off and you can still read every spec: platform pages, spec pages, and guide pages are static HTML, not client-rendered. Only the image tool stops working.
- Use a private window if you do not want anything stored locally. Closing it clears storage.
- If you do not want anyone to see which images you processed, there is nothing to hide: the files were never sent.
Changes to this page
This page is generated with the site, so it stays in sync with the code. If analytics, accounts, or anything else touching your data is ever added, this page changes before that ships. If what you see in the product contradicts what is written here, this page is the mistake and it should be reported.