What this page reads, sends and keeps
Your photograph is decoded, measured and reconstructed in this browser tab and is never uploaded. The page fetches its own code, a HEIC decoder if you open a HEIC, and a face detector only when you ask for one; none of those requests carries anything about your photo.
Pixels stay in this tab; only the file you save leaves it.
The short version
Your photograph is decoded by your browser, measured, reconstructed and handed back as a file you save. It is never uploaded, because there is no server behind this site for it to be sent to: these pages are static files, there is no API route, and a build check fails the moment one appears. Nothing derived from the photograph — not a thumbnail, a file name, EXIF or GPS data, a measured blur value or a verdict — is sent anywhere either.
Every request this page can make
| This site, on page load | The pages, the stylesheet, the scripts and the two self-hosted typefaces, all from aideblur.com. None of these requests carries image data. |
|---|---|
| This site, when a HEIC is opened | A HEIC decoder of about 1.5 MB, fetched the first time you open a HEIC photo and not before. It carries no image data; the decoding happens in your tab. |
| This site, when you press Find faces | A WebAssembly runtime of about 14 MB, served from aideblur.com. |
| This site, after you open /app | The service worker fetches the home page and /app once more to keep an offline copy, and then keeps copies of the pages and code you use. Still only this site's own files. |
| Our model file server, when you press Find faces | A small face detector (about 225 KB), checked against a SHA-256 hash and kept in your browser’s cache. The request carries the file name only — nothing about your photograph. |
| Our model file server, for a learned pass | No learned deblur model is published for this build, so this request cannot currently happen. When one is, nothing moves until you press a control that names its size. |
| Cloudflare Web Analytics | Configured in the code but not switched on in this build: no beacon token is set, so no analytics request is made from any page. See Measurement below. |
| Google Forms, from /contact only | When you press Send on the contact page, the name, email address and message you typed, plus the name of this site, are posted to a Google Form and kept there under Google’s own terms. Nothing goes while you type, and no photograph, file or setting is ever part of it. |
| Nothing else | No third-party font service, no tag manager, no advertising, and no request carrying image data in any direction. |
Measurement
This site uses Cloudflare Web Analytics to count page views. It sets no cookie and uses no local storage, so it needs no consent banner. When it runs, the beacon reports the page address, the referring page, the browser and operating system family, the screen size and page-load timing; Cloudflare sees your IP address as part of the request in the ordinary way and says it does not use it to fingerprint or track individuals. It never receives anything about a photograph you open, because the beacon has no access to it and nothing about it is ever put into a URL.
The beacon is loaded only when the page is served from the live address, aideblur.com. In this build no token is set, so the beacon is not loaded on any page and nothing about your visit is counted.
Advertising
This site shows no advertising and loads no advertising script.
Storage on your device
| Cache Storage | Only if you press Find faces: the face detector, so it is not fetched again. Clearing site data in your browser removes it. |
|---|---|
| Offline copy (service worker) | Only if you open /app or run the site as an installed app: a service worker keeps this site's own pages and code in Cache Storage (adb-shell-v1) so it opens offline. It never stores a photograph. /app has a button that removes it. |
| Shared photos | On Android, a photo you share into the installed app is handed over inside your browser: the service worker holds it in Cache Storage (adb-share-v1) for the moment it takes to open, then it is deleted. It is never sent anywhere. |
| IndexedDB (optional autosave) | Only if you switch on “Remember my last photo and settings in this browser” in the workspace's Preferences: the last photo you opened and its settings, under adb-autosave, so a reload can be restored. One session, replaced each time. Switching it off, or pressing Discard, deletes it. It never leaves your device. |
| Cookies | None set by this site. |
| Local storage | A few preferences, under one key (aideblur.prefs.v1): the export format and guard you last saved with, the loupe size, how many files the folder queue works on at once, and whether you agreed to the face finder running on open, and whether autosave is switched on. Never a photograph, a file name or anything measured from one. “Forget preferences” on /app clears it. |
| The photograph | Held in memory for as long as the tab is open, and not written anywhere — unless you switch on the optional autosave described above. |
Children, and contact
This is a utility page with no account, no profile and no content directed at children. The tools collect nothing from anybody, of any age; the only thing this site receives is a note somebody chooses to send from the contact page. If something here is wrong or unclear, that page is the way to say so, and a correction to this page will follow in the same release as the fix.