Detect
AI agent detection methods — Pixel, Beacon, Middleware, and Gateway
What is Detect?
Checkpoint Detect provides passive AI agent detection for your web applications. Unlike Enforce, Detect methods identify and classify traffic without blocking or redirecting visitors. Use Detect to build analytics, understand your traffic composition, and gather intelligence before deciding on an enforcement strategy.
Every detection returns:
- A classification of the visitor:
human,ai_agent,bot, orincomplete_data - A confidence score from 0 to 100
- Metadata — for agent/bot traffic, the detected agent's name (
detectedAgent.name), plusverificationMethodandriskLevel(humanresults carry nodetectedAgent)
Detection Methods
Checkpoint offers four detection methods. Choose one or combine several depending on your stack and requirements.
| Method | Best For | Integration | Latency | Server-Side | Can Enforce |
|---|---|---|---|---|---|
| Pixel | Analytics, marketing | Script tag / GTM | Async | No | No |
| Beacon | Client-side apps | npm package | Async (non-blocking) | No | No |
| Middleware | Next.js / Express apps | npm package | In-request | Yes | Yes* |
| Gateway | Custom domains | DNS config | ~1–5ms (edge) | Yes | Yes* |
*Middleware and Gateway can also operate in Enforce mode. See Enforce for details on blocking, redirects, and policies.
Middleware and Gateway are documented in the Enforce section because they
both detect and enforce — "detect-only" is a mode of those products (middleware in observe/log
mode, or the Gateway's detect mode). There are no separate detect/middleware or detect/gateway
pages.
When to Use Each Method
Pixel
Choose the Pixel when you need a lightweight, no-code integration. It loads asynchronously and has zero impact on page performance. Ideal for marketing teams, CMS-based sites, and any property where you want visibility without changing application code.
Beacon
Choose the Beacon when you need a full-featured client-side SDK with event tracking, WebWorker support, and fine-grained control over data collection. Ideal for SPAs and applications that need real-time detection data on the client.
Middleware
For Node.js apps (Next.js, Express) needing server-side detection with low latency. Runs before route handlers and can enforce policies.
See Middleware setup.
Gateway
Infrastructure-level detection with lowest latency. Sits at DNS/proxy layer, protects any origin without code changes.
See Gateway setup.
Detection Classes
Every detection is assigned one of four classes:
| Class | Value | Description |
|---|---|---|
| Human | human | Regular browser traffic from a human visitor |
| AI Agent | ai_agent | AI assistants like ChatGPT, Claude, Perplexity, Gemini |
| Bot | bot | Web crawlers, scrapers, and automated tools (Googlebot, Bingbot) |
| Incomplete Data | incomplete_data | Insufficient signals to make a confident determination |
Confidence Scores
Confidence scores range from 0 to 100 and indicate how certain Checkpoint is about a detection:
| Range | Level | Meaning |
|---|---|---|
| 91–100 | Very high | Strong, corroborated signals. |
| 71–90 | High | Solid evidence from multiple indicators. |
| 31–70 | Medium | Moderate evidence; some indicators present but not conclusive. |
| 0–30 | Low | Weak signals; may be based on a single indicator. |
Confidence reflects how certain Checkpoint is in the assigned classification — not a measure
of "agent evidence." A human verdict still carries a confidence (a clean browser request scores
low, around 10). A score of exactly 0 indicates an error or incomplete_data, not a confident
human result.
Combining Detection Methods
You can use multiple detection methods simultaneously. For example:
- Pixel on your marketing site for traffic analytics
- Beacon in your authenticated application for detailed event tracking
- Middleware on your API routes for server-side detection with enforcement
Each method sends data to the same Checkpoint project, giving you a unified view in the dashboard.
Next Steps
- Marketing Pixel — lightweight, no-code detection
- JavaScript Beacon — full-featured client-side SDK
- Enforce — add blocking, redirects, and policies to your detection