Complete guide

Signed content permissions for the AI web

AIFeed lets any site publish a signed, verifiable declaration of what AI agents may do with its content — training, indexing, summarization, citation — and lets agents prove, on every fetch, that the permission is real, current, and authorized. This guide covers the problem, the protocol, the security layers, both content profiles, the measured savings, revocation, and how to adopt it today.

01 — The problem

AI crawlers flood the web. Plain signals are not enough.

robots.txt and similar files are unsigned text. Anyone can edit them, nothing binds them to a domain, and there is no way to tell an honest declaration from a forged one. Publishers cannot prove what they allowed; AI builders cannot prove what they were allowed to use; both sides pay for blind re-crawling.

No proof

An unsigned file carries no cryptographic evidence of who wrote it or whether it was tampered with in transit.

No freshness

A permission granted last year may have been revoked. Without a revocation check, agents act on stale policy.

No economy

Agents re-download full HTML — menus, ads, scripts — for pages that did not change, wasting bytes on both sides.

02 — How it works

Six steps, about sixty seconds.

The publisher runs one tool. The rest is standard web infrastructure: a well-known path, a DNS record, and signatures anyone can verify offline.

1

Generate keys

Ed25519 key pair. The private key never leaves the server.

2

Assemble the manifest

Identity, per-use permissions, crawl limits, contact, and license.

3

Sign it

Ed25519 over JCS canonical JSON — deterministic bytes, verifiable offline.

4

Publish

At /.well-known/ai.json, with signature sidecars and content indexes.

5

Anchor in DNS

A _aifeed TXT record pins the key to the domain, preventing manifest forgery.

6

Serve and revoke

Agents verify TLS → domain → signature → anchor, then re-check revocation on every use.

03 — Who it is for

One protocol, four audiences.

Site owners & hosts

  • Declare permissions once; update them in one place.
  • Cut egress bytes, origin CPU, and peak connections.
  • Get audit evidence of who fetched what, under which policy.

AI builders & agents

  • Machine-readable permissions instead of guessing.
  • Lean, agent-ready content with per-page digests.
  • Delta indexes: fetch only what changed.

Users

  • Attribution and provenance travel with the content.
  • Revocation gives a real off-switch, not a promise.

Regulators & institutions

  • A neutral technical layer that complements law (e.g. UU PDP, EU TDM).
  • Transparent, multi-signature revocation registry.
04 — Security

Four interlocking layers.

1 · Cryptography

Ed25519 signatures over JCS-canonical JSON. Canonicalization is strict: duplicate keys, floats, and oversized integers are rejected, so verification is deterministic across languages.

2 · Domain binding

TLS plus the _aifeed DNS anchor. A stolen manifest from another domain cannot be replayed because the key is pinned to the origin's own DNS.

3 · Revocation & transparency

Status lives in a multi-signature registry. Agents re-check it; offline bundles carry the evidence so audits work without network access.

4 · Least privilege

Content profiles may only restrict the manifest, never widen it. Crawl limits and rate policy keep enforcement bounded and explainable.

05 — Content profiles

AIFeed Markdown (native) and MAKO (compatibility).

AIFeed Markdown native

  • text/aifeed+markdown, extension .aifeed.md
  • In-band signed policy block and optional token budget
  • Delta index with per-page digests and triage fields
  • i18n alternate links and media/asset references

MAKO compatibility

  • text/mako+markdown, the external MAKO trust profile
  • Served by the same publisher tooling, separate signature context
  • Cross-format replay is rejected by design

Measured conversion measured-simulation

  • −68.83% bytes vs full HTML across the 60-page corpus
  • Delta fetching: −95.73% vs HTML, −86.31% vs full MAKO
  • Signing overhead: 0.25 ms/page; verification: 0.70 ms/page
06 — Two-sided savings

Both sides win, and the numbers are reproducible.

Measured in a local HTTP harness with the same edge policy that ships as nginx/Caddy templates. Scenario S3: training crawlers blocked, non-compliant crawlers throttled, compliant clients served signed content with delta indexes.

SideMetricResultLabel
Web owner / hostEgress bytes saved−55.19%measured-simulation
Web owner / hostOrigin CPU saved−56.23%measured-simulation
Web owner / hostPeak connections reduced−88.24%measured-simulation
AI sideBytes received (all profiles)−54.84%measured-simulation
AI sideBytes received (compliant clients)−72.93%measured-simulation
AI sideUnchanged pages skipped14 / 18measured-simulation
AI sideVerification cost0.70 ms/pagemeasured-simulation
Scale modelProjection per 1,000 tenantssee benchmarkmodel

Honest baseline: with no enforcement (S0) nothing is blocked or throttled and the origin serves every byte to every profile — that is the cost this protocol removes. Figures are simulation, not a production CDN; the 30-day pilot kit exists to replace them with live data.

07 — Full flow

The complete sequence.

  1. Keys — Ed25519 key pair generated; private key stays server-side.
  2. Manifest — identity, permissions, crawl limits, license, revision.
  3. Signature — JCS canonicalization + Ed25519, offline-verifiable.
  4. Publish/.well-known/ai.json, signatures, content index.
  5. DNS anchor_aifeed TXT pins the key to the domain.
  6. Discovery — agents find the declaration via link relations or the well-known path.
  7. Verification chain — TLS → domain → signature → anchor, all must pass.
  8. Permission decision — per-use allow/deny, restrict-only overrides.
  9. Content fetch — AIFeed Markdown or MAKO instead of full HTML.
  10. Delta consumption — digests reveal unchanged pages; those cost 0 bytes.
  11. Document verification — signature + digest; replay and tampering rejected.
  12. Usage & attribution — within limits, with an audit trail.
  13. Revocation re-check — status verified at use time, with offline evidence.
08 — Permissions & limits

Granular, explicit, and restrict-only.

Usage keys cover the real decisions agents make:

Content profiles can only narrow these grants. Crawl limits bound request rates; attribution settings travel with the content; and a denial is as machine-readable as an allowance.

09 — Revocation

An off-switch with evidence.

Multi-signature registry

Status documents require multiple signatures, so a single compromised key cannot revoke or restore a site.

Statuses

active, suspended, revoked — with signed timestamps and reasons.

Offline bundles

Manifest, signatures, revocation, and content hashes in one auditable archive for compliance reviews.

10 — FAQ

Straight answers.

Is AIFeed a legal contract?

No. It is a technical signal: cryptographically verifiable permissions that complement law and contracts. It makes the declared policy auditable; it does not replace legal advice or enforcement.

How is this different from robots.txt or llms.txt?

Those are unsigned conventions. AIFeed binds permissions to a domain with Ed25519, JCS canonical bytes, a DNS anchor, and a revocation registry — and it serves the content itself in lean, agent-ready formats.

Does it block AI crawlers?

The protocol declares policy; enforcement happens at the edge (the shipped nginx/Caddy templates and adapter code). That gives compliant clients faster, cheaper access while non-compliant behavior is blocked or throttled with an honest baseline you can measure.

What happens if a signing key leaks?

Publish a new key, update the DNS anchor, and use the revocation registry to invalidate the old key. Rotation and revocation are first-class operations, not afterthoughts.

What does it cost to adopt?

The standard is open (CC BY 4.0) and the reference implementation is MIT, zero-dependency, and works on static sites, nginx, Caddy, Apache, Node, Next.js, PHP, Python, Go, and WordPress.

What is the current status?

Release 1.0.0-draft: specs are not frozen yet, cross-language conformance is at 75 vectors (JS and Python), and an external cryptographic review is still pending. Wire versions in use: manifest 0.1/0.2, AIFeed Markdown 1.0, MAKO 0.2.

11 — Getting started

Adopt it today.

Any static site

npx aifeed site build ./public generates the manifest, signed content, and indexes for Hugo, Jekyll, Astro, Next export, or plain HTML.

WordPress

The plugin publishes the signed declaration and serves AIFeed Markdown + MAKO dual-stack, plus /llms.txt.

Servers & platforms

Adapters for nginx, Caddy, Apache, Node/Express, Next.js, PHP, Python ASGI, and Go — plus a GitHub Action.

Verify from code

npm install @aifeed/verify — fetch, verify, decide, and select pages with a zero-dependency SDK.