session_token that you include in POST /v1/kyc/start.
Audience: developers (with a product-team section below). The
session_token is optional but strongly recommended — it is the single most effective lever for keeping your REVIEW rate low and your instant-approval rate high.Why it matters
Socure’s evaluation combines the identity data you submit (PII) with device and behavioural context. The DI signals are what tip borderline cases into a clear ACCEPT:- More participants approved instantly. Without DI signals, Socure has less confidence in legitimate participants, and more of them land in REVIEW.
- Lower REVIEW rate. A REVIEW means onboarding isn’t finished — the participant must either upload a photo ID (DocV, which adds friction and drop-off) or wait for a manual review (hours to days). Every reduction in REVIEW is a direct conversion win.
- Device-level fraud detection. DI also flags velocity abuse, bot patterns, and fraud rings, improving the quality of your participant population.
session_token will not cause an evaluation to fail — but expect a higher false-REVIEW rate.
What data DI collects
DI collects non-PII device and session signals only. PII (name, SSN, address) is transmitted solely when you callPOST /v1/kyc/start.
| Signal type | Examples |
|---|---|
| Device fingerprint | Browser type/version, OS, screen resolution, fonts |
| Network signals | IP address, ASN, proxy/VPN detection |
| Behavioural signals | Typing cadence, form-interaction timing, pointer patterns |
| Session metadata | Session duration, page-interaction sequence |
Implementation
The DIsdk_key is provided by the Polymarket US onboarding team. It is a public key and safe to include in client-side code. Initialise DI when the KYC form page loads, then call getSessionToken() immediately before submitting the form.
Addressing product-team concerns
We don't want a third-party script on our site
We don't want a third-party script on our site
The DI script is hosted by Socure and loaded from
sdk.socure.com. Load it only on your KYC form page(s) — not site-wide. It runs during the KYC flow and collects non-PII signals.We already collect device/IP data — can't we pass it directly?
We already collect device/IP data — can't we pass it directly?
No. The DI session token is cryptographically tied to Socure’s own collection event; it cannot be replicated by forwarding equivalent data through another channel.
Will this slow down our form?
Will this slow down our form?
No. The script loads asynchronously and
getSessionToken() typically returns in under 100ms. Initialising on page load spreads the work across the participant’s time on the page.Next steps
Verification Flow
Submit the participant with the
session_token and handle each outcome.Overview
How the Socure-backed KYC process fits together.