Privacy & Anti-Fingerprint
Anonymous Anti-Fingerprint Browser
A hardened Chromium build that controls what canvas, WebGL, audio-context and font data sites can read.
- Chromium
- C++
- Canvas
- WebGL
- Audio context
- Fonts
What was built
A hardened Chromium build designed to resist advanced anti-bot and device-fingerprinting techniques. Rather than blocking scripts outright, it works on the specific browser surfaces that sites use to recognise a device: canvas rendering, WebGL, the audio context and installed fonts. Controlling those signals at the browser level, instead of through an extension, keeps the values consistent across a session instead of producing a browser that looks tampered with.
The engineering challenge
Fingerprint protection is easy to get wrong. Values that are randomised without care can contradict each other, and an inconsistent profile stands out more than an ordinary one. Doing this well means changing the browser itself so canvas, WebGL, audio-context and font signals stay consistent with each other, rather than patching each one in isolation. It also means testing against real fingerprinting scripts, not just checking that each individual signal looks different in isolation, since detection scripts cross-check several signals against each other to catch exactly this kind of inconsistency.
How it works
Illustration: the browser signals a site can read, and where the hardening sits.
Engineering scope and what shipped
- Countermeasures for advanced anti-bot and device-fingerprinting techniques
- Control over canvas, WebGL, audio-context and font signals
Engineering approach: how it fits together
How the fingerprinting countermeasures are layered in
The browser
A hardened Chromium build; no separate branding, since the point is to look and behave like an ordinary browser.
Canvas and WebGL control
Rendering output for canvas and WebGL is controlled at the source, so repeated reads stay consistent with each other.
Audio-context and font control
The same consistency applied to audio-context fingerprinting and the list of fonts a page can detect.
Chromium
The engine these signals are actually generated by, changed at the C++ level rather than intercepted from JavaScript.
Build and release
Compiled and packaged as a standalone hardened browser build.
- Your product
- Our engineering
- Upstream, kept as close to unmodified as possible
- Platforms and release
Related services
Facing a similar engineering problem?
Tell us what you are building. A browser engineer will walk you through how we would approach it, what is hard about it and what it takes to maintain.

