Overview
ai.txt is a proposed root file for declaring how AI systems may train on, quote, or summarize a site’s content. Several unratified proposals share the name, including Spawning’s per-file-type opt-out, and no major AI vendor documents reading the file, so it states intent without enforcing it. The LLM discoverability standard requires a permissive /ai.txt next to agents.txt; the restrictive form below is for sites outside the standard. Quick definition: ai-txt.
Keep ai.txt apart from llms.txt and robots.txt
Each file has one job, all served at the site root.
ai.txtstates what AI systems may do with the content. It is policy.- llms-txt states what is worth reading. It is an index.
robots.txtstates what crawlers may fetch, and through tokens such asGPTBotandGoogle-Extendedit is the control vendors document for training opt-outs.
ai.txt does not replace the robots.txt tokens.
Serve it at the root as text/plain
Serve https://<your-domain>/ai.txt with Content-Type: text/plain. Static hosts serve it from the build root. Do not nest it under /.well-known/ or any other prefix.
Use robots-style directives, one per line
The format mirrors robots.txt: user-agent blocks with * as the fallback. The purpose-level directives below are the form this site uses, not a ratified vocabulary; Spawning’s original format instead lists file types, such as Disallow: *.jpg.
User-Agent:the agent or vendor the block covers.Disallow:andAllow:path prefixes.Train:,Quote:,Summarize:withyesorno.Contact:an email or URL for licensing.
The permissive house form:
# https://example.com/ai.txt
User-Agent: *
Train: yes
Quote: yes
Summarize: yes
Contact: ai-policy@example.com
A restrictive form for a site outside the standard allows quoting and summarizing, refuses training, and keeps agents out of paid paths:
User-Agent: *
Train: no
Quote: yes
Summarize: yes
User-Agent: GPTBot
Disallow: /paid/
Enforce through robots.txt, never ai.txt alone
ai.txt is advisory: compliant vendors honor it and others ignore it.
- Mirror critical restrictions in
robots.txtunder each vendor’s documented token:GPTBot(OpenAI training),ClaudeBot(Anthropic training),CCBot(Common Crawl), andGoogle-Extended. A site that follows the standard may not root-disallow them. Google-Extendedis a product token for Gemini training and grounding. It never appears in logs, and it does not control Search, AI Overviews, or AI Mode; usenosnippetornoindexfor those.- Search and user-fetch agents such as
OAI-SearchBotandClaude-SearchBotare separate tokens. Blocking them removes you from those engines’ answers. - Do not rely on
noaiornoimageaimeta tags. They are a non-standard convention that originated at DeviantArt, and none of Google, OpenAI, or Anthropic documents honoring them. This standard counts them as a conformance failure. - Enforce paid or private content at the application layer.
Watch the IETF AIPREF work
The standards-track route is the IETF AI Preferences (AIPREF) working group, which defines a vocabulary and two attachment points: a Content-Usage HTTP header and a Content-Usage rule in robots.txt, extending RFC 9309. The vocabulary has three categories, train-ai, ai-use, and search, each set to y or n. As of October 2026 the vocabulary and attachment drafts are still Internet-Drafts, not RFCs.
Content-Usage: train-ai=n
Drafts say plainly that preferences are not a security mechanism. Re-check the drafts yearly and adopt the syntax once a vendor documents honoring it.
Validate the file in the build
Check that the file exists at the build root, each non-comment line is a known directive or User-Agent: header, path prefixes start with /, and Train, Quote, and Summarize values are yes or no. There is no official validator; a regex pass and a deploy-time HEAD check suffice.