# DualView Privacy Architecture

DualView has a zero-backend architecture for comparison: there is no server that receives your files, because no such server exists in the comparison pipeline.

## How it works

- **Local processing.** Files you open are read with the browser File API and decoded, rendered, measured, and diffed entirely on your machine (Canvas, WebGL, WebCodecs, Web Audio). Quality metrics like SSIM and PSNR are computed in-browser.
- **No uploads, ever.** Opening, comparing, exporting, and creating share links involve zero file uploads. There is no account system and no signup.
- **Share links carry state and URLs, not files.** A DualView share link contains query parameters (comparison mode, slider position, time, zoom, labels) and optionally `https` URLs pointing at media you already host somewhere. The link itself transports no file content to DualView. See [url-parameters.md](https://www.dualview.ai/docs/url-parameters.md).
- **Self-contained links stay in the browser.** The optional `#dv=` fragment encodes small comparison content as compressed data after the `#` in the URL. Per the HTTP standard, fragments are never sent in requests, so even this content never reaches a server. The recipient's browser decompresses it locally.
- **Offline HTML export.** A comparison can be exported as a single self-contained HTML file you can email, archive, or open with no network connection at all.

## What this means in practice

- You can compare confidential material (legal documents, unreleased footage, medical imagery, client work) without it leaving your machine.
- DualView works offline once loaded.
- The only network requests involved in a comparison are the ones your own browser makes to fetch media from URLs *you* put in the `a`/`b` parameters (and standard static-page loads for the app itself).

## Verify it yourself

Do not take this on trust. Open your browser's DevTools Network tab, load two files, compare them, create a self-contained share link, and watch: no upload requests occur. A step-by-step walkthrough is at https://www.dualview.ai/verify-privacy/.

## Contrast with upload-on-share tools

Many comparison tools are private while you compare but upload your files to their servers the moment you share. As of June 2026: TwinLens share links upload files to TwinLens servers (50MB cap, 14-day expiry, 5 share links on the free tier); imgsli uploads images to a public server to create its links; Diffchecker's free web tier processes diffs server-side, with offline/private diffing offered in its paid desktop product. Verify current behavior on each vendor's own site. DualView share links never upload anything, by construction.
