Choose a persona
--fingerprint-platform=windows, macos or linux. The packages refuse any other value. The browser logs an error for any other value and uses the default persona.
The default persona
When you name no persona, the browser picks one from the host:
A Windows persona on a Linux or macOS host needs the Windows fonts installed there. Fonts has the command.
Name the persona in every launch of a persistent profile you move between hosts. A directory created on a Mac and opened on a Linux server without
fingerprint_platform presents a macOS machine on the Mac and a Windows machine on the server.
The three platforms
Each platform draws from its own tables. The counts are those of catalogue version 2, the one in Apostate 0.4.3.
GPU models and Font lists list every model and family.
What a persona sets
The browser’s C++ serves every row, so every API and header that reads the value agrees. The section column names the part of the profile that carries it.
The browser composes the machine in a fixed order, and later choices depend on earlier ones. The core count and memory depend on the GPU model, and the screen, devices and battery depend on the machine, so a persona never pairs, for example, an Apple M4 Max with a MacBook Air screen. How it works has the order.
Read a persona
--fingerprint-explain prints the machine a launch would present and exits without opening a window. These are seed 42 for each platform, run on an Apple silicon Mac with 14 cores. On another host, the core count and memory can differ; Seeds and identity explains why.
- Windows
- macOS
- Linux
limitations list. Seeds and identity explains the header.
The layer column says which step chose the value:
The
evidence column says where the option came from:
What stays the host’s
A persona changes values. It does not change how the host draws or computes. Canvas, WebGL and WebGPU pixels come from the host’s GPU or software renderer, text is drawn by the host’s font engine, a font appears only if it is installed, and CPU arithmetic and audio output follow the host’s CPU. Hosts says which host suits which persona, and Known gaps lists every value a page can still read from the host.Host mode
--fingerprint=host, or fingerprint="host" in the packages, composes nothing. Every value is the host’s own. off, false, 0, disable and disabled mean the same, in any case. Use host mode to tell whether a problem comes from the persona or from the host and network under it.
Host mode refuses a persona, a GPU family and every per-field switch, because nothing is composed for them to change:
host inheritance disables every layer below it, so a platform persona cannot be applied at the same time.
Headless host mode has no display to inherit, so a page reads Chrome’s headless 800x600 screen with availHeight equal to height. A composed persona serves its own screen in headless mode.