From the moment a user loads your page to the instant you block a threat — here's exactly what happens inside Prynt, and how to wire it into your stack.
Every identification request flows through five stages — from your user's browser to a clear, actionable verdict delivered to your server.
Add the Prynt agent to your frontend. It silently collects 100+ device, browser, and network signals on every page load — with zero impact on performance.
// Step 1: Install // npm install @prynt/sdk // Step 2: Initialize import { Prynt } from '@prynt/sdk'; const prynt = new Prynt({ apiKey: 'pk_live_xxxxxxxxxxxxxxxx', region: 'us', // us | eu | ap endpoint: '/prynt' // custom subdomain proxy }); // Step 3: Identify — call on page load const { visitorId, requestId } = await prynt.identify(); // visitorId: "pv_8kX2mNqR3jT7p" // requestId: "req_1707832921_a7f2c9" // → Send requestId to your backend // to retrieve full signals server-side
<script src="https://cdn.prynt.io/v1/agent.js"></script> <script> const prynt = await Prynt.load({ apiKey: 'pk_live_xxxxxxxxxxxxxxxx' }); const result = await prynt.identify(); </script>
The Prynt agent runs in under 4ms and collects signals passively — no popups, no CAPTCHAs, no user interaction needed.
User agent, platform, language, timezone, screen resolution, color depth, installed plugins, Do Not Track settings, and cookie support.
Hardware-accelerated rendering fingerprints from Canvas 2D, WebGL shaders, and AudioContext — unique per device/GPU combination.
Detects installed system fonts via rendering measurement — a high-entropy signal that varies across OS, locale, and installed software.
IP address, connection type, RTT estimation, and WebRTC leak detection — collected without requiring any additional permissions.
All collected signals are encrypted client-side before transmission. The payload cannot be read, replayed, or modified in transit.
In under 50ms, Prynt processes raw signals through six stages — generating a stable device fingerprint, enriching it with network and behavioral intelligence, and scoring risk with ML models.
Configure policies in the dashboard or via API. Combine any signal, score, or velocity metric into rules that automatically allow, block, or challenge — no code changes needed.
Define policies visually or via API. Each rule combines conditions (signals, scores, velocity) with an action. Rules are evaluated top-to-bottom — first match wins.
Change rules in the dashboard and they take effect immediately — no deploys, no code changes, no SDK updates needed.
Test new rules against 30 days of historical data before enabling them. See exactly how many users would be affected — zero risk to production.
Enable rules in observe-only mode first. See what would be blocked without affecting real traffic. Switch to enforcement when you're confident.
Use the /v1/events/{requestId} endpoint to retrieve full signals, scores, and verdicts server-side. Ideal for server-rendered apps and backend-driven decisions.
Receive encrypted, tamper-proof results directly in the client SDK response. Decrypt on your server for instant access — no extra API call needed. Lowest latency option.
Get real-time POST notifications for every event. Route to Slack, PagerDuty, your SIEM, or custom endpoints. Configure filters to only receive the events you care about.
Choose the integration pattern that matches your stack. Start simple, evolve as your needs grow — no migration required.
The most common pattern. Identify on the client, verify and retrieve full signals server-side using the request ID. Best balance of speed and security.
Encrypted results returned directly to the client agent. Your server decrypts locally — no extra API call. Lowest possible latency for real-time decisioning.
Route Prynt API calls through your own domain to bypass ad blockers and content security policies. Full identification coverage, even with aggressive blocking.
Identify on the client, receive enriched results asynchronously via webhook. Ideal for non-blocking workflows like post-registration review or analytics pipelines.
Prynt is designed to be secure by default and private by design. No PII required, no cross-site tracking, full compliance out of the box.
All signal data is encrypted client-side using AES-256 before transmission. Decryption only occurs within Prynt's secure processing environment. TLS 1.3 in transit.
Prynt operates on device and browser signals only. No names, emails, or personal data are required — you control what additional context you send.
Choose where your data lives: US, EU, or Asia-Pacific. Data never leaves your selected region. Meet data sovereignty requirements without extra configuration.
Prynt is SOC 2 Type II certified, ISO 27001 compliant, and provides GDPR DPA and CCPA addendums. You are the data controller — Prynt acts as processor only.
Prynt only identifies visitors within your own properties. We never track users across sites, share data between customers, or build advertising profiles.
Built-in DDoS detection and billing surge protection. If your site is attacked, Prynt absorbs the traffic without charging you for bot-generated requests.
npm install @prynt/sdk), initialize with your API key, and call identify(). For server-side verification, add one API call to your backend. No model training or learning period — results are accurate from the first request.metrics.yoursite.com). This bypasses ad blockers, CSP restrictions, and browser privacy extensions — giving you full coverage without asking users to disable anything.Start your free trial — unlimited API calls for 14 days. No credit card.