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

# Permissions

> Control what AI agents are permitted to do with your content.

# Permissions

> Control what AI agents are permitted to do with your content.

AgentXP lets you declare what AI agents may and may not do with the content on your site. These permissions are communicated to agents in two ways:

* **`Content-Signal` response header** — included on every markdown response AgentXP serves
* **`/.well-known/agent-experience.json` manifest** — a discoverable JSON endpoint agents can fetch to understand your site's policies upfront

## Configuration

```typescript middleware.ts theme={null}
import { withAgentXP } from '@reaganhsu/agentxp-next'

export default withAgentXP({
  permissions: {
    aiTrain: false,   // opt out of training data
    aiInput: true,    // allow inference
    search: true,     // allow search indexing
  },
})
```

## Options

### `aiTrain`

Type: `boolean`

Whether AI agents may use your content as training data for machine learning models.

**Default:** `false`

Set to `true` only if you explicitly want to allow your content to be used in model training datasets. The default is `false` — AgentXP opts you out of training use by default.

### `aiInput`

Type: `boolean`

Whether AI agents may use your content for inference — for example, to answer a user's question by reading your page.

**Default:** `true`

This is the primary use case for agents visiting your site. Disable it only if you need to prevent any AI-assisted retrieval of your content.

### `search`

Type: `boolean`

Whether AI-powered search indexers may index your content and surface it in search results.

**Default:** `true`

## Response header

With the default configuration, every markdown response includes:

```
Content-Signal: ai-train=no, ai-input=yes, search=yes
```

With all permissions enabled:

```
Content-Signal: ai-train=yes, ai-input=yes, search=yes
```

The `/.well-known/agent-experience.json` manifest reflects the same values:

```json theme={null}
{
  "permissions": {
    "aiTrain": false,
    "aiInput": true,
    "search": true
  }
}
```

<Note>
  Permissions are advisory signals. They communicate your intent to well-behaved agents but do not enforce access control at the network level. Agents that respect these signals — including most major LLM crawlers — will honor them. For hard enforcement, use authentication or network-level access controls in addition to these settings.
</Note>
