Skip to main content
Device Fingerprinting automatically collects browser and device signals during the hosted verification flow. These signals generate a risk score and fraud indicators that help you detect bots, emulators, and repeat offenders.

What’s Collected

Verilock’s fingerprinting SDK captures the following signals transparently during the hosted flow — no additional integration required.
CategorySignals
BrowserUser agent, language, timezone, installed plugins, cookie support
Operating SystemPlatform, OS version, CPU cores, device memory
ScreenResolution, color depth, pixel ratio, available dimensions
CanvasCanvas rendering hash (unique per GPU/driver combination)
WebGLGPU vendor, renderer, supported extensions
AudioAudioContext fingerprint
NetworkConnection type, IP geolocation, VPN/proxy detection
BehaviorTouch support, pointer type, Do Not Track setting
Fingerprinting runs automatically during hosted verification sessions. No additional SDK configuration is needed.

Risk Scoring

Each session receives a device risk score from 0 (no risk) to 100 (highest risk), calculated from the collected signals.
Score RangeLevelDescription
0 — 20LowNormal browser on a standard device
21 — 50MediumMinor anomalies detected (e.g., unusual timezone/IP mismatch)
51 — 80HighMultiple fraud signals present
81 — 100CriticalStrong indicators of fraud, bot, or emulation

Fraud Signals

Verilock flags specific fraud indicators when detected:
SignalDescription
botAutomated browser detected (headless Chrome, Puppeteer, Selenium)
emulatorDevice emulator detected (e.g., Android emulator, BrowserStack)
tamperedBrowser properties have been spoofed or modified
webdriverWebDriver automation flag is present
incognitoPrivate/incognito browsing mode detected
vpnTraffic routed through a known VPN provider
proxyTraffic routed through a known proxy server
torTraffic originating from a Tor exit node
multiple_accountsSame device fingerprint seen across different sessions

Cross-Session Tracking

Device fingerprints are stored and compared across all sessions in your organization. This enables:
  • Duplicate detection — flag when the same device submits multiple verification sessions
  • Velocity checks — detect rapid submissions from the same device
  • Device linking — connect sessions that share the same fingerprint even if personal details differ
The device_id field in the session response is a stable identifier for the device across sessions.

API Response

Device fingerprinting data is included in the session detail response (GET /v1/sessions/{id}):
{
  "id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "approved",
  "device_fingerprint": {
    "device_id": "dfp_8a7b6c5d4e3f2a1b",
    "risk_score": 15,
    "risk_level": "low",
    "fraud_signals": [],
    "browser": "Chrome 122.0",
    "os": "macOS 15.3",
    "screen_resolution": "2560x1440",
    "timezone": "America/New_York",
    "ip_address": "203.0.113.42",
    "ip_country": "US",
    "vpn_detected": false,
    "proxy_detected": false,
    "previous_sessions": [],
    "collected_at": "2026-03-18T10:00:00Z"
  }
}

High-Risk Example

{
  "device_fingerprint": {
    "device_id": "dfp_suspicious123",
    "risk_score": 87,
    "risk_level": "critical",
    "fraud_signals": ["bot", "webdriver", "tampered"],
    "browser": "Chrome 122.0 (headless)",
    "os": "Linux x86_64",
    "screen_resolution": "1920x1080",
    "timezone": "UTC",
    "ip_address": "198.51.100.10",
    "ip_country": "RO",
    "vpn_detected": true,
    "proxy_detected": false,
    "previous_sessions": [
      "ses_prev1-uuid",
      "ses_prev2-uuid"
    ],
    "collected_at": "2026-03-18T10:05:00Z"
  }
}

Response Fields

FieldTypeDescription
device_idstringStable device identifier for cross-session tracking
risk_scoreintegerDevice risk score (0-100)
risk_levelstringlow, medium, high, or critical
fraud_signalsarrayList of detected fraud indicators
browserstringBrowser name and version
osstringOperating system and version
screen_resolutionstringScreen resolution
timezonestringIANA timezone
ip_addressstringClient IP address
ip_countrystringISO 3166-1 alpha-2 country code
vpn_detectedbooleanWhether VPN usage was detected
proxy_detectedbooleanWhether proxy usage was detected
previous_sessionsarraySession IDs from the same device
collected_atstringISO 8601 timestamp of data collection
Device fingerprinting requires the hosted verification flow. API-only sessions (direct document upload) do not collect device data.