Fingerprinting
Deep-dives into the signals that identify a browser, and how to keep them coherent.
4 articles
The font stack under the user agent: two OS tells a persona cannot reach
Text is drawn by the operating system's own font scaler and font manager. Two measurements read them directly, and neither cares what the user agent says.
Spec invariants as lie detectors
Many web APIs are not free-form — the spec or the engine constrains their values, so a reading can be convicted by the API's own rules, with no baseline and no population data.
Cross-realm coherence: why a worker must agree with the page
A page is not one JavaScript realm but several — and the values they report about the same machine have to match.
Anatomy of a browser fingerprint: every signal, and why they must agree
A field guide to the signals that make a browser identifiable — grouped by where they come from and how they betray a spoof.
Other topics
Design principles
1 articleThe ideas that shape how Clearcote is built — and why.
Detection teardowns
2 articlesHow automation gets caught — layer by layer, from the driver to the network.
Engineering
1 articleHow the browser is patched, built and verified, in the open.
Benchmarks
1 articleReproducible tests: what we measure, how, and the numbers.