From browser check to verified result
- Collect. Load the JavaScript snippet and identify a visitor. On signed-in pages, pass a stable pseudonymous User HID.
- Identify. ShieldLabs links the check to its device, visitor and network, plus the supplied account.
- Detect. The server evaluates 300+ device and network signals, identifies bot and AI traffic, and returns a Risk Score with its contributing signals.
- Act. Receive the signed scored webhook or retrieve the identification through the History API. Use the verified result in your backend.
Read the check and the account
The Risk Score uses three risk bands: Trusted 0–29, Suspicious 30–59, Dangerous 60–100. The special value 999 means Banned IP. The dashboard category has a separate history-based calculation; it is not the maximum score for the selected period.
Two webhook event types
identification.scoreddelivers a check, its signal contributions and flags. Itshreobject covers sharing, travel and takeover evaluations.hre.multi_account.changeddelivers a multi-account group’s lifecycle change and members. It requires separate enablement and has its own schema, revision and deduplication rules.
Explore the analytics dashboard


Current analytics dashboard Overview, rendered with synthetic example data.
Start with one protected action
Choose a signup, login, payment or reward flow. Identify it in the browser, retrieve and validate the result on your backend, then test both legitimate use and repeat abuse. ShieldLabs provides 99.9% identification accuracy and 99.9% risk signal detection accuracy; Accuracy explains how to validate an integration.Quickstart
Install the snippet and retrieve your first result.
Runnable tutorials
Build a complete example for a protected action.
Risk signals
Read weights, source flags and grouped UI labels.
Identifiers
Understand users, devices, visitors and requests.