Signal Overview
FingerprintIQ collects 41 client-side signals and 6 server-side signals for device identification.
Signal Architecture
FingerprintIQ uses 47 total signals split across two collection layers:
- 41 client-side signals — collected by the JavaScript SDK running in the browser
- 6 server-side signals — extracted from the HTTP request at the Cloudflare edge
Each signal has limited entropy on its own. By combining many independent signals, FingerprintIQ achieves a composite fingerprint that is unique across millions of devices, stable across sessions, and resistant to spoofing attempts.
Client Signals (41)
| # | Signal | Category | Entropy | Stability |
|---|---|---|---|---|
| 1 | Canvas | Rendering | High | Medium |
| 2 | WebGL | Hardware | Very High | Very High |
| 3 | WebGPU | Hardware | High | Very High |
| 4 | Audio | Rendering | High | Medium |
| 5 | Fonts | System | High | High |
| 6 | WebRTC | Network | Medium | Low |
| 7 | WASM Timing | Performance | Medium | Medium |
| 8 | Navigator | System | Medium | Very High |
| 9 | Media Queries | Preferences | Low | High |
| 10 | Screen | Display | Medium | Very High |
| 11 | Integrity | Security | Medium | High |
| 12 | Wallets | Web3 | High | High |
| 13 | Storage | Browser | Low | High |
| 14 | Math | Engine | Medium | Very High |
| 15 | DOMRect | Rendering | Medium | High |
| 16 | Headless | Security | High | High |
| 17 | Speech Synthesis | System | Very High | High |
| 18 | Intl Locale | System | High | Very High |
| 19 | Timezone | System | Medium | Very High |
| 20 | CSS Computed Style | Engine | High | High |
| 21 | JS Error Messages | Engine | High | Very High |
| 22 | Worker Scope | Security | Medium | High |
| 23 | Resistance | Privacy | Medium | Medium |
| 24 | SVG | Rendering | Medium | High |
| 25 | Window Features | Engine | Medium | High |
| 26 | HTML Element | Engine | Medium | High |
| 27 | Media Codecs | System | High | High |
| 28 | Status | System | Medium | Medium |
| 29 | Platform Features | Hardware | High | Very High |
| 30 | UA Client Hints | System | Medium | Very High |
| 31 | Capability Vector | Engine | Medium | High |
| 32 | Geometry Vector | Rendering | Medium | High |
| 33 | Runtime Vector | Engine | Medium | High |
| 34 | Sensor Capabilities | Hardware | Low | Very High |
| 35 | Behavioral Risk | Security | High | Medium |
| 36 | Incognito | Browser | Medium | High |
| 37 | DevTools | Security | Medium | Low |
| 38 | Virtualization | Security | High | High |
| 39 | Rooted / Jailbreak | Security | Medium | High |
| 40 | CSS Feature Detection | Engine | Medium | High |
| 41 | Frame Depth | Security | Low | High |
Server Signals (6)
| Signal | Source | Spoof Resistance |
|---|---|---|
| TLS Fingerprint | Cloudflare edge | Very High |
| ASN Classification | IP → ASN lookup | High |
| Geo Coherence | RTT vs location | High |
| HTTP Header Order | Request headers | High |
| UA Consistency | Cross-signal check | Very High |
| Request Priority | HTTP/2 frames | High |
Server-side signals are collected at the Cloudflare edge before the request reaches the Worker. They reflect the client's actual network stack and cannot be modified by browser extensions or JavaScript.