Signal records — row that would be written
ipaddress
—
Final octet masked — city-level precision retained
timezone
—
IANA timezone from
Intl API — survives VPNs
eid
set at deployment
Map ID — passed via
data-eid
ptype
post_reg
Pending rename
request_time
—
Server timestamp at receipt
Classification signal
Evaluating…
Waiting for IP lookup to complete.
Fingerprinting
fp hash
Computing…
Stable browser signals — canvas + math + WebGL + screen + env
canvas
—
math
—
webgl
—
Full IP (never stored)
Full IP
Fetching…
Visible to the server — truncated before writing to DB
Truncated
—
a.b.c.d → a.b.c.x — city-level precision, final octet masked
IP Geolocation
City
Fetching…
Region
—
Country
—
Lat / Lon
—
From IP geolocation — city-level precision with full IP
IP timezone
—
Timezone ipinfo assigns to this IP — compared against browser timezone
Browser timezone
—
From
Intl API — reflects OS, not network
Org / ISP
—
Distance to venue
—
Haversine from IP lat/lon to example venue (ExCeL London)
All browser signals
Browser
userAgent
—
vendor
—
language
—
languages
—
cookieEnabled
—
doNotTrack
—
pdfViewerEnabled
—
webdriver
—
true = automated browser / bot signal
Device
platform
—
CPU cores
—
hardwareConcurrency — bots often report 2 or 4
RAM
—
deviceMemory — rounded to nearest bucket (GB)
touchPoints
—
maxTouchPoints — 0 = no touch screen
Screen
resolution
—
available
—
Excludes taskbar / dock
colorDepth
—
devicePixelRatio
—
>1 = HiDPI / Retina display
viewport
—
Network
onLine
—
effectiveType
—
4g / 3g / 2g / slow-2g
downlink
—
Estimated Mbps
saveData
—
Timezone & Locale
IANA timezone
—
UTC offset
—
locale
—
local time
—
Preferences
color scheme
—
reduced motion
—
contrast
—
HDR
—
Storage
localStorage
—
sessionStorage
—
indexedDB
—
Graphics (WebGL)
renderer
—
vendor
—
WebGL version
—
Audio
sampleRate
—
maxChannelCount
—
Canvas fingerprint
hash
—
Rendering differences across GPU/OS/browser produce a unique hash
Client Hints (UA-CH)
brands—Low-entropy — available without permission
mobile—
platform—
architecture—High-entropy
bitness—High-entropy
platform ver—High-entropy
full versions—High-entropy
Plugins
count—
names—
MIME types—
Math fingerprint
hash—Hash of transcendental function results — varies by CPU / OS / JIT engine
tan(−1e308)—
acos(0.123…)—
sinh(1)—
hypot(1…5)—
Speech Synthesis
voice count—
voices—
Battery
charging—
level—
charge time—
discharge time—
Permissions
notifications—
camera—
microphone—
geolocation—
clipboard-read—
clipboard-write—
Privacy & Identity
Brave browser—
globalPrivacyControl—
crossOriginIsolated—
isSecureContext—
CSS Media & Input
color gamut—
pointer—fine = mouse / coarse = touch
any-pointer—
hover—
forced colors—
inverted colors—
display update—fast = normal screen / slow = e-ink / none = print
WebGL Parameters
shading lang—
max texture—
max viewport—
aliased line—
aliased point—
RGBA bits—
depth bits—
stencil bits—
extensions—
ext list—
Performance & Memory
heap limit—
heap used—
heap total—
storage quota—
storage used—
WebRTC IP Leak
public IP—Leaked via STUN candidate SDP — reveals real IP even behind VPN
local IP—mDNS hostname or LAN IP from host candidate
ICE foundation—
Audio Fingerprint
sample sum—Sum of rendered audio samples — varies by OS audio stack / CPU
compressor gain—
freq sum—
time domain sum—
unique samples—
hash—
Font Detection
detected (51)—
list—
platform guess—
DOMRect
elem getBCR—getBoundingClientRect() on a transformed element
range getBCR—
emoji sum—Sum of emoji DOMRect dimensions — GPU/rendering pipeline dependent
hash—
SVG Rendering
bBox—
computedTextLen—
extentOfChar—
subStringLength—
emoji sum—
hash—
Canvas 2D (extended)
text URI hash—
emoji URI hash—
paint URI hash—
textMetrics sum—Sum of actualBoundingBoxAscent across emoji set
Intl API
locale—
dateTimeFormat—
numberFormat—21,000,000 formatted in browser locale
pluralRules—
relativeTime—
listFormat—
displayNames—
Headless Detection
webdriver—
headless UA—
no chrome obj—
no plugins—
SwiftShader—
timer precision—Reduced precision → Tor / Firefox RFP mode
Media MIME Types
audio/ogg vorbis—
audio/mpeg—
audio/wav—
audio/aac—
video/mp4—
video/webm vp9—
video/ogg—
Window & HTMLElement keys
window keys—
webkit keys—
moz keys—
apple keys—
HTMLElement keys—
window hash—
Error Stack Trace
Error stack—Stack format differs between V8 / SpiderMonkey / JavaScriptCore
ReferenceError—
TypeError—
CSS Computed Style
property count—
hash—
system font—caption font family — varies by OS
ButtonFace color—
Canvas color—
Overall fingerprint hash (SHA-256)
FP IDComputing…SHA-256 of all stable signals — matches creepjs FP ID format
fuzzyComputing…64-bin fuzzy hash — first char of SHA-256 per bin
Feature detection
Bluetooth—
USB—
Serial—
NFC—
WebXR—
Gamepad—
WakeLock—
PaymentRequest—
Credentials—
ServiceWorker—
Notifications—
WebShare
Clipboard API—
Geolocation—
MediaDevices—
MIDI—
Locks API—
OffscreenCanvas—
SharedArrayBuffer—
WebAssembly—
BigInt—
WebCrypto—
SpeechRecognition—
CompressionStream—
BroadcastChannel—
Worker—
SharedWorker