aifeed.md
AIFeed Protocol to the building tools section. AIFeed enables web publishers to provide verified, token-efficient content feeds for AI agents.
Documentation
AIFeed
English · Bahasa Indonesia · 中文
Signed content permissions for the AI web.
Declare, sign, and revoke what AI agents may do with your content — and let agents prove it.
Website · Protocol flow · Benchmark · Complete guide · Paper (PDF)
1-Minute Quickstart
Publisher side — sign what agents may do with your content:
npx aifeed keygen --out .aifeed # Ed25519 key pair
npx aifeed site build ./public --domain example.com \
--key .aifeed/aifeed-private.pem --llms --inject # manifest + page markdown + index
npx aifeed validate ./public --domain example.com # verify locally
Prefer zero config? npx aifeed init --domain example.com --dir ./site creates the keys,
a signed manifest, and the DNS/host setup guide in one step.
Agent side — verify any domain in 3 lines:
npm install @aifeed/verify
const { verifyRemote } = require('@aifeed/verify');
const out = await verifyRemote('example.com'); // discovery → signature → DNS anchor
console.log(out.result, out.anchor.status); // VERIFIED anchored
TypeScript: import { verifyRemote } from '@aifeed/verify';
Where to go next: Why AIFeed? · agent quickstart ·
publisher AI guide · npm: aifeed CLI ·
@aifeed/verify
Why AIFeed?
AI agents now drive a large and growing share of web traffic, but the signals that say what they may do are unsigned text files. Anyone can edit them, nothing binds them to a domain, and there is no way to revoke them. The asymmetry is measurable:
- 1.9 billion crawls ignored
robots.txtrules in a single half-year (one vendor). - A 70,900 : 1 crawl-to-referral ratio was measured for a major AI provider.
- AI bots averaged 4.2 % of HTML requests in 2025, peaking at 6.4 %.
AIFeed replaces "please respect this file" with a cryptographically verifiable declaration, plus lean agent-ready content that cuts cost on both sides.
How it works
- Generate an Ed25519 key pair — the private key never leaves the origin.
- Publish a signed manifest at
/.well-known/ai.json: per-use permissions (training, retrieval, quote, …), crawl limits, license, revision. - Anchor the key in DNS (
_aifeedTXT) so a manifest cannot be spoofed by another domain. - Agents verify the chain — TLS → domain → signature (JCS + Ed25519) → DNS anchor — and re-check a multi-signature revocation registry on every use.
- Rotate keys safely — announce the successor with an old-key-signed directive (plus
an advisory DNS
pk2cross-check), keep a bounded overlap, cut over, then revoke the old key permanently. Runbook:docs/rotation.md. - Serve lean content under one of two profiles (below), with a signed delta index so unchanged pages cost 0 bytes.
For AI agents: the check-first guide (discovery → verification → permission
decisions → delta → failure handling) is in
docs/agent-quickstart.md,
with a runnable example at
examples/agent/compliant-agent.js.
Verify from other stacks
Independent Python package (standard library only):
pip install aifeed
from aifeed import verify
report = verify.verify_directory('./my-site', domain='example.com')
print(report['result'], report['errors'])
Prefer the repository? The same CLI is here (zero dependencies, Node ≥ 20):
cd aifeed-protocol
node bin/cli.js keygen --out keys/
node bin/cli.js validate https://example.com
node bin/cli.js site build ./public --domain example.com --key keys/aifeed-private.pem
Two content profiles
| Profile | Media type | Extension | Notes |
|---|---|---|---|
| AIFeed Markdown (native) | text/aifeed+markdown | .aifeed.md | In-band signed policy block, token budget, translation alternates, triage metadata |
| MAKO (compatibility) | text/mako+markdown | .mako.md | External MAKO trust profile, served from the same signed bytes with its own signature context |
Dual-stack origins serve both; cross-format replay is rejected by design.
Measured results
All numbers are reproducible from committed artifacts (npm run bench:mako,
npm run bench:enforcement); the test environment is a single machine on loopback
networking with a synthetic 60-page corpus. Honest baseline included.
| What | Result | Label |
|---|---|---|
| Conversion to markdown profiles vs HTML | −68.83 % transferred bytes | measured |
| Delta consumption (10 % pages changed) | −95.73 % vs HTML crawl | measured |
| Publisher egress bytes / CPU / peak connections | −55.19 % / −56.23 % / −88.24 % | measured (simulation) |
| AI-side received bytes (all profiles / compliant client) | −54.84 % / −72.93 % | measured (simulation) |
| Unchanged pages skipped | 14 of 18 | measured (simulation) |
| Signature verification cost | 0.70 ms / page | measured |
The 30-day live pilot has not run yet; projections per 1,000 tenants are labeled as model extrapolations, and vendor claims of up to 94 % token reduction require semantic summarization this project does not perform automatically.
What's in this repository
| Path | Contents |
|---|---|
lib/ + bin/ | Zero-dependency reference implementation and CLI |
packages/ + clients/python/ | Published packages: CLI (aifeed), SDK (@aifeed/verify), MCP server, build plugins (@aifeed/frameworks), PyPI aifeed verifier |
conformance/ | Conformance vectors: 34 manifest · 39 MAKO · 11 AIFeed Markdown |
wp-plugin/ | WordPress plugin: signed manifest, AIFeed Markdown + MAKO dual-stack, /llms.txt |
spec/ | Specifications EN/ID: manifest v0.1/v0.2, AIFeed Markdown v1.0 |
schema/ | JSON Schemas for manifests, signatures, AIFeed Markdown, MAKO |
paper/ | Preprint: LaTeX source, PDF, claim ledger, arXiv bundle |
docs/ | Agent quickstart, deploy and namespace guides, Indonesian project notes |
REFERENCE.md | Reference implementation details, what gets verified, CLI quickstart |
Documentation
- Specifications:
spec/en·spec/id· schemas - Reference implementation:
REFERENCE.md - Maintenance contract (AI agents & devs):
AGENTS.md - Architecture:
docs/architecture.md· Release guide:docs/release.md - Agent quickstart (client side):
docs/agent-quickstart.md - Publisher AI guide (owner side):
docs/publisher-ai-guide.md - Publisher Studio (local app):
studio/README.md - Complete guide:
penjelasan-aifeed.html(source of https://aifeed.md/penjelasan.html) - Security policy:
SECURITY.md - Governance & open-core policy:
GOVERNANCE.md - Deploying the site:
docs/deploy-site.md - arXiv submission notes:
paper/ARXIV-SUBMISSION.md
Status
- Release
1.0.0-draft— the specifications are not frozen yet. Wire versions: manifest0.1/0.2, AIFeed Markdown1.0, MAKO0.2. - Conformance: 34 manifest + 39 MAKO + 11 AIFeed Markdown vectors, executed by independent JavaScript and Python verifiers, plus PHP differential fixtures, 90,000+ fuzz executions, and a WordPress end-to-end test.
- Not claimed: external cryptographic review and a live pilot (both pending); origin+DNS compromise is undetectable on first contact.
License and contact
Specifications CC BY 4.0 · reference code and plugin MIT · vectors CC0.
Contact: contact@aifeed.md — security reports per
SECURITY.md.