Documentation menu

Fingerprint flags

Identity is controlled with Chromium command-line switches. Pass them as args to your launcher.

The seed model

Everything keys off --fingerprint=<seed>. The seed (an integer or any string) deterministically derives canvas, WebGL, audio, font and client-rect noise:

  • Same seed ⇒ same identity across launches — a returning visitor.
  • New seed ⇒ a fresh, plausible identity.
  • Signals are derived per site (inspired by Brave's farbling), so the same seed is decorrelated across different domains rather than globally linkable.

All switches

FlagValueDescription
--fingerprint<seed>Master seed (int or string). Drives canvas, WebGL, audio, fonts and client-rect noise. Same seed ⇒ same identity.
--fingerprint-platformwindows|linux|macosSpoof the operating system reported to the page (navigator.platform + UA-CH).
--fingerprint-platform-version<v>Platform version reported via User-Agent Client Hints.
--fingerprint-brandChrome|Edge|Opera|VivaldiBrowser brand presented in the UA and UA-CH brand list.
--fingerprint-brand-version<v>Brand version string.
--fingerprint-gpu-vendor<string>Override the WebGL UNMASKED_VENDOR string.
--fingerprint-gpu-renderer<string>Override the WebGL UNMASKED_RENDERER string.
--fingerprint-hardware-concurrency<n>Value reported by navigator.hardwareConcurrency.
--fingerprint-location<lat,lng>Geolocation coordinates returned to the page.
--timezone<IANA>IANA timezone, e.g. America/New_York. Sets the JS timezone coherently.
--accept-lang<langs>Accept-Language, e.g. en-US,en. Sets both the server-side Accept-Language header and navigator.languages coherently (native Chromium switch; no ;q= weights).
--webrtc-ip<ip>WebRTC reports this IP (your proxy egress). The engine fabricates the server-reflexive candidate at it and sends no real STUN, so the real IP never leaks — not a relabel.
--fingerprinting-canvas-image-data-noiseEnable canvas image-data noise.
--disable-gpu-fingerprintDisable the GPU/WebGL fingerprint spoof for this session.

Examples

A full, coherent Windows identity:

bash
--fingerprint=acme-tenant-7 \
--fingerprint-platform=windows \
--fingerprint-brand=Chrome \
--timezone=America/New_York \
--fingerprint-hardware-concurrency=8

A macOS identity with custom GPU strings:

bash
--fingerprint=42 \
--fingerprint-platform=macos \
--fingerprint-gpu-vendor="Apple" \
--fingerprint-gpu-renderer="Apple M2"

Pin a location together with its timezone so geolocation and clock agree:

bash
--fingerprint=nyc-1 \
--timezone=America/New_York \
--fingerprint-location=40.7128,-74.0060
Coherence matters more than any single value: keep platform, timezone, locale and GPU plausible together. See Architecture for how the engine keeps them consistent.