Install
Install shows the snippet for the selected domain, with its Public Key already in the import URL.- Pick your stack to get the snippet in the form your platform expects.
- Anonymous visitors: the snippet with
checkAnonymous(), for pages without sign-in. - Authenticated users: the snippet with
checkAuthenticatedUser(userHashedId). Pass a hashed User HID withcheckAuthenticatedUseron every signed-in page. Users, account-level risk and all four High-Risk Events are built on it. Use a hashed or pseudonymous ID, never a raw internal ID. - Snippet methods:
checkAnonymous,checkAuthenticatedUser,forceCheckAnonymousandforceCheckAuthenticatedUser.
checkAnonymous and checkAuthenticatedUser run at most one identification every five minutes for the same user in the same browser, within the same visit and shared across open tabs. A full page load in the only open tab can start a new visit; see visit and cooldown behavior. A call inside that window posts nothing, counts nothing, and its onInitialized handler receives { status: "not_initialized" }. forceCheckAnonymous and forceCheckAuthenticatedUser run an identification every time, keep the current Session ID and restart the five-minute window.
The banner under the snippets shows the selected domain’s reporting state and the time of its last saved check. Reporting means at least one check has been saved; it does not guarantee recent activity. Pending means no check has been saved yet. Paused and Frozen indicate the restrictions described below. If data cannot be loaded, Unavailable must not be interpreted as Pending. If your site sends a Content-Security-Policy header, allow the hosts listed on Content Security Policy. Full steps: Install the snippet.
Install with AI, marked Alternative, gives the same install as a ready-made instruction for your AI assistant: your domain and Public Key, the snippets for anonymous visitors and signed-in users, the Content-Security-Policy header, where the snippet goes and how to check the install. Copy it with the copy button on the card or with Copy installation guide at the top of the tab; Show the whole prompt expands it. Build with AI has prompts for the rest of the integration.
Domains
Domains lists every domain on your account with its Status, its identifications in the period and its Subdomains setting.
One status is shown. Paused takes priority if the domain is both paused and at its rate limit. See Domain status.
Subdomains reads Accepted when the domain also takes traffic from its subdomains, and Exact host when it takes only its own host. Each domain can be paused, resumed or deleted; deleting asks you to type the domain back and keeps its identification history. Add domain adds a host; at your plan’s limit the button reads Upgrade plan to add a domain. Your plan sets how many domains you can add: Free 1, Starter 1, Growth 3, Scale 5. All your domains share one account quota. Full steps: Domains.
API keys
API keys shows one key type at a time: pick Public Key, Private API Key or Secret Key, and each domain in scope gets a row with its key, when it was last used and its usage in the period.
The Public Key shows in full and the other two are masked. The copy button copies the full key. Rotate replaces it, and the previous key stops working at once, so coordinate rotation with updating the snippet or server client. Full steps: API keys.
Webhooks
Webhooks lists your endpoints with their signing secret, status and last delivery. Add endpoint registers an HTTPS URL for a domain. Each domain takes up to 10 endpoints, and each endpoint gets its ownwhsec_ signing secret.
- Verify sends a
webhook.pingdelivery. A 2xx answer verifies the endpoint. - Test sends a sample
identification.scoreddelivery and shows the HTTP status and how long it took. - Edit, Rotate secret, pause or resume deliveries, and Delete manage the endpoint.
X-Shield-Signature header, sha256= followed by the HMAC-SHA256 of the raw request body, in Node.js, Python, Go, PHP, Ruby and C#. Full steps: Webhooks.
Next steps
Install the snippet
Both snippets, the four methods and framework examples.
Identify signed-in users
The User HID that users and High-Risk Events are built on.
Domains
Add, pause and scope your domains.
API keys
What each key authenticates and where it belongs.
Webhooks
Register an endpoint and verify every delivery.
Read one account in code
Every identification of one account through the History API.