Fingerprinting is the tracking technique that survives everything else. Block cookies, clear storage, use a private window: the browser still announces enough about itself to be recognised. Every major browser now ships mitigations, and the question we wanted answered was not whether they work but where the remaining information lives.
We built a 42-attribute probe and ran it across 12,140 sessions from consenting participants who installed a measurement extension. Participants could see every attribute collected before opting in, and the probe reported hashed attribute values with no network or account identifiers attached.
Where the bits are
The distribution is heavily skewed. Four attribute groups — font metrics, canvas and WebGL rendering, media capability enumeration, and timing-derived hardware signals — account for roughly 71% of total entropy. The long tail of user-agent strings, language settings, and screen dimensions contributes far less than the fingerprinting literature's early results suggested, largely because those attributes have converged as browsers standardised or froze them.
Mitigations work, narrowly
Enabling every available mitigation reduced median entropy from 16.8 to 13.2 bits. To translate: 16.8 bits distinguishes about one user in 114,000; 13.2 bits distinguishes about one in 9,400. Both numbers are comfortably sufficient to re-identify a person within any population a tracker actually cares about, and the difference between them matters much less than the fact that both are far above zero.
| Attribute group | Default entropy | Hardened | Reduction | Targeted? |
|---|---|---|---|---|
| Font metrics | 3.9 bits | 3.4 bits | 13% | Partially |
| Canvas / WebGL | 3.6 bits | 1.1 bits | 69% | Yes |
| Media capabilities | 2.8 bits | 2.7 bits | 4% | No |
| Timing-derived hardware | 1.6 bits | 1.5 bits | 6% | No |
| Screen & window | 1.9 bits | 1.4 bits | 26% | Partially |
| User agent & headers | 1.4 bits | 1.2 bits | 14% | Yes |
| Storage & API surface | 1.6 bits | 1.9 bits | −19% | No |
The row we did not expect is the last one. Storage and API surface entropy increased under hardened settings, by about 19%. Disabling features makes a browser unusual. A user who has turned off six APIs that almost nobody turns off is wearing a distinctive coat, and the mitigation has traded one identifier for another. This is a known effect in the literature and we were still surprised by the magnitude.
A privacy setting that few people enable makes the people who enable it easier to find. Mitigations only work when they are the default for everyone.
The uniformity argument
This is why we think the correct design goal is uniformity rather than reduction. A browser that makes every user look identical at 8 bits of entropy protects them far better than one that reduces a distinctive user to 6 bits. The second sounds better and performs worse, because entropy measured against a population is the only measure that matters.
The practical consequence for Dart is that we do not ship user-facing anti-fingerprinting toggles. Mitigations that are on for everyone, always, with no configuration surface, are the only kind that helps. That is a worse product decision in a feature comparison and a better one in a threat model, and we would rather explain the reasoning than win the comparison.
Method
Limitations
Entropy measured within a sample is an underestimate of entropy in the wild whenever the sample is smaller or more homogeneous than the real population, and ours is both. Participants who install a fingerprinting measurement extension are unusual people running unusual configurations, which inflates the apparent distinctiveness of hardened settings specifically. The probe cannot measure attributes that require permissions we did not request, so the true surface is larger than 42 attributes. And the figures are a snapshot: browser mitigations changed materially during the collection window, which we handled by version-stratifying the analysis but which still blurs the picture.
The probe is open source and the aggregated entropy tables are published. We would particularly welcome a replication on a general population rather than a self-selected one, which is the weakness we cannot fix ourselves: research@dartbrowser.com.
Related work
Eckersley’s Panopticlick [1] established the method and the headline result that browsers are broadly unique. Laperdrix et al. [2] extended it and Gómez-Boix et al. [3] provided the important corrective: on a large, general population, uniqueness is considerably lower than self-selected samples suggest. That correction applies directly to us and we flag it as our principal limitation. Our contribution is the before-and-after comparison across the current mitigation generation, and the observation that hardened configurations increase entropy in the storage and API-surface group — the anonymity-set effect described by Dingledine and Mathewson [5].
Artefacts
Everything below is published or available on request. A number nobody can reproduce is an advertisement, not a result.
References
- Eckersley, P. (2010). How Unique Is Your Web Browser? Privacy Enhancing Technologies Symposium.
- Laperdrix, P., Rudametkin, W., & Baudry, B. (2016). Beauty and the Beast: Diverting Modern Web Browsers to Build Unique Browser Fingerprints. IEEE S&P.
- Gómez-Boix, A., Laperdrix, P., & Baudry, B. (2018). Hiding in the Crowd: An Analysis of the Effectiveness of Browser Fingerprinting at Large Scale. The Web Conference.
- Englehardt, S., & Narayanan, A. (2016). Online Tracking: A 1-million-site Measurement and Analysis. ACM CCS.
- Dingledine, R., & Mathewson, N. (2006). Anonymity Loves Company: Usability and the Network Effect. WEIS.
- Leith, D. J. (2020). Web Browser Privacy: What Do Browsers Say When They Phone Home? Trinity College Dublin.
Bhardwaj, M. (2025). Fingerprinting surface after mitigation: entropy across 12,000 sessions. Dart Browser Research, DBR-2025-02.