Limiter
Enabled rulesets block abusive identify traffic automatically; pass ruleset_id on Events GET for inline evaluation in your backend.
Visitor intelligence
Stable device/browser handles across repeat visits — slim SDK in the browser, authoritative smart signals on your server. originId is not a unique-human identifier; gate sensitive actions on confidence plus account.
Identify session
Production key · visitor intelligence
POST /api/identify → originId oid_7f3c…a91e → eventId evt_2k8m…p4wq GET /api/events/evt_2k8m…p4wq → vpndetected→ botclear→ score42medium
Fraud fields server-side only · 5-minute event window · Events API authoritative
Quick start
Install the SDK and point it at your identify endpoint.
pnpm add @visitoriq/clientIntegration
One npm install or script tag. Production keys return a slim response — your backend fetches smart signals and suspect scores via the Events API.
Industries
From fintech and marketplaces to SaaS, gaming, healthcare, and beyond — teams use DigitalFingerprint wherever visitor identity drives risk, revenue, or trust.
100+
client signal fields collected in-browser
<100ms
typical identify latency on local stack
Server-side
VPN, bot, velocity, and tampering enrichment
Platform
Slim browser payloads in, enriched intelligence out — fraud logic stays server-side and authoritative.
Enabled rulesets block abusive identify traffic automatically; pass ruleset_id on Events GET for inline evaluation in your backend.
Identity persists when IPs change. Server-side enrichment adds confidence beyond network signals alone.
Bot, tampering, incognito, velocity, and IP intelligence — computed server-side on every identify call.
npm or script tag. One init call returns a persistent originId; fraud fields stay on your server.
Every enriched event includes confidence, match level, and fraud-oriented scoring your rules can act on.
Pass linkedId at identify time and use account-link at signup to surface duplicate-account abuse before it scales.
How it works
Step 1
Install DigitalFingerprint
Add via npm or script tag on your origin.
Step 2
Collect signals
100+ canvas, WebGL, audio, hardware, and storage probes in-browser.
Step 3
Enrich server-side
Your API returns a slim SDK payload; fetch fraud fields via Events.
server.ts
// Authoritative enrichment — never trust browser fraud fields
const res = await fetch(
`${ORIGINID_API}/api/events/${eventId}`,
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
const { smartSignals, suspectScore, riskLevel } = await res.json();