A simple, machine-readable protocol — like robots.txt — that lets any site declare exactly how AI systems may use its content.
{
"version": "1.0",
"training": "deny",
"summarization": "allow-attribution-required",
"commercial-ai-use": "license-required",
"contact": "you@domain.com"
}
AI systems are ingesting the web at unprecedented scale with almost no way for creators to express consent or terms.
Publishers finally have a standard way to say “yes”, “no”, “with attribution”, or “only with a license”.
AI developers get explicit, auditable instructions instead of guessing at fair use or terms of service.
“paid”, “license-required”, and contact directives create the foundation for legitimate data licensing markets.
Respect becomes the default. Sustainable relationships between creators and the AI systems that use their work.
Copy an example. Edit the four main directives. Under 60 seconds.
Place at /.well-known/ai-policy.json or serve the AI-Policy header.
Extra visibility for static sites and most CMS platforms.
Edit the policy (JSON or TXT). The simulator instantly shows what any compliant AI crawler or agent must do.
Implementing AUDP is one of the highest-leverage responsibility moves you can make. It takes a few lines of code and immediately gives you clarity at web scale.
policy = await audp.fetchPolicy(pageUrl)
if (!policy || policy.training === "deny") {
// skip for training / fine-tuning
return
}
if (policy.summarization === "deny") {
// do not summarize
}
if (policy["commercial-ai-use"] === "license-required") {
// route to licensing flow or skip
}
Crawlers check in this order. The first match wins.
{
"version": "1.0",
"training": "deny",
"summarization": "allow-attribution-required",
"excerpting": "allow-attribution-required",
"commercial-ai-use": "license-required",
"contact": "hello@personalblog.example"
}
{
"version": "1.0",
"training": "paid",
"summarization": "allow-attribution-required",
"excerpting": "allow-attribution-required",
"commercial-ai-use": "license-required",
"contact": "licensing@news.example.com"
}
{
"version": "1.0",
"training": "deny",
"summarization": "deny",
"excerpting": "allow-attribution-required",
"commercial-ai-use": "license-required",
"contact": "licensing@photographer.example"
}
{
"version": "1.0",
"training": "allow",
"summarization": "allow",
"excerpting": "allow",
"commercial-ai-use": "allow"
}
Two paths. Pick yours. Everything below is copy-paste ready.
<link rel="ai-policy" href="/.well-known/ai-policy.json">
import audp
policy = audp.fetch_policy("https://example.com/article")
if policy and policy.get("training") != "deny":
# safe to use for training
train_on(policy, content)
| Directive | Values |
|---|---|
| training | allow | deny | paid | contact |
| summarization | allow | allow-attribution-required | deny |
| excerpting | allow | allow-attribution-required | deny |
| commercial-ai-use | allow | deny | license-required | contact |
| contact | email or URI |
| license-uri | full legal terms URL |
Whether you publish content or build the systems that consume it, AUDP gives you a clear, simple contract.