Know your users.
Classify your traffic.
Three SDKs for three trust problems — fingerprint browsers, classify API callers, track CLI usage. All running at the edge.
Your device fingerprint
Caller Type
BROWSER_HUMAN
JA4 Fingerprint
t13d1517h2_8daaf6152771_b0da82dd1658
HTTP/2
Verified
Header Order
Consistent
TLS Version
1.3
Machine ID
pulse_m8k2v9x1a3b7
Recent Commands
DO_NOT_TRACK
Respected
CI
Not detected
PII
Zero
99.2%
Identification accuracy
41+
Device signals per visit
<50ms
Edge response time
Zero
PII collected. Ever.
Works with your stack
Three products, one platform
Browser, server, and CLI.
Each solving a different trust problem.
Know who's visiting — even without cookies
Recognize returning visitors with 99%+ accuracy using 41 signals. Canvas rendering, GPU quirks, TLS fingerprints, font stacks — fused into a stable ID that survives cookie clears and incognito mode.
- 41 client signals + server-side TLS/ASN/RTT, fused at the edge
- Stable visitor ID across sessions and devices
- Bot detection, headless browser classification
- Web3 wallet detection and Sybil scoring
99.2%
Accuracy
41
Signals
<50ms
p99 latency
import FingerprintIQ from '@fingerprintiq/js';
const fiq = new FingerprintIQ({ apiKey });
const result = await fiq.identify();
// result.visitorId → "iq_01kn8f3a2b..."
// result.confidence → 0.992
// result.botProbability → 0.003
Every device is unique
Your browser leaves
a fingerprint
Canvas rendering, GPU characteristics, font stacks, audio processing, screen geometry — every device produces a unique combination of signals. We scan and fuse them into a stable identity, even across sessions.
99.2%
Identification accuracy
41+
Signal types collected
<50ms
Edge response time
0%
PII stored
Why FingerprintIQ
One platform covering browser, server, and CLI — with signals that can't be faked.
Server-Side Signals
TLS fingerprinting, RTT geo-coherence, ASN classification, HTTP/2 priority analysis — signals that run before JavaScript executes and can't be spoofed by browser extensions.
Edge Performance
Sub-10ms identification at 300+ edge PoPs. No round-trip to a centralized API.
API Caller Classification
Every request to your API is classified as browser, bot, AI agent, CLI tool, or scraper — before your application code runs.
41+ Signal Types
Canvas, WebGL, WebGPU, audio, fonts, WASM timing, math precision, DOMRect, headless detection — collected in parallel, fused with server-side TLS/ASN/RTT for 99%+ accuracy.
Web3 Native
Wallet extension detection, Sybil risk scoring, on-chain enrichment.
CLI Analytics
Track command usage, machine fingerprints, and adoption metrics for your CLI tools — no PII, no guilt.
Privacy by Default
No PII stored anywhere. No emails, no IP addresses. DO_NOT_TRACK respected across all products.
How It Works
Three steps to production. Pick your product.
import FingerprintIQ from '@fingerprintiq/js';
Install the browser SDK
One npm package. Works with React, Vue, Svelte, or vanilla JS.
const result = await fiq.identify();
Call identify()
Three lines of code. Collects 41 client signals, fuses with server-side TLS/ASN/RTT at the edge.
"visitorId": "iq_01kn...",
"confidence": 0.992,
"botProbability": 0.003,
"signals": { ... }
}
Get a stable visitor ID
Confidence score, bot probability, and full signal breakdown. Sub-50ms.
Honest pricing. No traps.
Every plan includes Identify, Sentinel, and Pulse. No feature gating.
Free
For evaluation and indie projects.
- 25,000 identifications/mo
- All 41 signal types
- Sentinel API classification included
- Pulse CLI analytics included
- Dashboard included
- Community support
Growth
For growing products and startups.
- 500,000 identifications/mo
- All 41 signal types
- Sentinel + Pulse unlimited
- Dashboard + API access
- 1,000 req/sec rate limit
- Priority support
- Webhook alerts
Scale
For high-volume and mid-market.
- 5,000,000 identifications/mo
- All 41 signal types
- Sentinel + Pulse unlimited
- Web3 add-on included
- Custom rate limits
- Dedicated support
- SLA guarantee
All plans include a permanent free tier. No credit card required to start.
Frequently asked
questions
Common questions about Identify, Sentinel, and Pulse.
Our multi-layer approach combining 41 client signals with server-side signals (TLS, RTT, ASN) achieves 99%+ accuracy. Unlike client-only solutions, our server signals can't be spoofed by browser extensions.
Identify is a browser SDK that fingerprints visitors on the client side. Sentinel is server middleware that classifies API callers (browser vs. bot vs. AI agent vs. CLI tool) using TLS and header analysis. Pulse is a lightweight analytics library for CLI tools that tracks command usage without collecting PII. They're independent products — use one or all three.
Yes, permanently. 25,000 identifications per month, all signals included, no credit card required. Sentinel and Pulse are included in every plan.
FingerprintJS open-source is client-only (~60% accuracy). Their Pro product starts at $100/month. We combine open-source client signals with proprietary server-side signals at a fraction of the price. We also offer API caller classification (Sentinel) and CLI analytics (Pulse), which FingerprintJS doesn't have.
Sentinel classifies requests into seven categories: BROWSER_HUMAN, BROWSER_AUTOMATED, AI_AGENT, CLI_TOOL, SDK_CLIENT, BOT_SCRAPER, and UNKNOWN. Each classification includes a confidence score and TLS fingerprint details.
No. We never store IP addresses, email addresses, or any personally identifiable information. Visitor IDs are derived from device signals only. Pulse for CLI tools also collects zero PII — it fingerprints machines, not people.
Yes. If a user has DO_NOT_TRACK set or is running in a CI environment, Pulse automatically skips telemetry. No configuration needed.
Each product is a separate npm package. Identify: import the SDK and call identify(). Sentinel: add middleware to your Hono app. Pulse: initialize with your tool name and call track() per command. Full TypeScript support across all three.
Start building with FingerprintIQ
Fingerprint browsers, classify API callers, or track CLI usage. Pick one product or use all three.