> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shieldlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# AI agent detection

> ShieldLabs AI agent detection identifies supported AI traffic on your website. Read client categories, provider names and identity verification results.

## What is ShieldLabs AI agent detection?

ShieldLabs AI agent detection identifies supported AI traffic visiting your website. It returns the detected client category, provider name when available and identity verification evidence, helping you distinguish recognized AI clients from risky automation.

AI agents use large language models (LLMs) to plan and perform tasks on someone's behalf. An agent can research products, navigate a website or complete a form. Some agents control a browser; others retrieve information without opening an interactive page.

## AI agent and AI assistant detection results

The result depends on how the AI client accesses your content:

| Activity | ShieldLabs detection | What you can identify |
| - | - | - |
| An agent uses a supported browser platform | AI Browser: `ai_browser` | The browser platform and its verified origin |
| An assistant retrieves pages to prepare an answer | AI Bot: `ai_bot` | The recognized assistant name, provider and available identity evidence |

This page explains agent traffic using supported browser platforms. [AI assistant detection](https://docs.shieldlabs.ai/features/ai-assistants.md) explains direct content retrieval and the AI Bot result. The [bot directory](https://docs.shieldlabs.ai/features/bot-directory.md) lists supported clients in both categories.

## How ShieldLabs verifies AI-agent traffic

ShieldLabs recognizes a supported platform and checks the identity evidence available on the identification. For Browserbase and Cloudflare Browser Run, this includes signed requests that identify the browser infrastructure.

1. The browser platform signs its request.
2. ShieldLabs checks the signature against the platform's public keys.
3. A successful check can establish the platform attribution and produce `ai_browser: true`.

The signature confirms the browser platform. It does not identify the person, customer or AI model controlling that browser.

```mermaid theme={null}
flowchart TD
  A[Browser identification] --> B[Read platform identity]
  B --> C[Verify available evidence]
  C --> D[Return AI browser signal and provider]
  D --> E[Inspect the result in your backend]
```

Use the [browser integration](https://docs.shieldlabs.ai/quickstart.md) to collect identifications and read the AI detection result on your backend.

## Event payload

A scored webhook returns the detection and provider in its `data` object. This shortened, illustrative example shows recognized Browserbase traffic:

```json theme={null}
{
  "identification_id": "13f84f05-7c2a-4e9b-9f1d-2a6b8c0e4d11",
  "risk_score": 0,
  "signals": [{ "name": "ai_browser", "weight": 0 }],
  "detection_flags": { "ai_browser": true },
  "ai_browser_owner": "Browserbase"
}
```

The excerpt shows fields inside `data` of an `identification.scored` event. All detection flags are booleans; unshown fields are omitted here for readability. Verify the webhook signature and deduplicate deliveries by the envelope's `event_id`. The [webhook reference](https://docs.shieldlabs.ai/api/webhook-identification.md) shows the complete event structure.

| Field inside `data` | Type | Meaning |
| - | - | - |
| `detection_flags.ai_browser` | boolean | A supported browser platform was identified with qualifying evidence |
| `ai_browser_owner` | string, optional | Provider of the active AI Browser detection; omitted when the name is unavailable |
| `signals` | array | Includes `ai_browser` with weight 0 when the detection is active |
| `risk_score` | integer | Recognized good-bot traffic scores 0 |
| `client_identity` | object, optional | Recognized identity claims and the attribution supported by available evidence |

### Read the scope of verification

When supplied, `client_identity.verified` describes what ShieldLabs could establish. Each entry has a `subject`, a `value_id` and references to its supporting evidence.

| `subject` | Meaning |
| - | - |
| `provider` | The evidence establishes the provider |
| `infrastructure` | The evidence establishes a browser platform |
| `service` | The evidence establishes the named service, when supplied |

For example, this shortened attribution identifies Browserbase infrastructure:

```json theme={null}
{
  "client_identity": {
    "verified": [{
      "subject": "infrastructure",
      "value_id": "browserbase",
      "evidence_ids": ["example-evidence"]
    }]
  }
}
```

An identity claim alone does not establish verified infrastructure. Read the `verified` entries rather than treating a name or a User-Agent header as proof.

## Supported AI-agent platforms

ShieldLabs supports the following platforms. The AI browser result requires successful identity verification on the observed request.

| Browser platform | Provider | Identity evidence |
| - | - | - |
| Browserbase | Browserbase | Request signature |
| Cloudflare Browser Run | Cloudflare | Request signature |

The [bot directory](https://docs.shieldlabs.ai/features/bot-directory.md) also lists supported AI assistants and crawlers. A browser platform name does not reveal which assistant or model uses it.

## Using AI agent detection results

Use the detected platform and its verified attribution alongside the action your application is protecting.

| Result | How to use it |
| - | - |
| `ai_browser: true`, with verified platform attribution | Recognize the platform and apply the access policy for that action |
| A platform claim without supporting verification | Keep the claim separate from confirmed attribution |
| Identity evidence conflicts with a claim | Review the conflict before granting platform-specific access |
| Browser Automation or Device spoofing, without a recognized platform | Review the returned risk signals and Risk Score |
| No AI browser detection | Read the other risk signals and Risk Score for this identification |

Recognized AI browsers belong to the dashboard's **Good bot** group and score 0. Apply identity verification results to your access policy and validate the expected account, domain and protected action on your backend.

## View AI-agent traffic in the dashboard

Open an identification in [Analytics](https://docs.shieldlabs.ai/dashboard/analytics.md) to inspect its signals. The provider appears alongside **AI Browser** when available. **Good bot** groups AI browsers, AI bots and search bots in the aggregate views.

Use a [scored webhook](https://docs.shieldlabs.ai/api/webhook-identification.md) for `ai_browser` and `ai_browser_owner`. History can include optional `client_identity`, but it does not return those two fields. See [bot results in webhooks and History](https://docs.shieldlabs.ai/features/bot-detection.md#bot-results-in-webhooks-and-history).

## Next steps

> **[AI assistant detection](https://docs.shieldlabs.ai/features/ai-assistants.md)**
>
> Recognize AI assistants fetching pages and AI crawlers collecting content.

> **[Bot directory](https://docs.shieldlabs.ai/features/bot-directory.md)**
>
> Find supported browser platforms, AI bots and crawlers.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.