Privacy
Images stay in the browser; learn about storage, deletion, and external requests.
Privacy by design
Images, filenames, session IDs, comparison results, sizes, formats, and counts are not sent to external origins. In production, the GA4 sidecar sends only page_view and anonymous event names.
Saved sessions live in IndexedDB and can be deleted from History. Image Blobs are never stored in localStorage.
The PWA cache contains only the app shell and public static pages; user images are not copied there.
If GA4 fails or the device is offline, you can still keep using comparison and history.
Network boundary
Only same-origin static assets and the production-only GA4 sidecar's analytics beacons are allowed. Images, filenames, session IDs, results, sizes, formats, and counts are not sent to external origins while comparing. The app still works if GA4 fails or the device is offline.