A good integration is a few decisions made up front. This page walks through them.
Where to identify
Identify at the moments that carry risk or value, not on every page view. Each production identification is billed.
| Moment | Tag | Typical decision |
|---|---|---|
| Sign-up | signup | Limit accounts per visitor; review high-risk sign-ups. |
| Login | login | Step up to a second factor on medium; lock on high. |
| Checkout | checkout:<order id> | Hold high-risk orders for review. |
| Promotion redemption | promo:<code> | One redemption per visitor. |
| Password reset | password-reset | Slow down resets from new, high-risk visitors. |
Tag every identification
A tag binds an identification to the action it was made for. When your server checks the tag, a request ID captured on a harmless page cannot be replayed at checkout. Include an identifier from the action itself, such as an order ID, where you have one.
Keys per environment
| Environment | Keys | Billed | Use for |
|---|---|---|---|
| Development | Public and secret | No | Laptops and CI. |
| Staging | Public and secret | No | Pre-release testing with realistic traffic. |
| Production | Public and secret, optionally a proxy key | Yes | Real visitors. |
Each environment's events, dashboards and webhooks are kept apart, so test traffic never shows up in production numbers. See API keys and environments.
Roll out a policy
Step 1: Observe
Identify and store results without acting on them. Log what each level would have done.
Step 2: Tune
Review high and medium sessions in the dashboard. Adjust risk weights and the threshold until the levels match what you see.
Step 3: Add friction first
Act on
mediumwith friction a real customer can pass, such as a second factor.Step 4: Enforce
Act on
highonce you trust it: review, block, or limit.
Decide on the server
Always read results with a secret key on your backend. Anything the browser reports, including the score, can be changed by whoever controls the browser. See server-side verification.
Consent
The SDKs collect as soon as they are called, unless you load them with a consent state other than granted. If your legal basis requires consent, load with pending and pass on your consent tool's answer. See consent tools.
Checklist
- Identification points chosen and tagged.
- Public key origins list every production domain.
- Secret key stored only on servers.
- Server checks the tag, the age and the level.
- Failures degrade to missing evidence, not errors.
- Consent gate in place where required.