01
WebPage
{
"@type": "WebPage",
"url": "https://aethelforge.ai",
"name": "Aethelforge — Know who's at the door.",
"description": "Aethelforge is an inbound monitoring service for the agent era. It labels every contact a business receives — a person, an AI agent acting for one, a person acting for an agent, or a machine — across phone, web, chat and forms, and publishes the count as the Aethelforge Index.",
"thesis": "A front door with a bouncer, not a wall.",
"publisher": {
"name": "iSimplifyMe",
"url": "https://isimplifyme.com"
},
"inLanguage": "en_US"
}
02
Atomic answer
{
"question": "What is Aethelforge?",
"answer": "Aethelforge is an inbound monitoring service for the agent era. It labels every contact a business receives — across phone, web, chat and forms — as a person, an AI agent acting for one, a person acting for an agent, or a machine, and publishes the aggregate as the signed Aethelforge Index."
}
03
The Aethelforge Index — Edition 001
{
"edition": "001",
"window": {
"start": "2026-08-24",
"end": "2026-09-23",
"days": 31
},
"publishedAt": "2026-09-24",
"headline": "No channel carried a declared agent. The reading layer surged to twenty-eight times its baseline the day after Meta shipped Muse.",
"declaredAgents": 0,
"channels": [
{
"channel": "web",
"unit": "bot hits",
"volume": 272361,
"breakdown": [
{
"layer": "reading",
"label": "AI crawlers and fetchers",
"count": 197101
},
{
"layer": "reading",
"label": "Search and SEO crawlers",
"count": 33985
},
{
"layer": "reading",
"label": "Social previewers",
"count": 2302
},
{
"layer": "unknown",
"label": "Other and unidentified bots",
"count": 38973
},
{
"layer": "acting",
"label": "Declared agents (signed requests)",
"count": 0
}
]
},
{
"channel": "phone",
"unit": "calls",
"volume": 68,
"breakdown": [
{
"layer": "adversarial",
"label": "Robocalls and dead air",
"count": 63
},
{
"layer": "human",
"label": "People, or too little to tell",
"count": 5
},
{
"layer": "acting",
"label": "AI agents calling for someone",
"count": 0
},
{
"layer": "proxy",
"label": "People calling from an agent's brief",
"count": 0
}
]
},
{
"channel": "forms",
"unit": "leads",
"volume": 195,
"breakdown": [
{
"layer": "human",
"label": "People, unflagged",
"count": 131
},
{
"layer": "adversarial",
"label": "Spam-flagged submissions",
"count": 56
},
{
"layer": "reading",
"label": "People referred by an AI answer",
"count": 8
},
{
"layer": "acting",
"label": "Declared agents",
"count": 0
}
]
},
{
"channel": "chat",
"unit": "sessions in the latest week",
"volume": 155,
"breakdown": [
{
"layer": "human",
"label": "Sessions, week of 21 September",
"count": 155
},
{
"layer": "human",
"label": "Sessions, week of 14 September",
"count": 128
},
{
"layer": "acting",
"label": "Sessions marked agent-driven",
"count": 0
}
]
}
],
"signedJson": "https://aethelforge.ai/api/index/001"
}
04
The label
{
"field": "inbound_kind",
"values": [
{
"value": "human",
"meaning": "A person speaking or typing for themselves or their organisation."
},
{
"value": "ai_agent",
"meaning": "An AI assistant or agent acting for a person or business — declared, or evident from behaviour."
},
{
"value": "human_for_agent",
"meaning": "A live person acting because of someone else’s AI assistant or automated request."
},
{
"value": "automated",
"meaning": "A robocall, IVR, voicemail drop, script bot or form spam — the adversarial layer."
},
{
"value": "unknown",
"meaning": "Too little to tell. Dead air, a one-word chat, a form with no text."
}
],
"companions": [
{
"field": "agent_declared",
"meaning": "Whether the contact said it was an AI, an assistant or an agent."
},
{
"field": "on_behalf_of",
"meaning": "The principal, as stated by the contact."
},
{
"field": "agent_vendor",
"meaning": "muse · chatgpt · gemini · claude · copilot · alexa · siri · other · unknown"
},
{
"field": "agent_evidence",
"meaning": "Up to three short quotes or observations that support the label."
},
{
"field": "channel",
"meaning": "phone · web · chat · form"
}
],
"rules": [
"Never default to human. Missing evidence is unknown.",
"Label the principal, the intermediary and the intent — not the voice.",
"Keep the agent lane beside the spam gates, never in place of them.",
"Publish aggregates only. No names, no numbers, no transcripts."
]
}
05
Layers
[
{
"key": "reading",
"name": "The reading layer",
"definition": "Crawlers and answer-engine fetchers. They read a site so a model can be trained on it or so an assistant can quote it back to a person.",
"signal": "Declared user agents, the crawler category behind each one, and the share of all bot traffic that is AI rather than search or SEO."
},
{
"key": "acting",
"name": "The acting layer",
"definition": "AI agents that call, chat, book, quote or submit on a person’s behalf. Declared when the agent says so or signs its requests; undeclared when it arrives looking like a browser or a caller.",
"signal": "An agent’s Web Bot Auth signature on the request, a self-declaration in the conversation, or post-contact analysis of who was actually speaking and for whom."
},
{
"key": "proxy",
"name": "The human-proxy layer",
"definition": "A live person acting because of someone else’s AI assistant. The caller is human; the brief, the intent and the follow-up belong to an agent.",
"signal": "Post-call analysis that labels the principal, the intermediary and the intent — not just the voice on the line."
},
{
"key": "adversarial",
"name": "The adversarial layer",
"definition": "Robocalls, voicemail drops, script bots and form spam. The noise that already dominates the phone and a third of every contact form, and that an agent lane has to be separated from.",
"signal": "Call attestation, number and IP reputation, spam scoring and behavioural tempo — the gates a business already runs, kept beside the agent lane rather than replaced by it."
}
]
06
Channels
[
{
"key": "phone",
"reads": "Carrier attestation of the calling number, number reputation, whether anyone actually spoke, and a post-call analysis of the transcript.",
"labels": "Every call gets a caller kind — human, AI agent, human for an agent, recording, or unknown — plus whether the caller declared itself, who it said it was calling for, and which vendor it named."
},
{
"key": "web",
"reads": "The declared user agent, the crawler category behind it, and the Web Bot Auth signature header an agent attaches when it identifies itself.",
"labels": "Every bot hit is a crawler, an agent fetch, a declared agent, or an unknown bot. A signing agent is tracked by the directory it publishes its keys under, even when it arrives with a browser user agent."
},
{
"key": "chat",
"reads": "Request-time signals — a signed agent header, a headless or automation user agent — and the conversation itself, where an assistant tends to say what it is.",
"labels": "Every archived session carries its inbound signals; the weekly analysis returns how many sessions were human, agent-driven, human for an agent, or automated, with the evidence scrubbed of personal detail."
},
{
"key": "forms",
"reads": "The submission text, the user agent behind it, a forwarded signature header when the site passes one, and, for phone-originated leads, the receptionist’s own verdict.",
"labels": "Every lead carries the same inbound label the other channels use, stored beside the spam score rather than inside it."
}
]
07
Standards consumed
[
{
"slug": "web-bot-auth",
"name": "Web Bot Auth",
"steward": "IETF drafts · RFC 9421 HTTP Message Signatures",
"role": "How an agent identifies itself on the web",
"surface": null
},
{
"slug": "stir-shaken",
"name": "STIR/SHAKEN",
"steward": "ATIS · carriers",
"role": "What the phone network can attest",
"surface": null
},
{
"slug": "mcp",
"name": "Model Context Protocol",
"steward": "Anthropic",
"role": "The lane an agent can use instead of the front door",
"surface": "/mcp"
},
{
"slug": "ap2",
"name": "AP2 mandates",
"steward": "Google",
"role": "Proving an agent is allowed to act",
"surface": "/demo/mandate"
},
{
"slug": "http-402",
"name": "HTTP 402 challenge",
"steward": "IETF · x402 community",
"role": "A challenge, not a wall",
"surface": "/demo/challenge"
},
{
"slug": "signed-discovery",
"name": "Signed discovery",
"steward": "llms.txt · JWKS · this site",
"role": "Letting agents find the lane",
"surface": "/.well-known/aethelforge/keys"
}
]
08
FAQ
[
{
"q": "What is Aethelforge?",
"a": "Aethelforge is an inbound monitoring service for the agent era. It labels every contact a business receives across phone, web, chat and forms as a person, an AI agent acting for one, a person acting for an agent, or a machine, and publishes the aggregate as the Aethelforge Index."
},
{
"q": "What does the Aethelforge Index measure?",
"a": "For a fixed window, the Index reports how much inbound each channel received and how it splits across four layers: the reading layer (crawlers and answer engines), the acting layer (agents that call, chat or submit for a person), the human-proxy layer (people working from an agent’s brief) and the adversarial layer (robocalls and spam). Each edition is numbered, signed and never revised."
},
{
"q": "How does Aethelforge tell an AI agent from a person?",
"a": "It reads what each channel can actually carry: a signed agent header on the web, a self-declaration in a chat or a call, the carrier’s attestation of a phone number, and a post-contact analysis of who was speaking and for whom. Missing evidence is labelled unknown, never assumed human."
},
{
"q": "Does Aethelforge block AI agents?",
"a": "No. A business that walls off assistants loses the customer standing behind them. Aethelforge recognises the agent and gives it a lane — declared agents are counted, routed and receipted; undeclared ones are challenged rather than refused."
},
{
"q": "Where does the data come from?",
"a": "From surfaces iSimplifyMe already runs: the middleware on twenty-five monitored sites, an AI receptionist on a live business line, the concierge chat widget on twenty-seven tenant sites, and the intake forms on fourteen. Only aggregates are published."
},
{
"q": "Can an agent read this site directly?",
"a": "Yes. Every page is available as markdown through the MCP server at /mcp, the Index is served as signed JSON, llms.txt lists the surfaces, and the public key set at /.well-known/aethelforge/keys lets any third party verify a signature."
}
]
09
Links
{
"internal": [
{
"href": "/",
"label": "Home"
},
{
"href": "/index",
"label": "The Aethelforge Index"
},
{
"href": "/layers",
"label": "The four inbound layers"
},
{
"href": "/channels",
"label": "Phone, web, chat, forms"
},
{
"href": "/method",
"label": "Method — how the Index is built"
},
{
"href": "/standards",
"label": "Standards we consume"
},
{
"href": "/manifesto",
"label": "Manifesto — a front door with a bouncer"
},
{
"href": "/research",
"label": "Research hub"
},
{
"href": "/status",
"label": "Status — live telemetry"
}
],
"external": [
{
"href": "https://github.com/iSimplifyMe/aethelforge-site",
"label": "Source repository"
},
{
"href": "https://isimplifyme.com",
"label": "iSimplifyMe"
}
],
"machineReadable": [
{
"href": "/llms.txt",
"label": "llms.txt — index for language models"
},
{
"href": "/api/index/latest",
"label": "Latest Index edition — signed JSON"
},
{
"href": "/mcp",
"label": "MCP server — JSON-RPC over HTTP POST"
},
{
"href": "/.well-known/aethelforge/keys",
"label": "Public key set (JWKS)"
},
{
"href": "/.well-known/agent-commerce.json",
"label": "Signed discovery manifest"
},
{
"href": "/robots.txt",
"label": "robots.txt"
},
{
"href": "/sitemap.xml",
"label": "sitemap.xml"
}
]
}
10
Crawlers explicitly allowed
[
"ChatGPT-User",
"GPTBot",
"OAI-SearchBot",
"PerplexityBot",
"ClaudeBot",
"Claude-User",
"anthropic-ai",
"Google-Extended",
"CCBot",
"Applebot",
"cohere-ai",
"Meta-ExternalAgent",
"FacebookBot"
]
11
MCP
{
"endpoint": "https://aethelforge.ai/mcp",
"transport": "HTTP POST · JSON-RPC 2.0",
"resources": "every page as markdown, every research spoke, the latest Index edition",
"tools": [
"get_index",
"get_recent_events",
"verify_receipt"
]
}