Back to Learn

Help

Nine intent classes explained

ADN routes machine traffic into nine observed-intent classes. Each class gets a different response shape, rate posture, and policy — because a training crawler and a live ChatGPT fetch are not the same job.

ADN classifies machine visitors by observed intent, not by whether they hold a credential. Nine classes cover the traffic patterns we see across customer sites.

The nine classes

ClassExamplesResponse shape
bulk_trainingGPTBot, ClaudeBot, CCBotBulk corpus export + delta feed
answer_engineOAI-SearchBot, PerplexityBotClean Markdown or DocLang + JSON-LD
live_fetchChatGPT-User, Perplexity-UserFastest path, never rate-limited
agentic_browserOperator, computer-use browsersIn-page affordances + Markdown
developer_agentCursor, Claude Code, CopilotMCP tools + llms.txt
custom_frameworkLangChain, curl, ScrapyContent negotiation + /index.md or .dclg
commercial_scraperBright Data, Apify, price botsMetered access after free tier
legacy_seo_socialGooglebot, facebookexternalhitPassthrough untouched
abusiveCredential stuffing, loop bots403 with machine-readable reason

Five response shapes

Intent decides the payload; identity tier moves the rate limit:

1. Passthrough — Your origin response, unchanged. Reserved for search engines and social unfurlers.

2. Markdown or DocLang page — Clean content without nav chrome. Markdown for lightweight delivery; DocLang (.dclg) for explicit structure. Fast ETags for repeat fetches.

3. Bulk corpus — One export instead of thousands of page walks.

4. MCP tools — Structured tools for IDE agents to query docs and APIs.

5. Blocked — Machine-readable denial for abusive traffic.

Cross-cutting rules

Graceful degradation — Full content → summary → sample + terms → 429 → 403. Never a hard wall for cooperative visitors.

Behaviour is a signal — Rate, path diversity, robots.txt honouring, and 304 respect all inform classification.

Hard safety rule — Never serve Markdown to Googlebot or Open Graph unfurlers. Ever.

Identity upgrades limits, not access

Tier 0 (anonymous) still gets a correct, useful response via content negotiation. Higher identity tiers — declared UA, network-verified IP, self-registered API key, cryptographic Web Bot Auth — buy higher limits and richer payloads, never basic service.

Frequently asked

Why nine classes instead of allow/block?
Allow/block treats every bot the same. Intent classes recognize that a bulk training crawler, a live user-triggered fetch, and a price scraper need different payloads, rate limits, and terms.
Can I override the default policy?
Yes. ADN ships opinionated defaults, but Growth and Scale tiers let you tune per-class rate limits, metering, and response shapes from the dashboard.

Continue reading

Run the free efficiency scan on your URL to see what machines receive today.