Hardware Fingerprint Dataset Analysis
hardwareConcurrency — Major Contamination
This section of the dataset shows clear signs of contamination.
| OS |
"Junk" Core Counts Present |
| Windows |
48 (7.6%), 56 (2.9%), 32 (2.3%), 24 (2.6%), 640 (1.6%) |
| macOS |
384 (11.2%), 124 (2.1%), 90 (1.8%), 192 (1.8%) |
| Android |
384 (13.4%), 96, 184, 192 |
| iOS |
384 (3.1%), 36 (3.1%), 96 (2.3%), 80, 104, 72, 64, 33 |
Key Observations:
- iOS Safari is hard-capped at 4 cores.
- macOS is hard-capped at 8 cores.
- Anything beyond these limits is a strong indicator of contamination.
- Extreme values like 384 and 640 cores are almost certainly server/cloud VM fingerprints leaking into the dataset.
Sane share: ~85–90%. The remainder is poison.
deviceMemory — Same Story
- Windows / Android / Linux: ~86% report 8 GB (correct — the API is capped at 8 GB). This is expected and clean.
- macOS: 75% at 8 GB, but 19% MISSING and ~6% spread across unrealistic values (0.5 / 1 / 2 / 4 GB). Half-GB memory on a Mac is impossible.
- iOS: 85% missing (correct — iOS does not expose
deviceMemory), 15% at 8 GB.
Screen / DPR / colorDepth / HDR
Cross-OS Contamination (Consistency Failures)
navigator.platform is supposed to be conditioned on the User-Agent, but it does not match cleanly.
| UA OS |
Top navigator.platform Values |
| Windows |
Win32 (92.9%), Linux x86_64 (6.9%), Win64 (0.2%) |
| macOS |
MacIntel (78.6%), Linux x86_64 (21.3%) |
| Linux |
Linux x86_64 (65.9%), Linux i686 (15.3%), MacIntel (4.5%), Win32 (0.2%) |
A User-Agent claiming macOS with navigator.platform === "Linux x86_64" will fail even trivial consistency checks.
Bottom Line
- Browser side looks current (Chrome 145, Safari 26, M4/M5 Apple Silicon). The dataset has been refreshed recently.
- Hardware side is heavily poisoned (~10–15% of the joint mass):
- Impossible core counts (384 / 640)
- GPU-less software renderers (SwiftShader / MS Basic / llvmpipe) — ~8% Win, 38% Linux, 25% macOS
- Headless 800×600 screens
- Sub-8 GB Macs
- Platform vs User-Agent mismatches
Recommendation:
If you sample from this dataset without filtering, your generated fingerprints will be detectable ~10–20% of the time using cheap consistency rules.
Fix: Apply a sanity filter at sample time:
- Reject if
(macOS && cores > 24)
- Reject if
(iOS && cores != 4)
- Reject if
(Mac && deviceMemory != 8 && deviceMemory != null)
- Reject if
(width <= 800)
- Reject if
(macOS UA && platform != "MacIntel")
- etc.
Hardware Fingerprint Dataset Analysis
hardwareConcurrency— Major ContaminationThis section of the dataset shows clear signs of contamination.
Key Observations:
Sane share: ~85–90%. The remainder is poison.
deviceMemory— Same StorydeviceMemory), 15% at 8 GB.Screen / DPR / colorDepth / HDR
800×600 resolution appears at:
→ This is the classic headless Chromium default, not a real user resolution.
Realistic resolutions:
colorDepth issues:
DPR distributions look sane:
HDR:
Cross-OS Contamination (Consistency Failures)
navigator.platformis supposed to be conditioned on the User-Agent, but it does not match cleanly.navigator.platformValuesA User-Agent claiming macOS with
navigator.platform === "Linux x86_64"will fail even trivial consistency checks.Bottom Line
Recommendation:
If you sample from this dataset without filtering, your generated fingerprints will be detectable ~10–20% of the time using cheap consistency rules.
Fix: Apply a sanity filter at sample time:
(macOS && cores > 24)(iOS && cores != 4)(Mac && deviceMemory != 8 && deviceMemory != null)(width <= 800)(macOS UA && platform != "MacIntel")