A page does not need cookies to recognize a returning browser. It can ask the browser about itself: dozens of small questions with ordinary answers, which add up to something close to unique.
What goes into one
The values fall into a few groups.
- Hardware: the GPU vendor and renderer strings, WebGL and WebGPU parameters, CPU thread count, the memory figure, screen size, pixel ratio, color depth and the number of touch points.
- Rendering: how this machine draws a canvas, measures a line of text and processes an audio signal. Small differences in GPU, drivers and fonts give small differences in output. Canvas fingerprinting covers the best-known one.
- Software: the User-Agent and client hints, installed fonts, the speech voice list, media device counts, which browser APIs exist.
- Place and person: timezone, language list, and preferences like dark mode or reduced motion.
- Network: the IP address and what it says about location, and WebRTC addresses if the browser leaks them.
Every profile is drawn from one real computer, not from separate listsIn Mosaic: Machines that exist. GPU, screen, CPU and fonts from one real device. Free holds 3 profiles. Pro is $49 a month for any number.
Mosaic is a desktop app
Email yourself the link and open it on your computer.
How it works: Machines that exist
How it links accounts
Two accounts used from one computer report the same fingerprint, however carefully their cookies are separated. A site that sees the same fingerprint on two accounts treats them as related. The less common your values, the stronger that link. A setting only a few percent of people turn on makes every account on the machine unusual and identical at once.
Changing it without contradicting yourself
Random values per field produce fingerprints that are unique and impossible: a laptop GPU beside an ultrawide monitor, a Tokyo timezone on a Frankfurt IP. Detectors read contradictions as masking.
Mosaic changes these values inside its own Chromium, in C++, so a page, an iframe and a worker all read the same answer. It draws the hardware as one real device from machines that exist, and takes timezone, language and location from the proxy's measured exit. Why we built our own Chromium explains why the engine is the place to do it.





