Skip to content

Network Fingerprinting

Network fingerprinting reads connection information from the Network Information API. Available primarily in Chromium-based browsers.

Collected signals

SignalExampleNotes
effectiveType4gEstimated connection type
downlink10Mbps bandwidth estimate
rtt50Round-trip time in ms
saveDatafalseData saver mode
typewifiConnection type (when available)
onLinetruenavigator.onLine

Entropy and stability

PropertyValue
Entropy~3 bits
Stability0.30
Typical duration<1ms

Lowest stability of all collectors. Values change with network conditions. Excluded in incognito-resistant mode.

HTTPS dependency

Network Information API is only available in secure contexts (HTTPS). On HTTP, neoprint automatically excludes this collector from the hash.

Web Worker offloading

Network collector runs in a Web Worker by default. navigator.connection is available in Worker contexts.

Usage

ts
const fp = await neoprint.get({ collectors: ['network'] })
const net = fp.components.network.value

console.log(net.effectiveType)  // "4g"
console.log(net.rtt)            // 50

Released under the MIT License.