Change Detection: Test, Change Something, Test Again

The analyzer's comparison mode shows you which fingerprint signals a privacy measure actually changes — and which it quietly leaves alone.

Why before-and-after testing matters

Privacy tools make claims; fingerprint signals are measurable facts. The only reliable way to know whether an extension, setting, or VPN affects your fingerprint is to measure the same signals before and after. That is what change detection does: it turns "this should help" into "this changed the canvas hash and nothing else."

How to run a comparison

  1. Run the first analysis. On the analyzer, click Start analysis. When it finishes, the page holds a temporary baseline — one hash per test — in its JavaScript memory.
  2. Change one thing. Enable a privacy extension, toggle a browser fingerprinting setting, connect your VPN, or resize the window. Changing one variable at a time keeps the result interpretable.
  3. Click "Run again and compare." The tests run again and each card is marked Changed since baseline or Unchanged.
  4. Read the diff. Changed cards show which surface your intervention actually reached.

The VPN lesson

A VPN changes network-level data — your IP address and apparent location — but it typically does not change Canvas, WebGL, Fonts, or Screen results. Those signals describe your browser and device, and your traffic's route through a VPN server does not alter how your GPU renders pixels or which fonts are installed. Run the comparison with your VPN toggled and see for yourself: expect five "Unchanged" badges.

This is not an argument against VPNs — hiding your IP address from sites and your traffic from networks are real benefits. It is an argument for accurate expectations: VPNs and fingerprinting defenses address different layers, and you may want both.

What different interventions typically change

InterventionTypically changesTypically does not change
Canvas-noise extensionCanvas hash (each run or each site)WebGL, Audio, Screen, Fonts
Firefox resist-fingerprintingCanvas, WebGL details, reported fonts, window sizingUnderlying hardware, of course
VPN on/offNothing in these five testsCanvas, WebGL, Audio, Screen, Fonts
Resizing the windowViewport value in the Screen cardResolution, color depth, pixel ratio
Different browser, same machineMost signals to some degreeScreen values; often the GPU renderer

Rows are typical behavior, not guarantees — implementations differ, which is exactly why measuring your own setup beats reading anyone's table.

Where the baseline lives (and dies)

The baseline is a plain JavaScript variable on the analyzer page. It is not written to localStorage, IndexedDB, a cookie, or a server — this site uses none of those. Refresh the page, close the tab, or press Clear results, and the baseline is gone. That means comparisons only work within one page session, by design: the tool demonstrates change detection without ever persisting your fingerprint anywhere. The privacy audit documents this in full.