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

Scanning
Canvasunique hashWebGLfingerprintedAudiosampledTLSverifiedFonts14 detectedScreencapturedWebRTCcheckedVPNcleanHeadlessnegativeRTTconsistentASNresidentialIP RepcleanTimezonematchedGPUhashedPlatformvalidatedPluginsenumeratedCanvasunique hashWebGLfingerprintedAudiosampledTLSverifiedFonts14 detectedScreencapturedWebRTCcheckedVPNcleanHeadlessnegativeRTTconsistentASNresidentialIP RepcleanTimezonematchedGPUhashedPlatformvalidatedPluginsenumerated

99.2%

Identification accuracy

41+

Device signals per visit

<50ms

Edge response time

Zero

PII collected. Ever.

Works with your stack

ReactReact
Next.jsNext.js
VueVue
SvelteSvelte
Node.jsNode.js
PythonPython
HonoHono
VercelVercel
AWSAWS
WordPressWordPress

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

Try the live demo
$ npm i @fingerprintiq/js

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.

Get started
1
$ npm i @fingerprintiq/js

import FingerprintIQ from '@fingerprintiq/js';

Install the browser SDK

One npm package. Works with React, Vue, Svelte, or vanilla JS.

2
const fiq = new FingerprintIQ({ apiKey });
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.

3
{
"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

$0/mo

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
Get started free
Popular

Growth

$49/mo

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
Start free trial

Scale

$149/mo

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
Get started

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.