Identifiers
ShieldLabs uses four identifiers in every webhook payload. Each tracks a different dimension of the user session.RequestID
Scope: Single check The
RequestID identifies one specific fingerprint submission. Every call to checkAnonymous() or checkAuthenticatedUser() generates a new RequestID.
Use RequestID to:
- Correlate the browser callback with the incoming webhook
- Look up a specific session in the dashboard
- Query historical data via the pub API
DeviceID
Scope: Device (hardware + software fingerprint) The
DeviceID is a MurmurHash3 x64 128-bit hash of 30+ browser parameters: canvas, WebGL, fonts, audio, screen, platform, and more.
- Stable across browser sessions for the same device
- Changes if hardware changes significantly (GPU, screen) or browser profile is reset
- Anti-detect browsers often cycle DeviceIDs
DeviceID to:
- Detect the same physical device across multiple accounts (multi-accounting)
- Rate-limit by device rather than IP or user
- Identify devices that have been banned
VisitorID
Scope: Browser profile (localStorage) The
VisitorID is stored in localStorage and persists across browser sessions on the same device/profile. It identifies a persistent visitor.
- Survives page refreshes and browser restarts
- Cleared when the user clears localStorage
- Different browser profiles on the same device have different
VisitorIDs - Private/incognito mode generates a new
VisitorIDeach session
VisitorID to:
- Track returning visitors across sessions
- Detect users who create multiple accounts with the same browser profile
- Build a history of risk scores for a visitor over time
UserHID
Scope: Authenticated user The
UserHID is the value you pass to checkAuthenticatedUser(). It should be a stable, hashed identifier for the user — never the raw user ID or email.
"anonymous"whencheckAnonymous()is used- Lets you query all sessions for a specific user via the pub API
Summary
| Identifier | Tracks | Changes when | Example use |
|---|---|---|---|
RequestID | Single check | Every check | Correlate webhook with browser event |
DeviceID | Hardware fingerprint | Hardware/browser profile changes | Multi-accounting, device bans |
VisitorID | Browser profile | localStorage cleared | Returning visitor history |
UserHID | Your user | You pass a different value | Per-user risk history |