Skip to content
Glossary

Browser fingerprinting

Building an identifier from browser and device characteristics exposed to JavaScript.

Browser fingerprinting assembles a large number of small, individually unremarkable properties into an identifier that is often unique. It runs in JavaScript once the page loads.

#Properties commonly collected

  • Screen dimensions, colour depth, device pixel ratio.
  • Installed fonts, detected by measuring rendered text.
  • Canvas and WebGL output, which vary with GPU and driver.
  • Audio stack behaviour.
  • Timezone, language, platform, hardware concurrency.
  • Available plugins and supported media types.

#Why automation is easy to spot

Headless browsers historically exposed direct tells such as navigator.webdriver. Those are patchable, but internal consistency is much harder to fake: a fingerprint claiming macOS with Linux font metrics, or a GPU renderer string that no consumer machine reports, stands out precisely because real devices are consistent.

#The practical implication

Changing your address does nothing here. A pristine residential exit combined with an implausible fingerprint is still identifiable — and the combination can look worse than either problem alone.