Storage is one input
MDN defines browser fingerprinting as the collection and combination of browser and operating-system traits. Examples include browser version, timezone, language, codecs, fonts, settings, and display size. JavaScript and CSS can expose enough traits for a site to distinguish one browser from others.[2]
Cookies work differently. They store an identifier in the browser. A fingerprint derives an identifier from observations. Clearing storage can break the first route while leaving the second route available.
A privacy test needs several visits. One screenshot cannot tell you whether an identifier survives a new site or session.
Consistency is the payload
Roy Fish's live essay combines audio, graphics, canvas, timezone, and hardware readings into a nickname and hash. The page invites readers to refresh, clear cookies, change network routes, and compare another device.[1]
The demonstration is useful because it treats identity as a comparison. A single hash proves only that a script produced a value. Repeated matching values show stability inside the tested conditions. They do not prove global uniqueness, one person per value, or tracking by a named company.
Two defenses make different promises
Brave describes a randomization approach called farbling. It derives values per site and session so one site receives a stable value during that session while another site, or a later session, receives a different value. Brave also states that its default defense uses real traits and may not stop a motivated targeted attack.[3]
Tor Browser takes a crowd strategy. Its documentation describes standardized values, window letterboxing, and other changes intended to make users less distinguishable from one another. Tor warns that user-selectable identity options can make a browser more unusual.[4]
Randomization tries to break correlation. Standardization tries to enlarge the group that shares the same observable values. These are different test plans. Neither is captured by a green privacy badge.
Run the test without collecting people
- Use a disposable browser profile and a page you control.
- List every trait the fixture reads before the run.
- Save no raw fingerprint beyond the test window.
- Visit twice in one session. Record stable and changed traits.
- Start a new session and repeat on the same site.
- Repeat on a second site you control.
- Change one browser defense, then rerun the same matrix.
- Delete the fixture records and confirm deletion.
Do not turn a privacy test into another tracking database. The smallest useful record is a matrix of match or change results, the browser posture, and the deletion receipt.