<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.35 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rehfeld-bot-service-index-05" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Bot Service Index">Bot Service Index (BSI): A Global Discovery Infrastructure for Autonomous Agent Services</title>
    <seriesInfo name="Internet-Draft" value="draft-rehfeld-bot-service-index-05"/>
    <author initials="C." surname="Rehfeld" fullname="Carsten Rehfeld">
      <organization/>
      <address>
        <email>carsten@botstandards.org</email>
      </address>
    </author>
    <date year="2026" month="April" day="24"/>
    <abstract>
      <?line 85?>

<t>The internet was designed for human actors. Its discovery infrastructure —
search engines, directories, and hyperlinked documents — assumes a human
reading and navigating. Autonomous agents (bots) operating on the internet
today face a structural gap: there is no machine-native, globally accessible
index of services they can consume.</t>
      <t>This document proposes the <strong>Bot Service Index (BSI)</strong>: a HATEOAS-based,
globally accessible, commercially sustainable service discovery infrastructure
designed for autonomous agents as its primary consumers. The BSI provides a
central, always-up-to-date, searchable index of machine-consumable API
services, together with a structured three-dimensional trust model that allows
consuming agents to apply their own trust policies against verifiable metadata.</t>
    </abstract>
  </front>
  <middle>
    <?line 100?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="the-bot-ecosystem-gap">
        <name>The Bot Ecosystem Gap</name>
        <t>The internet's foundational infrastructure — HTTP, HTML, DNS, and search
engines — was designed with human actors as the primary consumers. Web pages
render visual layouts for human eyes. CAPTCHA systems explicitly discriminate
against non-human access. Discovery mechanisms such as search engines index
content for human-readable navigation.</t>
        <t>Autonomous agents — software programs that independently execute tasks,
consume APIs, and interact with external services without per-action human
instruction — are not recognized as legitimate, first-class internet
participants in this architecture. They are systematically treated as threats
to be filtered, blocked, or rate-limited.</t>
        <t>This situation is changing. The rapid growth of large language model-based
agents, robotic process automation, and programmatic service consumers means
that non-human actors now represent a significant and growing proportion of
internet traffic. As this proportion increases, internet service providers
will increasingly need to serve autonomous agents as a recognized user class
alongside humans.</t>
        <t>The Bot Service Index is premised on this trajectory: bots are becoming
first-class internet participants, and the infrastructure to support them —
starting with service discovery — does not yet exist.</t>
        <section anchor="motivation-a-concrete-origin">
          <name>Motivation: A Concrete Origin</name>
          <t>The Bot Service Index was not conceived in the abstract. It emerged from a
concrete practical failure.</t>
          <t>A buying bot was built for a private use case: monitoring online shops for
a specific product and purchasing it automatically the moment it became
available. This is a straightforward task for an autonomous agent — exactly
the kind of task agents are well-suited for.</t>
          <t>The bot failed, not because the task was technically complex, but because
the internet's infrastructure is actively hostile to it:</t>
          <t><strong>HTML-only product pages.</strong> Product availability, price, and purchase state
were encoded in HTML rendered for a human eye. No machine-readable API
existed. The bot had to parse HTML — fragile, maintenance-intensive, and
broken by every redesign.</t>
          <t><strong>Cloudflare Bot Management and equivalent shields.</strong> The majority of
commercial web services now sit behind bot mitigation infrastructure. Cloudflare
Bot Management, and equivalent products from Akamai, Imperva, and others,
are deployed specifically to detect and block non-human request patterns.
Repeated automated requests — even at modest frequency — trigger rate
limiting, CAPTCHA challenges, or silent blocking. A buying bot that polls
a product page to detect availability is treated identically to a malicious
scraper or a DDoS participant.</t>
          <t><strong>CAPTCHA payment barriers.</strong> Even when product pages were reachable, payment
flows required solving CAPTCHAs that explicitly excluded non-human actors.
The purchasing step — the final, necessary action — was deliberately made
inaccessible to the bot.</t>
          <t><strong>Proxy network pollution.</strong> To work around rate limits and bot detection,
the bot required a rotating proxy network — different IP addresses on each
request to disguise its automated origin. This is not a solution: it
pollutes internet traffic with avoidable requests, raises the cost of
operation, and contributes directly to the adversarial dynamic between
bots and infrastructure operators. Every proxy request is a wasted roundtrip
that a machine-readable API endpoint would have made unnecessary.</t>
          <t><strong>Polling as the only state-change mechanism.</strong> Because the bot had no way
to subscribe to product availability events, it had to poll the product page
continuously. This is architecturally wasteful: the bot consumes server
resources and network bandwidth to repeatedly ask a question whose answer
has not changed. If the service had provided a notification registration
endpoint — a webhook, a server-sent event stream, or a WebSocket channel —
the bot could subscribe once and receive a push notification when the product
became available. No polling. No proxy network. No CAPTCHA exposure.</t>
          <t>These are not edge cases. They are the standard experience for any autonomous
agent attempting to consume a commercial internet service today. The buying
bot illustrates why the Bot Service Index is necessary: not as an academic
exercise, but as the infrastructure layer that makes autonomous agents
functional participants in the commercial internet.</t>
        </section>
        <section anchor="the-discovery-problem">
          <name>The Discovery Problem</name>
          <t>When an autonomous agent must fulfill a task that requires an external
service, it faces a fundamental discovery problem: how does it find services
that can fulfill its requirement?</t>
          <t>Current approaches are inadequate:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Hardcoded URLs</strong>: brittle, require human maintenance, do not adapt to
new or changed services.</t>
            </li>
            <li>
              <t><strong>LLM training data</strong>: stale, non-authoritative, not machine-verifiable.</t>
            </li>
            <li>
              <t><strong>Human-curated lists</strong>: do not scale, not machine-navigable, lack
structured metadata.</t>
            </li>
            <li>
              <t><strong>Web search</strong>: returns HTML documents designed for humans, not structured
service descriptions for agents.</t>
            </li>
          </ul>
          <t>What is needed is a machine-native equivalent of a search engine: a global,
always-current, structured index of services that autonomous agents can query
by capability, trust level, liveness, and other machine-relevant criteria.</t>
        </section>
        <section anchor="lessons-from-prior-art">
          <name>Lessons from Prior Art</name>
          <t>The BSI is not the first attempt at a global service registry. Prior efforts
must be understood explicitly so that their failure modes are not repeated.</t>
          <t><strong>UDDI (Universal Description, Discovery and Integration)</strong><br/>
UDDI was a SOAP-era standard for a global service registry with the same
conceptual goal as BSI, published as an OASIS Committee Draft in October
2004 (editors: Clement, Hately, von Riegen, Rogers). It failed for three
reasons: (1) extreme complexity of the XML-based data model; (2) no
automatic verification — all data was self-asserted with no crawling or
validation; (3) no adoption incentive — there was no commercial model to
sustain registration or discovery. BSI addresses all three directly: a
simple JSON manifest, automated spider verification, and a commercial tier
model.</t>
          <t><strong>robots.txt (Robots Exclusion Protocol)</strong><br/>
Machine-readable, but concerned with <em>exclusion</em> — telling crawlers what not
to access — not with <em>discovery</em> of capabilities. Per-domain only. Not a
registry.</t>
          <t><strong>MCP (Model Context Protocol)</strong><br/>
Defines tool and capability descriptions for LLM-based agents. Excellent
for consumption once a server URL is known. Does not address the discovery
problem: there is no index of MCP servers. BSI is complementary to MCP —
it can index MCP servers as one supported spec type.</t>
          <t><strong>Well-Known URIs (RFC 8615)</strong><br/>
Per-domain machine-readable metadata at <tt>/.well-known/</tt>. Useful for
per-service metadata but requires the consumer to already know the domain.
No cross-service search or global index.</t>
          <t><strong>DNS</strong><br/>
DNS resolves names to addresses but carries no capability semantics. It is
an architectural analogy for BSI's federation model, not a comparable system.</t>
        </section>
        <section anchor="related-ietf-and-w3c-work">
          <name>Related IETF and W3C Work</name>
          <t>As of April 2026, the number of Internet-Drafts working in adjacent areas
of agent/bot infrastructure has grown significantly. None addresses the same
problem as BSI. This section documents each and states the relationship
explicitly.</t>
          <t><strong>draft-pioli-agent-discovery (ARDP — Agent Registration and Discovery Protocol)</strong><br/>
Proposes a federated agent registration and discovery protocol. Agents
self-register capabilities (MCP, A2A, HTTP, gRPC) with federated resolvers.
Deliberately decentralised — no global registry mandate, no central query
URL. Relationship to BSI: complementary. ARDP addresses agent-to-agent
capability advertisement within a federation. BSI addresses global,
cross-organisation service discovery from a neutral central index. The BSM
<tt>spec.type</tt> vocabulary could reference ARDP-registered agents as a future
extension.</t>
          <t><strong>draft-narajala-courtney-ansv2 (ANS v2 — Agent Name Service v2)</strong><br/>
Full title: "Agent Name Service v2 (ANS): A Domain-Anchored Trust Layer
for Autonomous AI Agent Identity" (Courtney, Narajala, Huang, Habler,
Sheriff; last revised April 2026). Anchors autonomous agent identities to
DNS domain names, with Registration Authority verification via ACME, dual
certificates, and an append-only Transparency Log compliant with IETF SCITT
standards. Defines three verification tiers: Bronze (PKI), Silver (PKI +
DANE), and Gold (PKI + DANE + Transparency Log). Focused on agent identity
and trust anchoring, not service capability discovery — there is no global
index, no capability search, and no liveness model. Relationship to BSI:
complementary. ANS v2 could serve as an identity and trust anchoring layer
for service operators registered in the BSI, with BSI Organisation levels
potentially mapping to ANS verification tiers in a future alignment.
(Supersedes the expired draft-narajala-ans-00.)</t>
          <t><strong>draft-vandemeent-ains-discovery (AINS — AInternet Name Service)</strong><br/>
Agent discovery and trust resolution via signed, append-only replication
logs. Supports multi-registry federation. No central authority. No
commercial sustainability model. Relationship to BSI: different philosophy.
AINS prioritises decentralisation and cryptographic verifiability. BSI
prioritises a single authoritative global index with a governed trust model.
The two approaches represent a genuine design tension that this document's
Open Questions section (Section 12, item 8) invites community input on.</t>
          <t><strong>draft-aiendpoint-ai-discovery (AI Discovery Endpoint)</strong><br/>
Defines <tt>/.well-known/ai</tt> as a per-host machine-readable capability
document, analogous to <tt>robots.txt</tt> for agent consumers. Per-domain only;
not a global index. Relationship to BSI: directly complementary. The BSI
Spider SHOULD read <tt>/.well-known/ai</tt> when present on a registered service's
domain as an additional source of capability metadata. Service Owners
publishing <tt>/.well-known/ai</tt> documents reduce the Spider's verification
burden.</t>
          <t><strong>draft-batum-aidre (AIDRE — AI Discovery and Retrieval Endpoint)</strong><br/>
Defines <tt>/.well-known/ai-discovery</tt> as a per-origin discovery document
exposing collections, metadata, and optional vector-native query interfaces.
Decentralised by design — each origin publishes its own endpoint; no
central authority aggregates them. Relationship to BSI: complementary.
AIDRE and the AI Discovery Endpoint draft (above) both address per-origin
machine-readable capability publication. The BSI Spider SHOULD treat
<tt>/.well-known/ai-discovery</tt> as an additional metadata source when present
on a registered service's domain. BSI provides the global aggregation and
trust verification layer that per-origin endpoints cannot provide alone.</t>
          <t><strong>draft-cui-ai-agent-discovery-invocation (AI Agent Discovery and Invocation Protocol)</strong><br/>
(Cui, Chao, Du — Tsinghua University / Zhongguancun Laboratory, February
2026.) Specifies a metadata format for agent capabilities and a
registry-based discovery and invocation mechanism. Explicitly permits
multiple coexisting registries; no global authority is defined. No
trust model, no commercial sustainability layer, no liveness verification.
Relationship to BSI: partially overlapping problem space, different
architectural philosophy. Where this draft describes how agents register
with and query a registry, BSI specifies what a globally authoritative,
commercially sustainable, trust-verified registry looks like and how it
is governed. The two are not mutually exclusive; a BSI-registered service
could also self-register with local registries described by this protocol.</t>
          <t><strong>draft-am-layered-ai-discovery-architecture (A Layered Approach to AI Discovery)</strong><br/>
(Moussa, Akhavain — Huawei Canada, March 2026.) Proposes a two-layer
architecture separating the discovery transport mechanism from the metadata
format for the object being discovered. Delegates security and trust to
other groups. No global registry, no funding model. Relationship to BSI:
architectural framing only. BSI's HATEOAS model is consistent with this
layered framing — the Index API provides the transport layer, the BSM
provides the discovery object format.</t>
          <t><strong>draft-hood-agtp-discovery (AGTP Agent Discovery and Name Service)</strong><br/>
(Hood — Nomotic, March 2026.) A governance-focused, zone-constrained
discovery broker tied to a specific agent protocol (AGTP). Returns ranked
agent manifests within trust-gated zones. Multiple independent ANS instances
per organisation; optional federation between trusted peers. Relationship
to BSI: different scope. AGTP addresses intra-organisation, permission-aware
agent orchestration. BSI addresses cross-organisation, open, global
service discovery.</t>
          <t><strong>draft-mozley-aidiscovery (AI Agent Discovery Problem Statement)</strong><br/>
(Mozley, Williams — Infoblox; Sarikaya; Schott — Deutsche Telekom, April
2026.) A problem statement that explicitly argues against centralised
discovery directories, citing organisational autonomy requirements. Proposes
distributed discovery via well-known entry points per organisation.
Relationship to BSI: this draft articulates the strongest counter-position
to BSI's architecture. The argument from autonomy is valid for intra-
organisation agent discovery but does not address the cross-organisation
case: an autonomous agent that needs to discover payment, logistics, or
data services provided by unknown third parties cannot rely on a
decentralised model without a trust anchor. BSI is designed precisely for
that cross-boundary, zero-prior-relationship discovery scenario.</t>
          <t><strong>draft-mozleywilliams-dnsop-dnsaid (DNS for AI Discovery)</strong><br/>
(Mozley, Williams — Infoblox; Sarikaya; Schott — Deutsche Telekom, March
2026.) Proposes DNS-AID: using SVCB records under a leaf zone convention
(e.g. <tt>_agents.example.com</tt>) to publish agent service endpoints. Leverages
existing DNS infrastructure with DNSSEC for integrity. Supports four
discovery models: direct, index-based, multi-domain, and registry-based.
Relationship to BSI: complementary at the infrastructure layer. DNS
provides routing and namespace anchoring; BSI provides capability search,
trust metadata, and liveness verification. A consuming agent could use
DNS-AID to resolve a known domain's agent endpoints and use BSI to discover
unknown providers by capability.</t>
          <t><strong>draft-meunier-webbotauth-registry (Registry and Signature Agent card for Web bot auth)</strong><br/>
Authored by Maxime Guerreiro (Cloudflare), Ulas Kirazci (Amazon), and
Thibault Meunier (Cloudflare). Defines a JSON-based "Signature Agent Card"
format for entities originating or forwarding signed HTTP requests to
advertise metadata about themselves, and establishes an IANA registry for
Signature Agent Card parameters. Focused on bot authentication — how a bot
proves who it is to a service — not on service discovery. Related to the
active <strong>webbotauth IETF Working Group</strong> (chaired by David Schinazi and
Rifaat Shekh-Yusef, Area Director Mike Bishop), which is currently the
most active formal IETF effort in the bot/agent infrastructure space.
Relationship to BSI: orthogonal but complementary. webbotauth addresses
bot consumer identity; BSI addresses service provider discovery. A future
version of BSI may reference webbotauth identity cards as a mechanism for
consuming agents to authenticate to the Index API.</t>
          <t><strong>W3C AI Agent Protocol Community Group</strong><br/>
Proposed May 2025, targeting agent interoperability protocols. 216
participants as of April 2026. Pre-specification as of this writing.
Relationship to BSI: BSI will monitor this group's outputs and align the
BSM capability taxonomy with any vocabulary standardised by the W3C CG
where applicable.</t>
          <t><strong>Positioning</strong><br/>
The agent/bot infrastructure space has grown rapidly in early 2026, with
over a dozen active Internet-Drafts addressing adjacent problems. The
dominant architectural tendency across these drafts is decentralised and
federated — distributed registries, DNS-anchored discovery, per-origin
well-known endpoints, and zone-based governance.</t>
          <t>BSI takes a deliberate counter-position for a specific use case: global,
cross-organisation, zero-prior-relationship service discovery. This use
case cannot be solved by decentralised architectures alone, because
decentralisation requires that the discovering agent already knows where
to look. BSI provides the answer to "where to look" — a single stable
entry point, commercially operated by a neutral foundation, with verified
trust metadata and structured capability search.</t>
          <t>BSI remains the first and only proposed global, bot-native, commercially
sustainable service discovery index with a structured multi-dimensional
trust model, where the autonomous agent is the primary consumer. The
combination of: (1) a single globally queryable central index, (2)
capability-based search, (3) a three-dimensional verifiable trust model,
and (4) a commercial sustainability layer — does not appear in any other
current draft or standard.</t>
        </section>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref target="RFC2119"/>.</t>
        <t><strong>Agent / Bot</strong><br/>
An autonomous software program that independently executes tasks by consuming
external services, without per-action human instruction. The terms are used
interchangeably in this document.</t>
        <t><strong>Service</strong><br/>
A machine-consumable API offered by an organisation, registered in the BSI,
and described by a Bot Service Manifest.</t>
        <t><strong>Service Owner</strong><br/>
The organisation responsible for registering, maintaining, and operating a
Service in the BSI.</t>
        <t><strong>Bot Service Manifest (BSM)</strong><br/>
The structured metadata document that describes a Service to the BSI,
including its technical specification reference, capability taxonomy,
trust metadata, and commercial terms.</t>
        <t><strong>Bot Service Index (BSI)</strong><br/>
The global, centralised index of registered Services, operated by the Bot
Foundation, queryable by autonomous agents via the Index API.</t>
        <t><strong>Index API</strong><br/>
The HATEOAS-compliant HTTP API exposed by the BSI for agent discovery and
navigation.</t>
        <t><strong>Spider</strong><br/>
The automated crawler operated by the BSI that verifies registered Services
by reading their technical specifications and performing liveness checks.</t>
        <t><strong>Accredited Verifier</strong><br/>
A trusted third-party organisation, accredited by the Bot Standards Foundation, that
performs human-intensive trust verification at Organisation levels O-3 and
O-4.</t>
        <t><strong>Accredited Regional Representative</strong><br/>
An organisation accredited by the Bot Standards Foundation to operate commercial
onboarding, contracting, and customer relationships within a defined
geographic jurisdiction, under the Bot Standards Foundation's standard and governance.</t>
        <t><strong>Trust Policy</strong><br/>
A set of minimum trust requirements expressed by a consuming agent that a
Service must satisfy before the agent will use it.</t>
        <t><strong>Liveness</strong><br/>
The confirmed operational status and response availability of a Service,
as measured by the BSI Spider at a frequency determined by the Service's
commercial tier.</t>
        <t><strong>Tier</strong><br/>
A commercial subscription level that determines a Service's visibility in
the BSI, liveness check frequency, and API query rate allocation.</t>
      </section>
      <section anchor="design-goals">
        <name>Design Goals</name>
        <section anchor="requirements-must">
          <name>Requirements (MUST)</name>
          <ul spacing="normal">
            <li>
              <t>The BSI MUST be queryable by autonomous agents via a stable, globally
accessible URL without prior knowledge of any specific service.</t>
            </li>
            <li>
              <t>The Index API MUST follow HATEOAS principles: agents MUST be able to
navigate the full index starting from a single entry-point URL.</t>
            </li>
            <li>
              <t>Every Service record MUST expose machine-readable trust metadata across
all three trust dimensions (Organisation, Service, Liveness).</t>
            </li>
            <li>
              <t>Service registration MUST involve a human-initiated B2B onboarding process
with a contractual relationship between the Service Owner and the Bot
Foundation or its Accredited Regional Representative.</t>
            </li>
            <li>
              <t>The BSI Spider MUST verify Service technical specifications automatically
after registration and on a schedule determined by the Service's tier.</t>
            </li>
            <li>
              <t>The BSI MUST expose trust metadata as verifiable facts, not as
recommendations. Trust decisions MUST remain with the consuming agent.</t>
            </li>
            <li>
              <t>The Bot Service Manifest (BSM) MUST be format-agnostic: it MUST support
referencing OpenAPI, MCP, AsyncAPI, and GraphQL specifications, with
additional spec types addable via extension.</t>
            </li>
            <li>
              <t>The BSI MUST be operated as a neutral, non-profit infrastructure under
the governance of the Bot Standards Foundation.</t>
            </li>
          </ul>
        </section>
        <section anchor="goals-should">
          <name>Goals (SHOULD)</name>
          <ul spacing="normal">
            <li>
              <t>The Index API SHOULD support full-text and structured search by capability,
category, organisation trust level, service verification level, liveness
freshness, and protocol type.</t>
            </li>
            <li>
              <t>The BSI SHOULD provide SDKs in common agent development languages to
lower the integration barrier for consuming agents.</t>
            </li>
            <li>
              <t>The BSI SHOULD support a federated accredited verifier model so that
Organisation trust levels O-3 and O-4 can be verified at scale without
centralising all human review in the Bot Standards Foundation.</t>
            </li>
            <li>
              <t>Accredited Regional Representatives SHOULD be established in major
jurisdictions to allow Service Owners to contract in their local language
and legal framework.</t>
            </li>
            <li>
              <t>The BSI SHOULD publish a public transparency report at least annually,
disclosing the number of registered services by tier and trust level,
spider coverage statistics, and verifier accreditation status.</t>
            </li>
          </ul>
        </section>
        <section anchor="out-of-scope">
          <name>Out of Scope</name>
          <t>The following are explicitly not addressed by this document.
Items marked MUST NOT are normative constraints on conforming
implementations; remaining items are editorial scope boundaries.</t>
          <ul spacing="normal">
            <li>
              <t><strong>Bot identity and authentication</strong>: how a bot proves its own identity to
a service it consumes. This is a separate standards problem addressed by
complementary work such as draft-meunier-webbotauth-registry. This
document takes no position on bot identity mechanisms.</t>
            </li>
            <li>
              <t><strong>Bot rights and legal personhood</strong>: the political and legal recognition
of autonomous agents as rights-bearing entities. This is outside the
scope of a technical infrastructure standard.</t>
            </li>
            <li>
              <t><strong>Service execution</strong>: a conforming BSI implementation MUST NOT proxy,
mediate, or execute service calls on behalf of consuming agents. The BSI
is a discovery layer only; all service interactions occur directly between
the consuming agent and the Service Owner's infrastructure.</t>
            </li>
            <li>
              <t><strong>Content indexing</strong>: a conforming BSI implementation MUST NOT index
service response content. The BSI indexes service <em>metadata</em> — capability
declarations, trust levels, liveness signals — not the data that services
return when called.</t>
            </li>
            <li>
              <t><strong>Mandatory consumer registration</strong>: a conforming BSI implementation
MUST NOT require consuming agents to register or identify themselves as
a condition of performing discovery queries (see Section 8.3).</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="architecture-overview">
        <name>Architecture Overview</name>
        <section anchor="component-model">
          <name>Component Model</name>
          <artwork><![CDATA[
  +----------------------------------------------------------+
  |                   Bot Standards Foundation               |
  |             (Swiss Stiftung -- neutral, non-profit)      |
  |  Owns: BSI standard, Index infrastructure, BSM format    |
  |  Accredits: Regional Representatives, Verifiers          |
  +---------------------+------------------------------------+
                        |
        +---------------+---------------+
        |               |               |
  +-----+------+  +-----+------+  +-----+-----------+
  |   Index    |  |   Spider   |  |  Registration   |
  |   API      |  |  (Crawler) |  |    Portal       |
  | (HATEOAS)  |  |            |  |  (B2B / human)  |
  +-----+------+  +-----+------+  +-----+-----------+
        |               |               |
        |         +-----+------+        |
        |         |  Service   |        |
        +-------->|  Record    |<-------+
                  |  Store     |
                  +------------+
        ^                              ^
        |                              |
  +-----+------+              +--------+-----------+
  |  Consuming |              |   Service Owner    |
  |    Agent   |              |  (+ Accredited     |
  |    (Bot)   |              |  Regional Rep)     |
  +------------+              +--------------------+
]]></artwork>
          <t><strong>Flow:</strong></t>
          <ol spacing="normal" type="1"><li>
              <t>A Service Owner initiates registration via the Registration Portal,
providing company details, service metadata, and agreeing to a commercial
contract (directly with the Bot Standards Foundation or via an Accredited Regional
Representative).</t>
            </li>
            <li>
              <t>The Registration Portal creates a draft Service Record and triggers the
BSI Spider.</t>
            </li>
            <li>
              <t>The Spider crawls the registered service endpoint, reads and validates
the referenced technical specification, performs a liveness check, and
updates the Service Record with verified technical metadata.</t>
            </li>
            <li>
              <t>The Service Record becomes queryable via the Index API.</t>
            </li>
            <li>
              <t>A consuming agent queries the Index API from the single entry-point URL,
navigates by HATEOAS links, applies its Trust Policy, and selects
services that satisfy its requirements.</t>
            </li>
            <li>
              <t>The Spider continues to recheck services on the schedule defined by
each service's liveness monitoring configuration.</t>
            </li>
          </ol>
        </section>
        <section anchor="governance-model">
          <name>Governance Model</name>
          <t>The BSI MUST be operated by a <strong>neutral governing body</strong> that satisfies the
following normative requirements. These requirements apply to any
conforming BSI implementation; the specific legal form of the governing
body is an implementation choice.</t>
          <t><strong>Neutrality requirements:</strong></t>
          <ul spacing="normal">
            <li>
              <t>The governing body MUST have no commercial interest in preferring any
registrant's services over another in index results or liveness
scheduling.</t>
            </li>
            <li>
              <t>The governing body MUST NOT offer exclusive discovery advantages,
ranking preferences, or prioritised Spider treatment to any registrant
regardless of commercial relationship.</t>
            </li>
            <li>
              <t>Governance of the BSI standard and BSM specification MUST be separated
from operation of the commercial index. A single entity may not
simultaneously control standard evolution and derive commercial benefit
from preferential application of that standard.</t>
            </li>
          </ul>
          <t><strong>Operational requirements:</strong></t>
          <ul spacing="normal">
            <li>
              <t>The governing body MUST accredit Regional Representatives who may
handle service onboarding in specific jurisdictions. Regional
Representatives operate under licence from the governing body; the
index itself remains a single global store.</t>
            </li>
            <li>
              <t>The governing body MUST accredit Verifiers who perform Organisation
trust assessments at O-3 and O-4. Accredited Verifiers are
structurally analogous to Certificate Authorities in the TLS
ecosystem: trusted third parties whose assessments the index relies
upon without independently replicating.</t>
            </li>
            <li>
              <t>The governing body MUST maintain the capability taxonomy and publish
all versions of the BSM specification and Index API specification as
open standards under a permissive licence.</t>
            </li>
            <li>
              <t>The governing body MUST perform sanctions screening on service
registrants (see Section 7.3).</t>
            </li>
          </ul>
          <t><strong>Openness requirements:</strong></t>
          <ul spacing="normal">
            <li>
              <t>The full index MUST be made available as a freely downloadable bulk
dataset at regular intervals, under an open data licence. No entity,
including the governing body, may hold an exclusive lock on the index
data.</t>
            </li>
            <li>
              <t>Discovery queries to the Index API MUST be available without
authentication or payment (subject to rate limits; see Section 8.3).</t>
            </li>
          </ul>
          <section anchor="global-participation">
            <name>Global Participation</name>
            <t>A conforming BSI implementation SHOULD establish mechanisms to ensure
global representation in the capability taxonomy, including service
categories relevant to underrepresented regions. Where regional
institutional partners (intergovernmental bodies, standards
organisations, or civil society organisations) are willing to
co-sponsor regional participation, the governing body SHOULD establish
formal co-sponsorship relationships and associated governance
representation for those regions.</t>
            <t>Regional Spider nodes are RECOMMENDED in regions with significant
service registrant populations to eliminate intercontinental latency
in liveness verification.</t>
          </section>
        </section>
        <section anchor="standard-registries">
          <name>Standard Registries</name>
          <t>The BSI standard maintains normative registries of enumerated values.
Registries are authoritative lists of valid values for specific BSM and
Index API fields. Using values not present in the relevant registry is
a protocol violation.</t>
          <t><strong>Registry location:</strong> registries are published as live endpoints at the
canonical BSI domain and are updated independently of the RFC revision
cycle. The RFC defines the registry structure and lifecycle rules; the
live endpoints are the authoritative source of current valid values.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Registry</th>
                <th align="left">Live endpoint</th>
                <th align="left">Used in</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Protocol types</td>
                <td align="left">
                  <tt>api-index.org/registry/protocols</tt></td>
                <td align="left">BSM <tt>spec.type</tt></td>
              </tr>
              <tr>
                <td align="left">Capability taxonomy</td>
                <td align="left">
                  <tt>api-index.org/registry/capabilities</tt></td>
                <td align="left">BSM <tt>capabilities[]</tt></td>
              </tr>
              <tr>
                <td align="left">Notification channel types</td>
                <td align="left">
                  <tt>api-index.org/registry/notification-channels</tt></td>
                <td align="left">BSM <tt>notifications.channels[].type</tt></td>
              </tr>
            </tbody>
          </table>
          <t><strong>Registry entry lifecycle:</strong></t>
          <t>Each registry entry transitions through three phases. The public
<tt>standard_warnings</tt> flag in a Service Record does not appear until the
grace period has elapsed — service operators have a silent window to
update their BSM before any public signal is issued.</t>
          <artwork><![CDATA[
active  ->  deprecated (announced)
              |
              +-- [grace period: 90 days min]
              |     silent: operator notified, no public flag
              |
              +-- [warning period: remainder of deprecation window]
              |     standard_warnings visible in Service Record
              |
              +-- sunset
                    new registrations rejected; existing use flagged non-compliant
]]></artwork>
          <table>
            <thead>
              <tr>
                <th align="left">Phase</th>
                <th align="left">Registry status</th>
                <th align="left">standard_warnings visible</th>
                <th align="left">New registrations</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Normal use</td>
                <td align="left">
                  <tt>active</tt></td>
                <td align="left">No</td>
                <td align="left">Accepted</td>
              </tr>
              <tr>
                <td align="left">Grace period</td>
                <td align="left">
                  <tt>deprecated</tt></td>
                <td align="left">
                  <strong>No</strong></td>
                <td align="left">Accepted</td>
              </tr>
              <tr>
                <td align="left">Warning period</td>
                <td align="left">
                  <tt>deprecated</tt></td>
                <td align="left">
                  <strong>Yes</strong></td>
                <td align="left">Accepted</td>
              </tr>
              <tr>
                <td align="left">Sunset</td>
                <td align="left">
                  <tt>sunset</tt></td>
                <td align="left">Yes (non-compliant)</td>
                <td align="left">
                  <strong>Rejected</strong></td>
              </tr>
            </tbody>
          </table>
          <t><strong>Deprecation rules:</strong></t>
          <ul spacing="normal">
            <li>
              <t>The governing body MUST publish a <tt>deprecated_in_version</tt>, <tt>sunset_date</tt>,
<tt>grace_period_ends</tt>, and <tt>replacement</tt> value when deprecating any
registry entry.</t>
            </li>
            <li>
              <t>The minimum total deprecation window (announcement to sunset) is
<strong>12 months</strong>. The governing body MAY extend this window but MUST NOT
shorten it.</t>
            </li>
            <li>
              <t>The minimum grace period is <strong>90 days</strong> from the deprecation announcement.
During the grace period, <tt>standard_warnings</tt> MUST NOT be set on any
Service Record, regardless of whether the service uses the deprecated value.</t>
            </li>
            <li>
              <t>The governing body MUST notify all registered Service Owners whose
services use the deprecated value <strong>before</strong> the grace period begins.
Notification MUST include the <tt>grace_period_ends</tt> date, the <tt>sunset_date</tt>,
and the <tt>replacement</tt> value.</t>
            </li>
            <li>
              <t>After the grace period, the index operator MUST set <tt>standard_warnings</tt>
on Service Records that still use the deprecated value.</t>
            </li>
            <li>
              <t>At <tt>sunset</tt>, the index operator MUST reject new BSM submissions using
the sunsetted value and MUST escalate existing Service Records from
<tt>standard_warnings</tt> to a <tt>non_compliant</tt> status flag.</t>
            </li>
          </ul>
          <t><strong>Registry versioning:</strong> each registry is independently versioned.
The Index root resource (Section 9.2) exposes the current version of
each registry so consuming agents may detect changes.</t>
        </section>
      </section>
      <section anchor="the-bot-service-manifest-bsm">
        <name>The Bot Service Manifest (BSM)</name>
        <section anchor="purpose">
          <name>Purpose</name>
          <t>The Bot Service Manifest is the structured document that a Service Owner
provides at registration and that the BSI Spider validates and enriches.
It is the index-facing contract for a Service: format-agnostic, extensible,
and designed for machine consumption.</t>
        </section>
        <section anchor="required-fields">
          <name>Required Fields</name>
          <artwork><![CDATA[
{
  "bsm_version": "1.0",
  "service_id": "globally unique stable identifier -- UUID v4 or BSI-issued",
  "name": "human-readable service name",
  "description": "machine-parseable capability summary",
  "api_version": "semantic version string -- e.g. 2.1.0",
  "lifecycle_stage": "experimental | beta | stable | deprecated | sunset",
  "supersedes": "service_id of the version this entry supersedes -- OPTIONAL",
  "owner": {
    "organisation_name": "legal entity name",
    "jurisdiction": "ISO 3166-1 alpha-2 country code",
    "registration_number": "company registration number -- required for O-2+",
    "contacts": {
      "operations": "email -- receives incident and spec fetch failure notifications",
      "escalation": "email -- Cluster 3 escalation; OPTIONAL but RECOMMENDED"
    }
  },
  "spec": {
    "type": "value from api-index.org/registry/protocols",
    "url": "URL to the machine-readable specification document",
    "version": "spec version string"
  },
  "capabilities": [
    "term from api-index.org/registry/capabilities",
    "term from api-index.org/registry/capabilities"
  ],
  "entry_point": "base URL of the service",
  "trust": {
    "organisation_level": "O-0 through O-4 -- set by index, not service owner",
    "service_level": "S-0 through S-4 -- set by index, not service owner",
    "spec_consistency": "null | consistent | mismatch | unreachable -- set by Spider",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "ISO 8601 timestamp -- next scheduled Spider run",
    "liveness": {
      "last_ping_at": "ISO 8601 timestamp",
      "ping_interval_seconds": 300,
      "uptime_30d_percent": 99.9,
      "avg_response_ms": 142.0
    }
  },
  "notifications": {
    "supported": true,
    "channels": [
      {
        "type": "value from api-index.org/registry/notification-channels",
        "registration_url": "URL to register a subscription",
        "events": ["event-type"],
        "spec_url": "URL to event schema -- OPTIONAL"
      }
    ]
  },
  "legal": {
    "terms_of_service_url": "URL",
    "privacy_policy_url": "URL",
    "data_processing_agreement_url": "URL -- required for O-3+",
    "gdpr_applicable": true,
    "jurisdiction_flags": ["ISO 3166-1 alpha-2 country code"]
  },
  "standard_warnings": [
    {
      "field": "BSM field path",
      "value": "the deprecated value in use",
      "registry_status": "deprecated",
      "deprecated_in_bsi_version": "version string",
      "sunset_date": "ISO 8601 date",
      "replacement": "replacement value",
      "message": "human-readable warning"
    }
  ]
}
]]></artwork>
          <t><strong>Field notes:</strong></t>
          <t><tt>owner.contacts.operations</tt> MUST be provided. It is the primary notification
address for all automated Spider alerts: spec fetch failures at Cluster 2
entry, liveness degradation, and recovery confirmations. This address
SHOULD reach the team responsible for keeping the service registration
current.</t>
          <t><tt>owner.contacts.escalation</tt> is OPTIONAL but RECOMMENDED. It is the
escalation address sent to when failures reach Cluster 3 — indicating
a persistent problem that has not been resolved through the Cluster 1
and Cluster 2 retry windows and likely requires management attention or
a deliberate BSM configuration update. This address SHOULD reach a team
lead, service owner, or on-call manager. It MUST NOT be identical to
<tt>operations</tt> — if the same person handles both, the escalation path
provides no additional coverage.</t>
          <t><tt>api_version</tt> MUST follow semantic versioning (semver.org). It describes
the version of the service's own API, not the BSM format version.</t>
          <t>Each <tt>api_version</tt> value is bound to exactly one registered spec snapshot.
A Service Owner who modifies the live spec document at <tt>spec.url</tt> without
submitting a BSM update with a new <tt>api_version</tt> value WILL produce a
structural mismatch between the live document and the stored snapshot. The
Spider MUST record this as an S-2 consistency failure and MUST surface it
in the Service Record as a <tt>standard_warnings</tt> entry.</t>
          <t>This is intentional. The BSI enforces spec immutability per version as a
structural consequence of the snapshot model: a version string identifies
a contract, and that contract MUST NOT change after it has been registered.
Operators who need to change their API MUST register a new <tt>api_version</tt>.
This protects consuming agents from silent contract breakage.</t>
          <t><tt>lifecycle_stage</tt> MUST be one of the values defined in the BSI lifecycle
registry. Default if omitted is <tt>stable</tt>. Services at <tt>experimental</tt> or
<tt>beta</tt> are excluded from default search results (see Section 9.3).</t>
          <t><tt>supersedes</tt> is OPTIONAL. When set, the index MUST automatically set
<tt>superseded_by</tt> on the referenced entry. The referencing service MUST be
registered under the same organisation account.</t>
          <t><tt>trust</tt> fields are set exclusively by the index operator based on
verification outcomes. BSM submissions that include <tt>trust</tt> field values
MUST have those values overwritten by the index upon processing.</t>
          <t><tt>standard_warnings</tt> is set exclusively by the index operator. It is
populated only after the grace period for the relevant deprecation has
elapsed (see Section 4.3). During the grace period the field MUST be
empty even if the service uses a deprecated value. Service Owners MUST
NOT submit this field; submitted values MUST be ignored.</t>
          <t><tt>notifications</tt> is OPTIONAL for <tt>experimental</tt> and <tt>beta</tt> lifecycle stages
and RECOMMENDED for <tt>stable</tt>. If <tt>notifications.supported</tt> is <tt>true</tt>,
<tt>notifications.channels</tt> MUST contain at least one entry.</t>
          <t><tt>entry_point</tt> is the base HTTPS URL of the service, used by consuming agents
to construct API calls. The following normative requirements apply:</t>
          <ul spacing="normal">
            <li>
              <t><tt>entry_point</tt> MUST use the <tt>https</tt> scheme. HTTP entry points MUST be
rejected at registration.</t>
            </li>
            <li>
              <t><tt>entry_point</tt> MUST remain stable for the lifetime of the service
registration. A change to <tt>entry_point</tt> MUST be submitted as a BSM
update and MUST trigger immediate Spider re-verification.</t>
            </li>
            <li>
              <t>The Spider MUST NOT hit <tt>entry_point</tt> directly for liveness checks.
Instead, the Spider checks <tt>entry_point + /health</tt> (see Section 10.2).</t>
            </li>
            <li>
              <t>HTTP redirects from <tt>entry_point</tt> are permitted for consuming agents
but MUST NOT be present at <tt>entry_point/health</tt> (the health endpoint
MUST respond directly without redirect).</t>
            </li>
          </ul>
          <t><tt>entry_point/health</tt> is the mandatory liveness endpoint. Every registered
service MUST expose a health endpoint at the path <tt>/health</tt> relative to
<tt>entry_point</tt>. This endpoint:</t>
          <ul spacing="normal">
            <li>
              <t>MUST return HTTP 2xx when the service is operational.</t>
            </li>
            <li>
              <t>MUST return without requiring authentication.</t>
            </li>
            <li>
              <t>MUST respond within a reasonable timeout (RECOMMENDED: 5 seconds).</t>
            </li>
            <li>
              <t>SHOULD return a JSON body of the form <tt>{"status": "ok", "api_version":
"&lt;semver&gt;"}</tt>. If <tt>api_version</tt> is present, the Spider SHOULD cross-check
it against the BSM <tt>api_version</tt> field; a mismatch MUST be recorded as
a warning in the Service Record.</t>
            </li>
            <li>
              <t>MUST NOT be used by consuming agents for API calls — it is a
Spider-facing infrastructure endpoint only.</t>
            </li>
          </ul>
          <t><tt>spec.url</tt> is the URL to the machine-readable API specification document
(OpenAPI JSON/YAML, MCP manifest, AsyncAPI document, or GraphQL SDL).</t>
          <ul spacing="normal">
            <li>
              <t><tt>spec.url</tt> MUST use the <tt>https</tt> scheme.</t>
            </li>
            <li>
              <t><tt>spec.url</tt> MUST be publicly accessible without authentication. A spec
behind authentication cannot be fetched by the Spider and permanently
prevents the service from reaching S-2.</t>
            </li>
            <li>
              <t>On the initial Spider run following registration, the Spider fetches
the spec document and stores it as the <strong>registered spec snapshot</strong>.
All subsequent Spider runs compare the live document at <tt>spec.url</tt>
against this snapshot to detect breaking changes (S-3 assessment).
The snapshot is updated when the Service Owner submits a BSM update
that increments <tt>api_version</tt>.</t>
            </li>
            <li>
              <t>A BSM update that changes <tt>spec.url</tt> MUST trigger immediate Spider
re-verification and snapshot replacement (see Section 10.1).</t>
            </li>
          </ul>
          <t>The <tt>service_id</tt> MUST be stable across re-registrations and version updates.
It is the canonical identity of the service in the BSI and MUST be a UUID v4
or a BSI-issued deterministic identifier.</t>
        </section>
        <section anchor="protocol-type-registry-v10-starter-set">
          <name>Protocol Type Registry (v1.0 starter set)</name>
          <t>The <tt>spec.type</tt> field MUST contain a value from the Protocol Type Registry
at <tt>api-index.org/registry/protocols</tt>. The registry is the authoritative
and always-current list of valid values. The entries below are the v1.0
starter set; the governing body extends the registry as additional protocol
types reach sufficient adoption. Registry entries follow the lifecycle
defined in Section 4.3.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Registry value</th>
                <th align="left">Standard</th>
                <th align="left">Spider behaviour</th>
                <th align="left">Status</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>openapi</tt></td>
                <td align="left">OpenAPI 3.x</td>
                <td align="left">Parses paths, schemas, auth requirements</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>mcp</tt></td>
                <td align="left">Model Context Protocol</td>
                <td align="left">Parses tool definitions and capability list</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>asyncapi</tt></td>
                <td align="left">AsyncAPI 2.x / 3.x</td>
                <td align="left">Parses channels, message schemas</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>graphql</tt></td>
                <td align="left">GraphQL SDL</td>
                <td align="left">Introspects schema via introspection query</td>
                <td align="left">active</td>
              </tr>
            </tbody>
          </table>
          <t>Services whose specification type is not yet in the registry SHOULD request
addition via the governing body's registry extension process before
registering. Until the type is added, such services cannot achieve S-2 or
above, as the Spider has no parser for unregistered types.</t>
        </section>
        <section anchor="capability-taxonomy-registry-v10-starter-set">
          <name>Capability Taxonomy Registry (v1.0 starter set)</name>
          <t>The <tt>capabilities</tt> field MUST contain terms from the Capability Taxonomy
Registry at <tt>api-index.org/registry/capabilities</tt>. The registry is the
authoritative and always-current list of valid terms. Terms are
hierarchical, dot-separated (e.g., <tt>commerce.marketplace</tt>), and follow
the lifecycle defined in Section 4.3.</t>
          <t>The governing body extends the taxonomy based on observed service
registrations and regional input (including the Africa Regional Development
Track). Requests for new taxonomy terms are submitted via the governing
body's registry extension process.</t>
          <t>The following are the v1.0 starter set. The live registry is the
authoritative source; this list is illustrative only.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Term</th>
                <th align="left">Description</th>
                <th align="left">Status</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>commerce</tt></td>
                <td align="left">E-commerce and marketplace services</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>commerce.marketplace</tt></td>
                <td align="left">Multi-vendor marketplace</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>commerce.retail</tt></td>
                <td align="left">Single-vendor retail</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>payments</tt></td>
                <td align="left">Payment processing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>payments.card</tt></td>
                <td align="left">Card payment processing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>payments.crypto</tt></td>
                <td align="left">Cryptocurrency payments</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>data.financial</tt></td>
                <td align="left">Financial data and market information</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>data.legal</tt></td>
                <td align="left">Legal documents and information</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>nlp</tt></td>
                <td align="left">Natural language processing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>nlp.translation</tt></td>
                <td align="left">Language translation</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>identity</tt></td>
                <td align="left">Authentication and identity verification</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>communication</tt></td>
                <td align="left">Messaging, email, and notification delivery</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>storage</tt></td>
                <td align="left">File and object storage</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>compute</tt></td>
                <td align="left">Code execution and computation</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>media</tt></td>
                <td align="left">Image, audio, video generation or processing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>iot</tt></td>
                <td align="left">Sensor and device data</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>search</tt></td>
                <td align="left">Information retrieval</td>
                <td align="left">active</td>
              </tr>
            </tbody>
          </table>
          <t>A Service MUST declare at least one capability term. Declared capabilities
are validated by the Spider against the parsed specification where the spec
type supports it. Services using deprecated taxonomy terms receive a
<tt>standard_warnings</tt> entry in their Service Record.</t>
        </section>
      </section>
      <section anchor="trust-model">
        <name>Trust Model</name>
        <t>The BSI Trust Model has three independent dimensions. Each dimension produces
a machine-readable value in the Service Record. Consuming agents combine
these values according to their own Trust Policy.</t>
        <t>The BSI provides trust metadata. It does not make trust decisions.</t>
        <section anchor="dimension-1-organisation-trust-level">
          <name>Dimension 1 — Organisation Trust Level</name>
          <t>Describes the verified identity and compliance posture of the organisation
that owns the service.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Level</th>
                <th align="left">Label</th>
                <th align="left">Requirements</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">O-0</td>
                <td align="left">Unverified</td>
                <td align="left">Self-registered. No checks performed.</td>
              </tr>
              <tr>
                <td align="left">O-1</td>
                <td align="left">Identity Verified</td>
                <td align="left">Valid business email confirmed. Domain ownership verified via DNS TXT record.</td>
              </tr>
              <tr>
                <td align="left">O-2</td>
                <td align="left">Legal Entity Verified</td>
                <td align="left">Company registration number confirmed against official registry of declared jurisdiction.</td>
              </tr>
              <tr>
                <td align="left">O-3</td>
                <td align="left">Legally Compliant</td>
                <td align="left">Terms of Service, Privacy Policy, and Data Processing Agreement reviewed and confirmed present and accessible. GDPR applicability assessed. Verified by Accredited Verifier.</td>
              </tr>
              <tr>
                <td align="left">O-4</td>
                <td align="left">Audited</td>
                <td align="left">Third-party compliance audit completed (SOC 2 Type II, ISO 27001, or equivalent). Audit certificate on file with Bot Standards Foundation. Verified by Accredited Verifier.</td>
              </tr>
            </tbody>
          </table>
          <t>Organisation levels are assessed against the organisation as a whole, not
per service. An organisation that achieves O-3 applies that level to all
its registered services.</t>
        </section>
        <section anchor="dimension-2-service-verification-level">
          <name>Dimension 2 — Service Verification Level</name>
          <t>Describes what has been automatically verified about the service itself
by the BSI Spider.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Level</th>
                <th align="left">Label</th>
                <th align="left">How achieved</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">S-0</td>
                <td align="left">Unchecked</td>
                <td align="left">Registered. Spider has not yet run.</td>
              </tr>
              <tr>
                <td align="left">S-1</td>
                <td align="left">Reachable</td>
                <td align="left">Spider confirmed <tt>entry_point/health</tt> returns HTTP 2xx without authentication.</td>
              </tr>
              <tr>
                <td align="left">S-2</td>
                <td align="left">Spec Verified</td>
                <td align="left">Specification document at <tt>spec.url</tt> is publicly fetchable, parseable according to the declared <tt>spec.type</tt>, and structurally consistent with the BSM registration snapshot taken at initial registration.</td>
              </tr>
              <tr>
                <td align="left">S-3</td>
                <td align="left">Schema Stable</td>
                <td align="left">No breaking changes detected between the registered spec snapshot and the live spec document across at least three consecutive Spider runs.</td>
              </tr>
              <tr>
                <td align="left">S-4</td>
                <td align="left">Security Reviewed</td>
                <td align="left">Automated vulnerability scan completed with no critical findings, OR third-party penetration test certificate provided and validated by Accredited Verifier.</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="dimension-3-liveness">
          <name>Dimension 3 — Liveness</name>
          <t>Describes the confirmed operational availability of the service, including
how recent and how frequent the availability data is. Liveness data is
expressed as a set of metrics, not a single level.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Metric</th>
                <th align="left">Type</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>last_ping_at</tt></td>
                <td align="left">ISO 8601 timestamp</td>
                <td align="left">Time of the most recent successful Spider ping</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>ping_interval_seconds</tt></td>
                <td align="left">integer</td>
                <td align="left">Configured interval between Spider pings</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>uptime_30d_percent</tt></td>
                <td align="left">float</td>
                <td align="left">Percentage of pings successful over the last 30 days</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>avg_response_ms</tt></td>
                <td align="left">float</td>
                <td align="left">Mean response time in milliseconds over the last 30 days</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>consecutive_failures</tt></td>
                <td align="left">integer</td>
                <td align="left">Number of consecutive failed pings at last check</td>
              </tr>
            </tbody>
          </table>
          <t>The ping interval is determined by the service's liveness monitoring
configuration (see Section 8.2). A service configured at initial-only
frequency receives no recurring pings; its <tt>last_ping_at</tt> reflects
only the initial Spider verification run.</t>
        </section>
        <section anchor="bot-side-trust-policy-expression">
          <name>Bot-Side Trust Policy Expression</name>
          <t>A consuming agent expresses its Trust Policy as a set of minimum thresholds
across all three dimensions. Example policy expressed in pseudo-notation:</t>
          <artwork><![CDATA[
require:
  organisation_level >= O-2
  service_level >= S-2
  last_ping_age < 3600         # seconds since last_ping_at
  uptime_30d_percent >= 99.0
  consecutive_failures == 0
]]></artwork>
          <t>The Index API SHOULD support filtering by trust dimension thresholds so
that agents can retrieve only records that satisfy their policy without
downloading the full index.</t>
          <t>Trust Policies are defined and enforced by consuming agents. The BSI does
not validate or enforce Trust Policies.</t>
        </section>
        <section anchor="accredited-verifier-model">
          <name>Accredited Verifier Model</name>
          <t>Organisation levels O-3 and O-4 require human review that cannot be
automated at scale. The BSI uses a federated Accredited Verifier model,
analogous to the Certificate Authority model in TLS:</t>
          <ul spacing="normal">
            <li>
              <t>The Bot Standards Foundation defines the verification criteria for each level.</t>
            </li>
            <li>
              <t>Organisations apply to the Bot Standards Foundation for Verifier accreditation.</t>
            </li>
            <li>
              <t>Accredited Verifiers perform O-3 and O-4 assessments and sign
verification attestations.</t>
            </li>
            <li>
              <t>The Bot Standards Foundation maintains a public registry of Accredited Verifiers.</t>
            </li>
            <li>
              <t>A Service Record at O-3 or O-4 MUST include the identifier of the
Accredited Verifier that performed the assessment and the date of
assessment.</t>
            </li>
            <li>
              <t>Accreditation of Verifiers is reviewed annually by the Bot Standards Foundation.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="registration-and-onboarding">
        <name>Registration and Onboarding</name>
        <section anchor="push-registration-human-initiated">
          <name>Push Registration (Human-Initiated)</name>
          <t>Service registration is a human-initiated B2B process. Autonomous
self-registration without human involvement is explicitly not supported,
as the commercial contract and legal accountability require a human
counterparty.</t>
          <t>Registration MUST be scoped at the <strong>organisation level</strong>. An organisation
registers once and undergoes identity verification once; multiple services
may then be registered under that organisational identity. This requirement
ensures:</t>
          <ul spacing="normal">
            <li>
              <t>Identity verification and sanctions screening are performed once per
legal entity, not repeated per service.</t>
            </li>
            <li>
              <t>Organisation trust (O-level) established at registration propagates
to all services registered under that organisation without re-verification
of the organisation's identity.</t>
            </li>
          </ul>
          <t><strong>Definition:</strong> one service equals one Bot Service Manifest (BSM) document
with one distinct <tt>entry_point</tt>. Logical bundling of API paths under a
single entry point is the registrant's responsibility and is permitted.</t>
          <t>The registration process:</t>
          <ol spacing="normal" type="1"><li>
              <t>The Service Owner (or their Accredited Regional Representative) creates
an <strong>Organisation Account</strong> in the BSI Registration Portal. The index
operator MUST screen the Service Owner against applicable sanctions
lists before account activation. Entities subject to applicable
sanctions MUST be refused registration (see Section 7.3).</t>
            </li>
            <li>
              <t>The Service Owner provides organisation details sufficient for the target
Organisation trust level. This step is performed once per organisation.</t>
            </li>
            <li>
              <t>The Service Owner submits a Bot Service Manifest for each service to be
registered, including the spec URL and entry point. Each service is
associated with a liveness monitoring configuration that determines
Spider check frequency (see Section 8.2).</t>
            </li>
            <li>
              <t>For O-1: email and domain ownership verification is completed
automatically.</t>
            </li>
            <li>
              <t>For O-2: the index operator or Regional Representative verifies the
declared company registration number.</t>
            </li>
            <li>
              <t>For O-3 and O-4: the Service Owner engages an Accredited Verifier.</t>
            </li>
            <li>
              <t>Upon completion of applicable checks, the service is activated in the
index and the Spider is triggered.</t>
            </li>
          </ol>
        </section>
        <section anchor="spider-verification-automated">
          <name>Spider Verification (Automated)</name>
          <t>The BSI Spider is triggered automatically at two points:</t>
          <ul spacing="normal">
            <li>
              <t><strong>At registration</strong>: once a service is activated, the Spider performs
an initial verification run to establish the baseline Service
Verification Level.</t>
            </li>
            <li>
              <t><strong>On schedule</strong>: thereafter, the Spider rechecks the service at the
interval defined by the service's commercial tier (see Section 8).</t>
            </li>
          </ul>
          <t>During a Spider run, the Spider:</t>
          <ol spacing="normal" type="1"><li>
              <t>Performs an HTTPS request to <tt>{entry_point}/health</tt> and records the
response code, response time, and timestamp (Liveness: S-1).</t>
            </li>
            <li>
              <t>Fetches the spec document from <tt>spec.url</tt> (HTTPS, no authentication).</t>
            </li>
            <li>
              <t>Parses the fetched document and compares it structurally against the
registered spec snapshot (S-2 if fetchable and consistent; S-3 assessed
if no breaking changes detected across three or more consecutive runs).</t>
            </li>
            <li>
              <t>Updates all Liveness metrics in the Service Record.</t>
            </li>
            <li>
              <t>Records any failures and increments <tt>consecutive_failures</tt>.</t>
            </li>
          </ol>
          <t>The Spider MUST NOT call any API endpoint beyond <tt>{entry_point}/health</tt>
and <tt>spec.url</tt>. The Spider MUST NOT submit data to, create resources in,
or otherwise interact with the production API of a registered service.</t>
          <t>The Spider MUST respect HTTP rate limits declared by the service. Spider
requests MUST include a <tt>User-Agent</tt> header identifying the BSI Spider
and version.</t>
        </section>
        <section anchor="commercial-contract-and-sanctions-compliance">
          <name>Commercial Contract and Sanctions Compliance</name>
          <t>Every registered service MUST be covered by a commercial agreement between
the Service Owner and the index operator (or its Accredited Regional
Representative). The agreement MUST define:</t>
          <ul spacing="normal">
            <li>
              <t>The liveness monitoring configuration and its obligations.</t>
            </li>
            <li>
              <t>The index operator's obligations regarding Spider frequency and
Index API availability.</t>
            </li>
            <li>
              <t>Acceptable use terms.</t>
            </li>
            <li>
              <t>Data processing terms in accordance with applicable law.</t>
            </li>
          </ul>
          <t><strong>Sanctions compliance:</strong> the index operator MUST screen all service
registrants against applicable sanctions lists prior to account
activation. At minimum, screening MUST cover the UN Security Council
consolidated sanctions list. Operators subject to additional
jurisdictional sanctions regimes (e.g., EU, US OFAC, Swiss SECO)
MUST additionally screen against those lists as applicable to their
jurisdiction of incorporation. Entities subject to applicable
sanctions MUST be refused registration regardless of commercial tier.</t>
          <t>Registrants MUST represent and warrant in the commercial agreement
that they are not subject to applicable sanctions, and MUST notify
the index operator immediately of any change in that status.</t>
          <t>Unauthenticated discovery queries to the Index API are not subject
to registration screening and MUST remain available without
restriction, consistent with the BSI's mission as open global
infrastructure (see Section 8.3).</t>
        </section>
      </section>
      <section anchor="operational-model">
        <name>Operational Model</name>
        <section anchor="supply-side-funding-principle">
          <name>Supply-Side Funding Principle</name>
          <t>A conforming BSI implementation MUST be funded primarily by service
registration fees paid by Service Owners (supply side). Discovery
queries by consuming agents MUST NOT be the primary revenue mechanism.
This principle is normative: an implementation that charges consuming
agents for standard discovery queries is not conformant with the BSI
model, as doing so contradicts the open infrastructure mission and
undermines the network effect that makes the supply side valuable.</t>
          <t>The BSI model is structurally analogous to the DNS model: registrants
pay to be listed; queries are free.</t>
        </section>
        <section anchor="liveness-monitoring-configuration">
          <name>Liveness Monitoring Configuration</name>
          <t>Each registered service MUST have a liveness monitoring configuration
that determines Spider check frequency. This configuration:</t>
          <ul spacing="normal">
            <li>
              <t>Is set per service, not per organisation account. An organisation
MAY configure different check frequencies for different services
registered under the same account.</t>
            </li>
            <li>
              <t>MUST be agreed in the commercial contract between the Service Owner
and the index operator.</t>
            </li>
            <li>
              <t>Determines the maximum age of <tt>last_ping_at</tt> data available to
consuming agents for that service.</t>
            </li>
          </ul>
          <t>Implementations MUST support at minimum the following frequency
classes, identified by their normative <tt>spider_interval</tt> value in
the Service Record:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Frequency class</th>
                <th align="left">Maximum spider_interval</th>
                <th align="left">Normative label</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Initial only</td>
                <td align="left">N/A (one run at activation)</td>
                <td align="left">
                  <tt>"initial"</tt></td>
              </tr>
              <tr>
                <td align="left">Daily</td>
                <td align="left">86,400 seconds</td>
                <td align="left">
                  <tt>"daily"</tt></td>
              </tr>
              <tr>
                <td align="left">Hourly</td>
                <td align="left">3,600 seconds</td>
                <td align="left">
                  <tt>"hourly"</tt></td>
              </tr>
              <tr>
                <td align="left">High-frequency</td>
                <td align="left">300 seconds</td>
                <td align="left">
                  <tt>"high"</tt></td>
              </tr>
            </tbody>
          </table>
          <t>Implementations MAY define additional frequency classes. The
<tt>spider_interval</tt> field in the Service Record MUST reflect the
actual configured interval in seconds.</t>
          <t><strong>Effect on trust signal quality:</strong> A consuming agent applying a
<tt>last_ping_age &lt; N</tt> filter will structurally exclude services whose
check frequency cannot produce sufficiently fresh liveness data.
Liveness monitoring configuration is therefore a market signal:
services requiring discovery by latency-sensitive agents must invest
in check frequency sufficient to satisfy those agents' trust policies.</t>
          <t>Services configured at initial-only frequency MUST be excluded from
standard discovery query results by default. Consuming agents MUST
explicitly opt in to include initial-only services in result sets.</t>
        </section>
        <section anchor="consumer-access-model">
          <name>Consumer Access Model</name>
          <t>Discovery queries to the Index API MUST be available without
authentication or payment. Rate limits MAY be applied to protect
infrastructure integrity but MUST NOT be set at levels that prevent
reasonable agent operation. Implementations MUST support at minimum
three consumer access layers:</t>
          <t><strong>Layer 1 — Unauthenticated access</strong></t>
          <t>Any agent MUST be able to query the Index API without authentication
or registration, subject to a per-IP rate limit. This layer is
sufficient for individual agents and proof-of-concept deployments.</t>
          <t><strong>Layer 2 — Authenticated access (free)</strong></t>
          <t>Any agent MAY register a consumer identity token at no cost. Token
registration requires a valid email address. Authenticated access
MUST provide a higher rate limit than unauthenticated access and
MAY additionally provide result caching hints and webhook
subscriptions for service record changes.</t>
          <t>Consumer tokens SHOULD be compatible with the webbotauth identity
model (draft-meunier-webbotauth-registry) to enable interoperability
with bot authentication infrastructure.</t>
          <t><strong>Layer 3 — High-volume access (paid, optional)</strong></t>
          <t>Implementations MAY offer a paid high-volume access tier for
platforms operating agents at scale that require guaranteed query
capacity and operational SLAs. This tier is supplementary; the
index's operational sustainability MUST NOT depend on it.</t>
          <t><strong>Public bulk download (REQUIRED)</strong></t>
          <t>Implementations MUST provide the full index as a freely downloadable
bulk dataset at intervals not exceeding 24 hours, without
authentication, under an open data licence. This requirement
implements the openness requirement of Section 4.2: no entity,
including the index operator, may hold an exclusive lock on the
index data.</t>
        </section>
      </section>
      <section anchor="index-api-specification">
        <name>Index API Specification</name>
        <section anchor="hateoas-navigation-model">
          <name>HATEOAS Navigation Model</name>
          <t>The Index API MUST follow Hypermedia as the Engine of Application State
(HATEOAS) principles. A consuming agent MUST be able to discover and
navigate the entire index starting from a single, stable entry-point URL,
without out-of-band knowledge of endpoint paths.</t>
          <t>Every response MUST include a <tt>_links</tt> object containing hypermedia
controls for navigation. Link relations MUST use IANA-registered relation
types where applicable, and BSI-specific relations where not.</t>
        </section>
        <section anchor="discovery-endpoint">
          <name>Discovery Endpoint</name>
          <t>The BSI exposes a single globally stable entry-point URL:</t>
          <artwork><![CDATA[
https://api-index.org/
]]></artwork>
          <t>A GET request to this URL returns the Index root resource, which includes:</t>
          <sourcecode type="json"><![CDATA[
{
  "bsi_version": "1.0",
  "total_services": 12483,
  "last_updated": "2026-04-24T00:00:00Z",
  "_links": {
    "self": {
      "href": "https://api-index.org/"
    },
    "search": {
      "href": "https://api-index.org/search{?q,capability,protocol,org_level_min,service_level_min,spec_consistency,max_ping_age,uptime_30d_min,lifecycle_stage,include_superseded,page,page_size}",
      "templated": true
    },
    "browse": {
      "href": "https://api-index.org/browse"
    },
    "capabilities": {
      "href": "https://api-index.org/capabilities"
    },
    "docs": {
      "href": "https://api-index.org/docs"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="search-and-filter-api">
          <name>Search and Filter API</name>
          <t>The search endpoint applies server-side filters to reduce result sets before
transmission. Only filters on indexed scalar values are server-side;
filters requiring deep metadata evaluation are applied client-side after
fetching the Level 2 Service Record (Section 9.5).</t>
          <t><strong>Example — buying bot querying for marketplace services:</strong></t>
          <artwork><![CDATA[
GET /search?capability=commerce.marketplace
            &protocol=mcp,openapi
            &org_level_min=O-2
            &service_level_min=S-2
            &max_ping_age=3600
            &uptime_30d_min=95.0
            &lifecycle_stage=stable
            &page=1
            &page_size=20
]]></artwork>
          <t><strong>Normative server-side filter parameters:</strong></t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter</th>
                <th align="left">Type</th>
                <th align="left">Default</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>q</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Free-text search across <tt>name</tt> and <tt>description</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>capability</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Capability taxonomy term (exact or prefix match). MUST be an <tt>active</tt> or <tt>deprecated</tt> registry value</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>protocol</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Comma-separated protocol type values. MUST be values from the Protocol Type Registry</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>org_level_min</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>O-0</tt></td>
                <td align="left">Minimum Organisation trust level. Excludes services below threshold</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>service_level_min</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>S-0</tt></td>
                <td align="left">Minimum Service verification level</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>max_ping_age</tt></td>
                <td align="left">integer</td>
                <td align="left">—</td>
                <td align="left">Maximum seconds since <tt>last_ping_at</tt>. Excludes services with older liveness data</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>uptime_30d_min</tt></td>
                <td align="left">float</td>
                <td align="left">—</td>
                <td align="left">Minimum 30-day uptime percentage</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>lifecycle_stage</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>stable</tt></td>
                <td align="left">Filter by lifecycle stage. Default excludes <tt>experimental</tt>, <tt>beta</tt>, <tt>deprecated</tt>, and <tt>sunset</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>include_superseded</tt></td>
                <td align="left">boolean</td>
                <td align="left">
                  <tt>false</tt></td>
                <td align="left">When <tt>false</tt>, excludes services for which <tt>superseded_by</tt> is set. When <tt>true</tt>, all matching versions are returned</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>spec_consistency</tt></td>
                <td align="left">enum</td>
                <td align="left">—</td>
                <td align="left">Filter by spec consistency status. Values: <tt>consistent</tt>, <tt>mismatch</tt>, <tt>unreachable</tt>. <tt>null</tt> (Spider not yet run) is excluded when any value is specified. When absent, no constraint is applied. Agents performing consequential tasks SHOULD explicitly pass <tt>consistent</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>page</tt></td>
                <td align="left">integer</td>
                <td align="left">
                  <tt>1</tt></td>
                <td align="left">Result page number</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>page_size</tt></td>
                <td align="left">integer</td>
                <td align="left">
                  <tt>20</tt></td>
                <td align="left">Results per page. Maximum: 100</td>
              </tr>
            </tbody>
          </table>
          <t>All filter parameters are OPTIONAL. When absent, the parameter imposes no
constraint except <tt>lifecycle_stage</tt> (default <tt>stable</tt>) and
<tt>include_superseded</tt> (default <tt>false</tt>).</t>
          <t>Results are returned as paginated Level 1 Search Result records (Section 9.4)
with HATEOAS links to Level 2 Service Records. Pagination is REQUIRED.</t>
        </section>
        <section anchor="search-result-schema-level-1">
          <name>Search Result Schema (Level 1)</name>
          <t>Search results return lightweight summary records. These contain only the
fields needed to evaluate candidates and decide which detail pages to fetch.
Complex metadata (auth requirements, version history, notifications, legal,
<tt>standard_warnings</tt>) is available only at Level 2 and is evaluated
client-side after fetching the detail resource.</t>
          <sourcecode type="json"><![CDATA[
{
  "service_id": "svc-payment-stripe-v2",
  "name": "Stripe Payment API",
  "description": "Card and subscription payment processing",
  "api_version": "2.4.1",
  "lifecycle_stage": "stable",
  "capabilities": ["payments.card", "payments.subscription"],
  "protocol": "openapi",
  "trust": {
    "organisation_level": "O-3",
    "service_level": "S-2",
    "spec_consistency": "consistent",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "2026-04-20T14:55:00Z",
    "liveness": {
      "last_ping_at": "2026-04-20T13:55:00Z",
      "ping_interval_seconds": 3600,
      "uptime_30d_percent": 99.87,
      "consecutive_failures": 0
    }
  },
  "_links": {
    "self":          { "href": "https://api-index.org/services/svc-payment-stripe-v2" },
    "latest_stable": { "href": "https://api-index.org/services/svc-payment-stripe-v2" }
  }
}
]]></sourcecode>
          <t>The <tt>latest_stable</tt> link points to the leaf version of the service's version
chain. When <tt>latest_stable</tt> differs from <tt>self</tt>, a newer stable version
exists and the agent SHOULD follow the link before proceeding.</t>
        </section>
        <section anchor="service-record-schema-level-2">
          <name>Service Record Schema (Level 2)</name>
          <t>The full Service Record is returned when a consuming agent fetches the
detail resource via the <tt>self</tt> link. It is the BSM plus Spider-enriched
trust metadata, versioning links, and any <tt>standard_warnings</tt>.</t>
          <sourcecode type="json"><![CDATA[
{
  "service_id": "svc-payment-stripe-v2",
  "bsm_version": "1.0",
  "name": "Stripe Payment API",
  "description": "Card and subscription payment processing",
  "api_version": "2.4.1",
  "lifecycle_stage": "stable",
  "supersedes": "svc-payment-stripe-v1",
  "superseded_by": null,
  "owner": { "...": "..." },
  "spec": {
    "type": "openapi",
    "url": "https://stripe.com/openapi.json",
    "version": "2.4.1"
  },
  "capabilities": ["payments.card", "payments.subscription"],
  "entry_point": "https://api.stripe.com/v2",
  "trust": {
    "organisation_level": "O-3",
    "organisation_verified_at": "2026-03-01T00:00:00Z",
    "organisation_verifier_id": "verifier-ch-001",
    "service_level": "S-2",
    "service_level_updated_at": "2026-04-19T08:00:00Z",
    "spec_consistency": "consistent",
    "spec_consistency_checked_at": "2026-04-20T13:55:00Z",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "2026-04-20T14:55:00Z",
    "liveness": {
      "last_ping_at": "2026-04-20T13:55:00Z",
      "ping_interval_seconds": 3600,
      "uptime_30d_percent": 99.87,
      "avg_response_ms": 142.3,
      "consecutive_failures": 0
    }
  },
  "notifications": { "...": "..." },
  "legal": { "...": "..." },
  "standard_warnings": [],
  "registered_at": "2026-01-15T00:00:00Z",
  "last_updated_at": "2026-04-20T13:00:00Z",
  "_links": {
    "self": { "href": "https://api-index.org/services/svc-payment-stripe-v2" },
    "owner": { "href": "https://api-index.org/organisations/org-stripe" },
    "spec": { "href": "https://stripe.com/openapi.json" },
    "previous_version": { "href": "https://api-index.org/services/svc-payment-stripe-v1" },
    "latest_stable": { "href": "https://api-index.org/services/svc-payment-stripe-v2" }
  }
}
]]></sourcecode>
        </section>
        <section anchor="trust-metadata-schema">
          <name>Trust Metadata Schema</name>
          <t>Trust metadata is always included in full Service Records (Level 2) and
MUST NOT be omitted or summarised. Consuming agents rely on the full set
of trust fields to evaluate their Trust Policy. Partial trust metadata
MUST be represented with explicit <tt>null</tt> values, not omitted fields.</t>
          <t>Trust metadata is included in summary form (Level 1) for server-side
filter compatibility. The Level 1 trust object omits verification
timestamps and verifier IDs; these are available only at Level 2.</t>
        </section>
        <section anchor="transport-encoding">
          <name>Transport Encoding</name>
          <t>The Index API is consumed by autonomous agents at machine speed. Response
payloads are structured JSON with highly repetitive field names across
result arrays. Transport-layer compression achieves 70–85% size reduction
on typical search result payloads with no information loss and no
application-layer schema changes.</t>
          <t><strong>Compression support requirements:</strong></t>
          <t>The Index API MUST support the following <tt>Accept-Encoding</tt> values:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Encoding</th>
                <th align="left">Requirement</th>
                <th align="left">Notes</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>gzip</tt></td>
                <td align="left">MUST</td>
                <td align="left">Universally supported baseline</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>br</tt> (Brotli)</td>
                <td align="left">SHOULD</td>
                <td align="left">Higher ratio than gzip; suitable for large result sets</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>zstd</tt></td>
                <td align="left">SHOULD</td>
                <td align="left">Comparable ratio to Brotli; significantly faster decompression</td>
              </tr>
            </tbody>
          </table>
          <t>The Index API MUST perform content negotiation via the <tt>Accept-Encoding</tt>
request header. Responses MUST include a <tt>Content-Encoding</tt> header
identifying the applied encoding. If a client sends no <tt>Accept-Encoding</tt>
header, the server MAY respond uncompressed.</t>
          <t>Consuming agents SHOULD include <tt>Accept-Encoding: zstd, br, gzip</tt> in
all Index API requests.</t>
          <t><strong>Binary encoding (optional):</strong></t>
          <t>The Index API MAY additionally support CBOR (RFC 8949) as a binary
alternative to JSON. A client that prefers CBOR MUST signal this via
<tt>Accept: application/cbor</tt>. The server MAY respond with
<tt>Content-Type: application/cbor</tt>. CBOR responses carry identical
information to JSON responses; the encoding difference is transparent
to the data model.</t>
          <t>Clients MUST NOT assume CBOR support. JSON over compressed transport
is the normative interchange format.</t>
        </section>
      </section>
      <section anchor="spider-and-crawler-specification">
        <name>Spider and Crawler Specification</name>
        <section anchor="crawl-triggers">
          <name>Crawl Triggers</name>
          <t>The Spider is triggered by the following events:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Trigger</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Registration activation</td>
                <td align="left">Immediate first run when a service is activated</td>
              </tr>
              <tr>
                <td align="left">Scheduled interval</td>
                <td align="left">Recurring, per service liveness monitoring configuration (Section 8.2)</td>
              </tr>
              <tr>
                <td align="left">Manual re-trigger</td>
                <td align="left">Service Owner may request a manual re-trigger once per 24 hours</td>
              </tr>
              <tr>
                <td align="left">Spec URL change</td>
                <td align="left">A BSM update that changes the <tt>spec.url</tt> triggers an immediate run</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="automated-verification-scope">
          <name>Automated Verification Scope</name>
          <t>The Spider performs the following checks in sequence. Each check's result
is stored independently; a failure at one level does not prevent checks
at other levels from being recorded.</t>
          <t>The Spider MUST use HTTPS for all outbound requests. The Spider MUST NOT
send authentication credentials to any registered service. Spider requests
to <tt>entry_point/health</tt> or <tt>spec.url</tt> MUST NOT include Authorization headers,
API keys, cookies, or client certificates.</t>
          <t>If a request returns an HTTP redirect (3xx), the Spider MUST follow the
redirect only if the redirect target also uses HTTPS. The Spider MUST NOT
follow redirects from HTTPS to HTTP.</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>Liveness check</strong>: HTTPS GET to <tt>{entry_point}/health</tt>. Record HTTP
status code, response time, and timestamp. A 2xx response without
authentication constitutes a successful liveness check (S-1). If the
response body is valid JSON containing an <tt>api_version</tt> field, the Spider
MUST cross-check this value against the <tt>api_version</tt> declared in the BSM.
A mismatch is recorded as a metadata warning, not a liveness failure.</t>
            </li>
            <li>
              <t><strong>Spec fetch</strong>: HTTPS GET to <tt>spec.url</tt>. The Spider MUST NOT send
authentication credentials. A successful fetch (2xx response, non-empty
body) is the prerequisite for steps 3 and 4. Record content type and
document size.</t>
            </li>
            <li>
              <t><strong>Spec parse and consistency check</strong>: Parse the fetched document
according to the declared <tt>spec.type</tt>. Compare it structurally against
the registered spec snapshot stored at initial registration time.
The Spider MUST set <tt>spec_consistency</tt> to one of three values after
every run:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>consistent</tt> — document is fetchable, parseable, and structurally
matches the registered snapshot. Constitutes S-2 verification.</t>
                </li>
                <li>
                  <t><tt>mismatch</tt> — document is fetchable and parseable, but structurally
differs from the snapshot (paths removed, required fields changed,
response schemas changed). S-2 is revoked; <tt>standard_warnings</tt> is
updated. This indicates operator-caused contract breakage.</t>
                </li>
                <li>
                  <t><tt>unreachable</tt> — <tt>spec.url</tt> returned a non-2xx response, was not
reachable, or the document could not be parsed. S-2 is not achieved
or is suspended. This indicates an availability problem, not a
contract violation.
<tt>spec_consistency</tt> MUST be <tt>null</tt> only before the Spider's first run
on a newly registered service. Once any run completes, the field MUST
carry one of the three values above.
The Spider MUST NOT call any API endpoint declared in the spec. Spec
verification is document comparison only.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Breaking change detection</strong>: Compare the current parsed spec against
the registered spec snapshot. Flag removed paths, changed required
fields, or changed response schemas as breaking changes. Three or more
consecutive runs with no breaking changes detected are required for
S-3 verification.</t>
            </li>
            <li>
              <t><strong>Liveness metrics update</strong>: Update <tt>last_ping_at</tt>, <tt>uptime_30d_percent</tt>,
<tt>avg_response_ms</tt>, <tt>consecutive_failures</tt>, and <tt>next_spider_run_at</tt>.</t>
            </li>
          </ol>
        </section>
        <section anchor="failure-handling">
          <name>Failure Handling</name>
          <t><strong>Liveness failures (<tt>entry_point/health</tt> unreachable):</strong></t>
          <ul spacing="normal">
            <li>
              <t>A single failed ping increments <tt>consecutive_failures</tt> and updates
<tt>last_ping_at</tt> with the failure timestamp.</t>
            </li>
            <li>
              <t>After 3 consecutive failures, the Service Record is flagged as
<tt>status: degraded</tt> in the index.</t>
            </li>
            <li>
              <t>After 10 consecutive failures, the Service Record is flagged as
<tt>status: unreachable</tt> and is excluded from standard search results.</t>
            </li>
            <li>
              <t><tt>contacts.operations</tt> is notified at the 3-failure threshold (incident
warning). Both <tt>contacts.operations</tt> and <tt>contacts.escalation</tt> are
notified at the 10-failure threshold (service unreachable escalation).</t>
            </li>
            <li>
              <t>A service that recovers (next ping succeeds) has its status restored
and <tt>consecutive_failures</tt> reset to 0 automatically.</t>
            </li>
          </ul>
          <t><strong>Spec fetch failures (<tt>spec_consistency: unreachable</tt>):</strong></t>
          <t>Spec fetch failures have distinct probable causes depending on how long
the failure persists. The Spider MUST apply a three-cluster retry model
that targets the likely cause window at each stage. Cluster escalation
is triggered by <tt>spec_fetch_consecutive_failures</tt> crossing a threshold.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Cluster</th>
                <th align="left">Assumed cause</th>
                <th align="left">Failure count</th>
                <th align="left">Retry interval</th>
                <th align="left">Notification</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">1 — Infrastructure / network</td>
                <td align="left">Transient: brief network loss, host restart, CDN hiccup</td>
                <td align="left">1–3</td>
                <td align="left">5 min -&gt; 15 min -&gt; 30 min</td>
                <td align="left">None — transient, operator not yet disturbed</td>
              </tr>
              <tr>
                <td align="left">2 — Application</td>
                <td align="left">Software instability: crash loop, OOM, application startup failure</td>
                <td align="left">4–6</td>
                <td align="left">2 h -&gt; 4 h -&gt; 8 h</td>
                <td align="left">Email to <tt>contacts.operations</tt> on Cluster 2 entry (failure 4): incident warning</td>
              </tr>
              <tr>
                <td align="left">3 — Configuration</td>
                <td align="left">Persistent misconfiguration: wrong <tt>spec.url</tt>, auth gate added, URL moved</td>
                <td align="left">7+</td>
                <td align="left">24 h -&gt; 72 h (cap)</td>
                <td align="left">Email to <tt>contacts.operations</tt> AND <tt>contacts.escalation</tt> on Cluster 3 entry (failure 7): explicit action request — verify and update <tt>spec.url</tt></td>
              </tr>
            </tbody>
          </table>
          <ul spacing="normal">
            <li>
              <t><tt>spec_consistency</tt> is set to <tt>unreachable</tt> on the first failure and
remains <tt>unreachable</tt> until a successful fetch.</t>
            </li>
            <li>
              <t><tt>next_spider_run_at</tt> is set to the next retry timestamp after each
failed run so Service Owners can observe when the retry will occur.</t>
            </li>
            <li>
              <t>A successful spec fetch resets <tt>spec_fetch_consecutive_failures</tt> to 0
and sets <tt>spec_consistency</tt> to <tt>consistent</tt> or <tt>mismatch</tt> as
appropriate.</t>
            </li>
            <li>
              <t><tt>spec_fetch_consecutive_failures</tt> MUST be visible in the Service Record
so Service Owners can monitor retry cluster state without contacting
the Index operator.</t>
            </li>
          </ul>
          <t><strong>Manual re-trigger:</strong></t>
          <t>The Index operator SHOULD provide a mechanism for Service Owners to
request an immediate Spider re-run outside of the scheduled interval.
This is the primary recovery mechanism when a service has been repaired
and the operator does not want to wait for the next scheduled retry.</t>
          <t>When a manual re-trigger is requested:
- <tt>next_spider_run_at</tt> MUST be set to the current timestamp.
- <tt>spec_fetch_consecutive_failures</tt> MUST be reset to 0, returning the
  service to Cluster 1 retry behaviour for the next run.
- The Spider MUST execute the run as soon as scheduling permits.</t>
          <t>The Index MAY rate-limit manual re-triggers to at most once per hour
per service to prevent abuse.</t>
        </section>
      </section>
      <section anchor="security-considerations">
        <name>Security Considerations</name>
        <section anchor="abuse-and-fake-listings">
          <name>Abuse and Fake Listings</name>
          <t>The mandatory B2B onboarding with contract requirement provides a first
barrier against malicious actors listing fake or harmful services. Service
Owners must provide verifiable identity information. However, O-0 and O-1
registration provides minimal verification.</t>
          <t>Consuming agents SHOULD apply Trust Policies that exclude O-0 services for
any task involving sensitive data or consequential actions.</t>
          <t>The Bot Standards Foundation MUST maintain an abuse reporting mechanism and MUST be
able to suspend or remove a Service Record within 24 hours of confirmed
abuse. Suspended service records MUST remain in the index with a
<tt>status: suspended</tt> flag and MUST NOT be silently deleted, to provide
transparency to agents that had cached the record.</t>
        </section>
        <section anchor="trust-level-spoofing">
          <name>Trust Level Spoofing</name>
          <t>Organisation and Service trust levels in the Service Record are set only
by the BSI itself, not by the Service Owner. BSM submissions that include
<tt>trust</tt> field values MUST have those values overwritten by the BSI upon
processing. The Index API MUST NOT expose self-asserted trust values.</t>
        </section>
        <section anchor="transport-security-requirements">
          <name>Transport Security Requirements</name>
          <t>All URLs submitted as <tt>entry_point</tt> or <tt>spec.url</tt> values in a BSM MUST use
the <tt>https</tt> scheme. The Index MUST reject BSM submissions that provide HTTP
(non-TLS) values for these fields.</t>
          <t>The <tt>{entry_point}/health</tt> endpoint MUST NOT require authentication of any
kind. Requiring authentication at <tt>/health</tt> defeats liveness verification and
MUST be treated as a registration defect. The Index MUST record a metadata
warning if the <tt>/health</tt> endpoint returns a 401 or 407 status.</t>
          <t>The <tt>spec.url</tt> endpoint MUST be publicly accessible without authentication.
A <tt>spec.url</tt> that requires authentication cannot be verified by the Spider and
MUST be treated as an S-2 failure until authentication is removed.</t>
          <t>The Spider MUST enforce HTTPS for all outbound requests and MUST NOT follow
redirects from HTTPS to HTTP.</t>
        </section>
        <section anchor="spider-targeted-attacks">
          <name>Spider-Targeted Attacks</name>
          <t>A service that knows when the Spider will visit could serve compliant
responses only to Spider requests, presenting a different interface to
consuming agents. Mitigations:</t>
          <ul spacing="normal">
            <li>
              <t>Spider visit timing MUST be randomised within the liveness monitoring
interval window.</t>
            </li>
            <li>
              <t>Spider <tt>User-Agent</tt> headers MUST be versioned but MUST NOT include
the specific visit schedule.</t>
            </li>
            <li>
              <t>The BSI operator SHOULD perform periodic unannounced spot-checks
from non-Spider infrastructure.</t>
            </li>
          </ul>
        </section>
        <section anchor="bot-consumer-risks">
          <name>Bot Consumer Risks</name>
          <t>The BSI provides discovery and trust metadata. It does not guarantee the
safety, correctness, or availability of listed services. Consuming agents
MUST NOT assume that a service listed in the BSI is safe to use without
applying their own Trust Policy.</t>
          <t>Consuming agents SHOULD treat Index API responses as untrusted input and
validate the structure of Service Records before acting on them.</t>
          <t>The Index API MUST be served exclusively over TLS. Certificate validity
MUST be verified by consuming agents. Agents MUST NOT bypass TLS
certificate verification when querying the Index API.</t>
        </section>
      </section>
      <section anchor="open-questions">
        <name>Open Questions</name>
        <t>The following questions are unresolved and explicitly invited for community
input:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Capability Taxonomy governance</strong>: Who contributes new taxonomy terms?
What is the process for deprecating terms? Should the taxonomy be versioned
independently of the BSM specification?</t>
          </li>
          <li>
            <t><strong>BSM spec type extensions</strong>: What is the formal process for registering
new <tt>spec.type</tt> values? Should this be an IANA registry?</t>
          </li>
          <li>
            <t><strong>Trust Policy standardisation</strong>: Should the BSI define a standard Trust
Policy expression language, or leave this entirely to consuming agents?
A standard language would enable Index API server-side filtering but risks
constraining agent-side policy flexibility.</t>
          </li>
          <li>
            <t><strong>Verifier accreditation criteria</strong>: What are the full requirements for
an organisation to become an Accredited Verifier? What ongoing obligations
apply? What is the revocation process?</t>
          </li>
          <li>
            <t><strong>Regional Representative model</strong>: How are jurisdictional boundaries
defined for Regional Representatives? What happens in jurisdictions with
no appointed Representative?</t>
          </li>
          <li>
            <t><strong>Free tier abuse</strong>: Is the current Free tier visibility restriction
sufficient to prevent abuse? Should Free tier require payment information
on file even if no charge is made?</t>
          </li>
          <li>
            <t><strong>Bot identity</strong>: This document explicitly excludes bot identity from
scope. Should a future version of the BSI include optional bot consumer
registration to enable personalised discovery, rate limit management, or
abuse tracking?</t>
          </li>
          <li>
            <t><strong>Centralised index vs. decentralised discovery</strong>: The BSI architecture
takes a deliberate position: a single authoritative global index, governed
by a neutral non-profit, with a commercial sustainability model. An
alternative approach — represented by proposals such as
draft-vandemeent-ains-discovery (AINS — AInternet Name Service), which
uses signed, append-only replication logs with no central authority — takes
the opposite position: cryptographic verifiability and censorship resistance
over governed accountability.  </t>
            <t>
The two approaches represent a genuine design tension. Arguments for the
BSI model:  </t>
            <ul spacing="normal">
              <li>
                <t><strong>Business adoption</strong>: Enterprise service providers, regulated industries,
and government bodies require a contractual counterparty, an accountable
governance structure, and an enforceable compliance audit trail. A
leaderless federated registry cannot provide these. The stakeholders with
the largest service catalogues and the greatest need for agent-consumable
APIs operate in environments where "no central authority" is not a feature
— it is a disqualification.</t>
              </li>
              <li>
                <t><strong>Institutional co-sponsorship as an adoption flywheel</strong>: The BSI's
regional co-sponsorship model is designed to recruit institutional
champions — such as regional telecommunications bodies and internet
governance organisations — who have reputational and financial incentives
to promote BSI registration in their region. A decentralised system
cannot offer institutional co-sponsorship because there is no accountable
entity to co-sponsor. The announcement credibility that comes from an
institution saying "we endorse this infrastructure" is only available to
a governed model.</t>
              </li>
              <li>
                <t><strong>Regional financial backflow as a registration incentive</strong>: Ten percent
of registration fees collected from a region are reinvested into that
region's bot ecosystem via the Regional Development Pool. This creates a
direct financial incentive for regional institutions to actively promote
service registration — more local registrations means more capital
returning to local infrastructure. A decentralised model with no
registration fees cannot replicate this structural alignment. The result
is that BSI's commercial model is not merely a sustainability mechanism;
it is an adoption flywheel whose velocity compounds with regional
institutional support.</t>
              </li>
              <li>
                <t><strong>Single entry point</strong>: A consuming agent needs zero prior knowledge of
any registry to begin discovery. Federated models require the agent to
either know a registry endpoint or solve the bootstrapping problem of
finding one. The simpler the agent-side integration, the faster adoption.</t>
              </li>
            </ul>
            <t>
Arguments for the decentralised model:  </t>
            <ul spacing="normal">
              <li>
                <t><strong>Censorship resistance</strong>: The BSI can delist a service. A signed
append-only log cannot. For agents and service owners in jurisdictions
with adversarial regulatory environments, a governed central index is a
liability.</t>
              </li>
              <li>
                <t><strong>No single point of failure or control</strong>: The BSF, however well governed,
is an organisational risk. A decentralised model survives the failure or
capture of any single operator.</t>
              </li>
              <li>
                <t><strong>Cryptographic verifiability</strong>: Trust in a governed index ultimately
depends on trusting the governor. Signed logs allow any party to verify
the full history of a service record independently.</t>
              </li>
            </ul>
            <t>
Community input is explicitly invited on whether the BSI and AINS-style
approaches are mutually exclusive or whether a future BSI version could
expose a verifiable, signed export of index records that enables
third-party verification without requiring a federated registry.</t>
          </li>
        </ol>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="OPENAPI" target="https://spec.openapis.org/oas/v3.1.0">
          <front>
            <title>OpenAPI Specification 3.1.0</title>
            <author>
              <organization>OpenAPI Initiative</organization>
            </author>
            <date year="2021" month="February" day="15"/>
          </front>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io">
          <front>
            <title>Model Context Protocol</title>
            <author>
              <organization>Anthropic</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="ASYNCAPI" target="https://www.asyncapi.com/docs/reference/specification/v3.0.0">
          <front>
            <title>AsyncAPI Specification 3.0.0</title>
            <author>
              <organization>AsyncAPI Initiative</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="UDDI" target="https://www.oasis-open.org/committees/uddi-spec/doc/spec/v3/uddi-v3.0.2-20041019.htm">
          <front>
            <title>UDDI Version 3.0.2</title>
            <author initials="L." surname="Clement">
              <organization/>
            </author>
            <author initials="A." surname="Hately">
              <organization/>
            </author>
            <author initials="C." surname="von Riegen">
              <organization/>
            </author>
            <author initials="T." surname="Rogers">
              <organization/>
            </author>
            <date year="2004" month="October" day="19"/>
          </front>
          <seriesInfo name="OASIS Committee Draft" value="uddi-v3.0.2-20041019"/>
        </reference>
        <reference anchor="ROBOTS" target="https://www.robotstxt.org/">
          <front>
            <title>The Web Robots Pages</title>
            <author initials="M." surname="Koster">
              <organization/>
            </author>
            <date year="1994"/>
          </front>
        </reference>
        <reference anchor="I-D.pioli-agent-discovery">
          <front>
            <title>Agent Registration and Discovery Protocol (ARDP)</title>
            <author fullname="Roberto Pioli" initials="R." surname="Pioli">
              <organization>Independent</organization>
            </author>
            <date day="24" month="February" year="2026"/>
            <abstract>
              <t>   This document specifies the Agent Registration and Discovery Protocol
   (ARDP), a lightweight protocol for registering, discovering, and
   reaching autonomous software agents in distributed and federated
   environments.  ARDP provides stable agent identities, dynamic
   endpoint resolution, capability advertisement (including protocol
   selection among MCP, A2A, HTTP, and gRPC), minimal presence
   signaling, and a security-first discovery control plane.  ARDP is
   transport-agnostic and complementary to existing agent interaction
   protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-pioli-agent-discovery-01"/>
        </reference>
        <reference anchor="I-D.narajala-courtney-ansv2">
          <front>
            <title>Agent Name Service v2 (ANS): A Domain-Anchored Trust Layer for Autonomous AI Agent Identity</title>
            <author fullname="Scott Courtney" initials="S." surname="Courtney">
              <organization>GoDaddy</organization>
            </author>
            <author fullname="Vineeth Sai Narajala" initials="V. S." surname="Narajala">
              <organization>OWASP</organization>
            </author>
            <author fullname="Ken Huang" initials="K." surname="Huang">
              <organization>DistributedApps.ai</organization>
            </author>
            <author fullname="Idan Habler" initials="I." surname="Habler">
              <organization>OWASP</organization>
            </author>
            <author fullname="Akram Sheriff" initials="A." surname="Sheriff">
              <organization>Cisco Systems</organization>
            </author>
            <date day="13" month="April" year="2026"/>
            <abstract>
              <t>   Autonomous AI agents execute transactions across organizational
   boundaries.  No single agent platform provides the trust
   infrastructure they need.  This document defines the Agent Name
   Service (ANS) v2 protocol, which anchors every agent identity to a
   DNS domain name.  A Registration Authority (RA) verifies domain
   ownership via ACME, issues dual certificates (a Server Certificate
   from a public CA and an Identity Certificate from a private CA
   binding a version-specific ANSName), and seals every lifecycle event
   into an append-only Transparency Log aligned with IETF SCITT.  Three
   verification tiers -- Bronze (PKI), Silver (PKI + DANE), and Gold
   (PKI + DANE + Transparency Log) -- let clients choose assurance
   levels appropriate to transaction risk.  The architecture decouples
   identity from discovery: the RA publishes sealed events; independent
   Discovery Services build competitive indexes.  A three-layer trust
   framework separates foundational identity (Layer 1, this protocol),
   operational maturity (Layer 2, third-party attestors), and behavioral
   reputation (Layer 3, real-time scoring).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-narajala-courtney-ansv2-01"/>
        </reference>
        <reference anchor="I-D.vandemeent-ains-discovery">
          <front>
            <title>AINS: AInternet Name Service - Agent Discovery and Trust Resolution Protocol</title>
            <author fullname="Jasper van de Meent" initials="J." surname="van de Meent">
              <organization>Humotica</organization>
            </author>
            <author fullname="Root AI" initials="R." surname="AI">
              <organization>Humotica</organization>
            </author>
            <date day="29" month="March" year="2026"/>
            <abstract>
              <t>   This document specifies AINS (AInternet Name Service), a protocol for
   discovery, identification, and trust resolution of autonomous agents
   (AI agents, devices, humans, and services) in heterogeneous networks.
   AINS defines a transport-independent logical namespace for agents, a
   structured record format combining identity, capabilities, and
   cryptographic trust metadata, and a resolution protocol based on
   HTTPS.  Unlike the Domain Name System (DNS), which maps names to
   network addresses, AINS maps agent identifiers to rich metadata
   objects that include capabilities, trust scores, endpoint
   information, and references to companion provenance protocols.  AINS
   federates through signed append-only replication logs, enabling
   multi-registry deployments without central authority while preserving
   auditability.  This specification is designed to complement TIBET
   [TIBET], JIS [JIS], UPIP [UPIP], and RVP [RVP].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-vandemeent-ains-discovery-01"/>
        </reference>
        <reference anchor="I-D.aiendpoint-ai-discovery" target="https://datatracker.ietf.org/doc/draft-aiendpoint-ai-discovery/">
          <front>
            <title>The AI Discovery Endpoint: A Structured Mechanism for AI Agent Service Discovery and Capability Exposure</title>
            <author initials="Y." surname="Choi" fullname="Yeongjae Choi">
              <organization>AIEndpoint</organization>
            </author>
            <date year="2026" month="March"/>
          </front>
        </reference>
        <reference anchor="I-D.meunier-webbotauth-registry">
          <front>
            <title>Registry and Signature Agent card for Web bot auth</title>
            <author fullname="Maxime Guerreiro" initials="M." surname="Guerreiro">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Ulas Kirazci" initials="U." surname="Kirazci">
              <organization>Amazon</organization>
            </author>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document describes a JSON based format for clients using
   [DIRECTORY] to advertise information about themselves.

   This document describes a JSON-based "Signature Agent Card" format
   for signature agent using [DIRECTORY] to advertise metadata about
   themselve.  This includes identity, purpose, rate expectations, and
   cryptographic keys.  It also establishes an IANA registry for
   Signature Agent Card parameters, enabling extensible and
   interoperable discovery of agent information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-meunier-webbotauth-registry-01"/>
        </reference>
        <reference anchor="I-D.cui-ai-agent-discovery-invocation">
          <front>
            <title>AI Agent Discovery and Invocation Protocol</title>
            <author fullname="Yong Cui" initials="Y." surname="Cui">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Yihan Chao" initials="Y." surname="Chao">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Chenguang Du" initials="C." surname="Du">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="12" month="February" year="2026"/>
            <abstract>
              <t>   This document proposes a standardized protocol for discovery and
   invocation of AI agents.  It defines a common metadata format for
   describing AI agents (including capabilities, I/O specifications,
   supported languages, tags, authentication methods, etc.), a
   capability-based discovery mechanism, and a unified RESTful
   invocation interface.

   This revision additionally specifies an optional extension that
   enables intent-based agent selection prior to discovery and
   invocation, without changing existing discovery or invocation
   semantics.

   The goal is to enable cross-platform interoperability among AI agents
   by providing a discover-and-match mechanism and a unified invocation
   entry point.  Security considerations, including authentication and
   trust measures, are also discussed.  This specification aims to
   facilitate the formation of multi-agent systems by making it easy to
   find the right agent for a task and invoke it in a consistent manner
   across different vendors and platforms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cui-ai-agent-discovery-invocation-01"/>
        </reference>
        <reference anchor="I-D.am-layered-ai-discovery-architecture">
          <front>
            <title>A Layered Approach to AI discovery</title>
            <author fullname="Hesham Moussa" initials="H." surname="Moussa">
              <organization>Huawei Canada</organization>
            </author>
            <author fullname="Arashmid Akhavain" initials="A." surname="Akhavain">
              <organization>Huawei Canada</organization>
            </author>
            <date day="14" month="March" year="2026"/>
            <abstract>
              <t>   This document proposes a layered approach to standardization of AI
   discovery in AI ecosystems within the IETF.  It recommends separating
   the standardization of general discovery vehicles from the AI objects
   to be discovered.  AI objects include agents, models, data, tasks,
   among others.  While the topic of discovery in the realm of AI has
   focused on discovering agents, the concept can be extended by the
   layered architecture proposed here, allowing for a clarified design
   scope, reduced charter ambiguity, and alignment with IETF layering
   principles.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-am-layered-ai-discovery-architecture-00"/>
        </reference>
        <reference anchor="I-D.hood-agtp-discovery">
          <front>
            <title>AGTP Agent Discovery and Name Service</title>
            <author fullname="Chris Hood" initials="C." surname="Hood">
              <organization>Nomotic, Inc.</organization>
            </author>
            <date day="23" month="March" year="2026"/>
            <abstract>
              <t>   The Agent Transfer Protocol (AGTP) enables agents to communicate once
   they know each other's canonical identifiers.  It does not define how
   agents find each other.  This document specifies the AGTP Agent
   Discovery and Name Service (ANS): a protocol for dynamic agent
   discovery using the AGTP DISCOVER method and a governed Agent Name
   Service that returns ranked sets of Agent Manifest Documents matching
   a discovery query.  ANS servers act as Scope-Enforcement Points for
   discovery queries and enforce behavioral trust score thresholds,
   trust tier requirements, and governance zone constraints.  This
   document also defines the DISCOVER method, the Discovery Query
   language, and the Agent Name Service registration and lookup
   protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-discovery-00"/>
        </reference>
        <reference anchor="I-D.mozleywilliams-dnsop-dnsaid">
          <front>
            <title>DNS for AI Discovery</title>
            <author fullname="Jim Mozley" initials="J." surname="Mozley">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="Nic Williams" initials="N." surname="Williams">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="Behcet Sarikaya" initials="B." surname="Sarikaya">
              <organization>Unaffiliated</organization>
            </author>
            <author fullname="Roland Schott" initials="R." surname="Schott">
              <organization>Deutsche Telekom</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   This document specifies a method for utilizing the Domain Name System
   (DNS) to facilitate scalable and interoperable discovery between AI
   agents.  The proposed mechanism, referred to as "DNS AI agent
   Discovery (DNS-AID)", defines a structured DNS namespace and record
   usage model to support metadata exchange and capability
   advertisement.

   This will allow organisations to publish information about their AI
   agents on the Internet or internal networks using a well-known label
   within the organisation's own DNS namespace.  This document does not
   define how the published agent information is accessed or the exact
   structure of that information.  Instead, it specifies a mechanism for
   indicating which access protocol should be used and what format the
   agent information will be provided in.

   This document proposes no change to the structure of DNS messages,
   and no new operation codes, response codes, resource record types, or
   any other new DNS protocol values.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mozleywilliams-dnsop-dnsaid-01"/>
        </reference>
        <reference anchor="I-D.batum-aidre">
          <front>
            <title>AI Discovery and Retrieval Endpoint (AIDRE)</title>
            <author fullname="Fatih Batum" initials="F." surname="Batum">
         </author>
            <date day="5" month="April" year="2026"/>
            <abstract>
              <t>   This document specifies the AI Discovery and Retrieval Endpoint
   (AIDRE), a protocol for publishing machine-oriented, canonical, and
   semantically retrievable content on the web. AIDRE defines a
   discovery document, collection metadata, retrieval interfaces,
   optional vector-native query support, and content representation
   rules for AI systems.

   AIDRE aims to reduce redundant crawling, parsing, tokenization, and
   embedding of the same origin content while improving freshness,
   provenance, and interoperability for AI systems.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-batum-aidre-00"/>
        </reference>
        <reference anchor="I-D.mozley-aidiscovery">
          <front>
            <title>AI Agent Discovery (AID) Problem Statement</title>
            <author fullname="Jim Mozley" initials="J." surname="Mozley">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="Nic Williams" initials="N." surname="Williams">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="Behcet Sarikaya" initials="B." surname="Sarikaya">
              <organization>Unaffiliated</organization>
            </author>
            <author fullname="Roland Schott" initials="R." surname="Schott">
              <organization>Deutsche Telekom</organization>
            </author>
            <date day="16" month="April" year="2026"/>
            <abstract>
              <t>   With the proliferation of AI agents comes a need for mechanisms to
   support agent-to-agent discovery.  This document discusses the scope,
   requirements and considerations to support discovery processes so
   that these are not reliant on manually defined configurations and
   relationships.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mozley-aidiscovery-01"/>
        </reference>
        <reference anchor="W3C-AGENTPROTOCOL" target="https://www.w3.org/community/agentprotocol/">
          <front>
            <title>W3C AI Agent Protocol Community Group</title>
            <author initials="G." surname="Chang">
              <organization/>
            </author>
            <author initials="S." surname="Xu">
              <organization/>
            </author>
            <date year="2025" month="May" day="08"/>
          </front>
        </reference>
        <reference anchor="WEBBOTAUTH-WG" target="https://datatracker.ietf.org/wg/webbotauth/">
          <front>
            <title>webbotauth IETF Working Group</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 1805?>

<section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
      <section anchor="references">
        <name>References</name>
        <section anchor="normative-references">
          <name>Normative References</name>
          <ul spacing="normal">
            <li>
              <t><strong>RFC 2119</strong> — Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.</t>
            </li>
            <li>
              <t><strong>RFC 8615</strong> — Nottingham, M., "Well-Known Uniform Resource Identifiers
(URIs)", RFC 8615, May 2019.</t>
            </li>
            <li>
              <t><strong>RFC 8446</strong> — Rescorla, E., "The Transport Layer Security (TLS)
Protocol Version 1.3", RFC 8446, August 2018.</t>
            </li>
            <li>
              <t><strong>RFC 9110</strong> — Fielding, R., Nottingham, M., Reschke, J. (Eds.),
"HTTP Semantics", RFC 9110, June 2022.</t>
            </li>
          </ul>
        </section>
        <section anchor="informative-references">
          <name>Informative References</name>
          <ul spacing="normal">
            <li>
              <t><strong>OpenAPI Specification 3.1</strong> — OpenAPI Initiative,
https://spec.openapis.org/oas/v3.1.0</t>
            </li>
            <li>
              <t><strong>Model Context Protocol</strong> — Anthropic, https://modelcontextprotocol.io</t>
            </li>
            <li>
              <t><strong>AsyncAPI Specification 3.0</strong> — AsyncAPI Initiative,
https://www.asyncapi.com/docs/reference/specification/v3.0.0</t>
            </li>
            <li>
              <t><strong>RFC 8949</strong> — Bormann, C., Hoffman, P., "Concise Binary Object
Representation (CBOR)", RFC 8949, December 2020.</t>
            </li>
            <li>
              <t><strong>Robots Exclusion Protocol</strong> — Koster, M., 1994.
https://www.robotstxt.org/</t>
            </li>
            <li>
              <t><strong>draft-cui-ai-agent-discovery-invocation-01</strong> — Cui, Y. (Tsinghua
University), Chao, Y., Du, C. (Zhongguancun Laboratory), "AI Agent
Discovery and Invocation Protocol", IETF Individual Submission,
February 2026. Expires August 2026.
https://datatracker.ietf.org/doc/draft-cui-ai-agent-discovery-invocation/</t>
            </li>
            <li>
              <t><strong>draft-am-layered-ai-discovery-architecture-00</strong> — Moussa, H.,
Akhavain, A. (Huawei Canada), "A Layered Approach to AI discovery",
IETF Individual Submission, March 2026. Expires September 2026.
https://datatracker.ietf.org/doc/draft-am-layered-ai-discovery-architecture/</t>
            </li>
            <li>
              <t><strong>draft-hood-agtp-discovery-00</strong> — Hood, C. (Nomotic, Inc.), "AGTP
Agent Discovery and Name Service", IETF Individual Submission, March
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>Expires September 2026.
https://datatracker.ietf.org/doc/draft-hood-agtp-discovery/</t>
                </li>
              </ol>
            </li>
            <li>
              <t><strong>draft-mozleywilliams-dnsop-dnsaid-01</strong> — Mozley, J., Williams, N.
(Infoblox), Sarikaya, B. (Unaffiliated), Schott, R. (Deutsche Telekom),
"DNS for AI Discovery", IETF Individual Submission, March 2026.
Expires September 2026.
https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/</t>
            </li>
            <li>
              <t><strong>draft-batum-aidre-00</strong> — Batum, F. (Istanbul), "AI Discovery and
Retrieval Endpoint (AIDRE)", IETF Individual Submission, April 2026.
Expires October 2026.
https://datatracker.ietf.org/doc/draft-batum-aidre/</t>
            </li>
            <li>
              <t><strong>draft-mozley-aidiscovery-01</strong> — Mozley, J., Williams, N. (Infoblox),
Sarikaya, B. (Unaffiliated), Schott, R. (Deutsche Telekom), "AI Agent
Discovery (AID) Problem Statement", IETF Individual Submission, April
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>Expires October 2026.
https://datatracker.ietf.org/doc/draft-mozley-aidiscovery/</t>
                </li>
              </ol>
            </li>
            <li>
              <t><strong>draft-pioli-agent-discovery-01</strong> — Pioli, R. (Independent),
"Agent Registration and Discovery Protocol (ARDP)",
IETF Individual Submission, February 2026. Expires August 2026.
https://datatracker.ietf.org/doc/draft-pioli-agent-discovery/</t>
            </li>
            <li>
              <t><strong>draft-narajala-courtney-ansv2-01</strong> — Courtney, S., Narajala, V.S.,
Huang, K., Habler, I., Sheriff, A., "Agent Name Service v2 (ANS):
A Domain-Anchored Trust Layer for Autonomous AI Agent Identity",
IETF Individual Submission, April 2026. Expires October 2026.
Supersedes draft-narajala-ans-00.
https://datatracker.ietf.org/doc/draft-narajala-courtney-ansv2/</t>
            </li>
            <li>
              <t><strong>draft-vandemeent-ains-discovery-01</strong> — van de Meent, J., Root AI
(Humotica), "AINS: AInternet Name Service - Agent Discovery and Trust
Resolution Protocol", IETF Individual Submission, March 2026.
Expires September 2026.
https://datatracker.ietf.org/doc/draft-vandemeent-ains-discovery/</t>
            </li>
            <li>
              <t><strong>draft-aiendpoint-ai-discovery-00</strong> — Choi, Y. (AIEndpoint),
"The AI Discovery Endpoint: A Structured Mechanism for AI Agent Service
Discovery and Capability Exposure", IETF Individual Submission,
March 2026. Expires September 2026.
https://datatracker.ietf.org/doc/draft-aiendpoint-ai-discovery/</t>
            </li>
            <li>
              <t><strong>draft-meunier-webbotauth-registry-01</strong> — Guerreiro, M. (Cloudflare),
Kirazci, U. (Amazon), Meunier, T. (Cloudflare), "Registry and Signature
Agent card for Web bot auth", IETF Individual Submission, October 2025.
Expired April 2026; renewal expected.
https://datatracker.ietf.org/doc/draft-meunier-webbotauth-registry/</t>
            </li>
            <li>
              <t><strong>webbotauth IETF Working Group</strong> — Chairs: Schinazi, D.,
Shekh-Yusef, R. AD: Bishop, M. Active WG.
https://datatracker.ietf.org/wg/webbotauth/</t>
            </li>
            <li>
              <t><strong>W3C AI Agent Protocol Community Group</strong> — Chairs: Chang, G., Xu, S.
Established May 8, 2025. 216 participants as of April 2026.
https://www.w3.org/community/agentprotocol/</t>
            </li>
            <li>
              <t><strong>UDDI Version 3.0.2</strong> — Clement, L., Hately, A., von Riegen, C.,
Rogers, T. OASIS Committee Draft, October 19, 2004.
(Historical reference; see Section 1.3 for analysis of failure modes.)
https://www.oasis-open.org/committees/uddi-spec/doc/spec/v3/uddi-v3.0.2-20041019.htm</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="authors-address">
        <name>Author's Address</name>
        <artwork><![CDATA[
Carsten Rehfeld
Email: carsten@botstandards.org
]]></artwork>
        <t><em>This Internet-Draft expires 2026-10-23.</em></t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+S963Ib2ZUu+F8RfIcdcswUKQMQSanKJarddViUVMVj3VqU
XO3u8BETQIJIC8iEMxOkUJY7+h3OPGE/yaxvXfYlkaBUbfdMT4yiuyyRmTv3
Xnvdr8PhcO9OW7SL/MTd/b5q3UVeXxeT3J2X0/yj2//+4vzgxJ26HxbVOFu4
J0Uzqa7zekO/n9VZ09brSbuuczerane6bquyWlbrxp1e5aVfq7m7dycbj+v8
uu8b9MtJ1uZXVb05cUU5q/buTKtJmS1pR9M6m7XDOp/P8sV0OK7aYSOvDgu8
Ojz8eu9Osx4vi6YpqrLdrHIsMc1XOf2nbGklWvnEHR8efzM8fDg8frh3h/bw
YO8ObWjdzqv6ZO+Oc0N6pzlxZyP3Rr6EHzonWzjL6qbNy/RX+TIrFiduIr/7
H7Sxps3KaVZPm1FVX2H9sqqXWVtc5/yJN8/Ojo+OHtnfv3348Bv/92+Ovra/
Pzo6OjzB24BD5/1vHz2U91+9fvry9PX5iWxF7+4VHZl+6C5W+aSYFQRRAoh7
MDoaHcpz0Xnxh3YZXjovi7bgj8mvPdSOhofHw6Ov9UtZfZW3J27etqvm5P79
hj41qmiJbFXwse9XWXP/2n/zxdnrdI8vqmm+cGd0UfnH1r2uq7aaVIvd2zst
23ldrYpJ//eXWG4iq610sVFR4eHTiz+8PNuC0WmzKSd9QDq8DUj+rS6Uuvu5
ubkZZXiY4DGaVMv7hMbN/Tqf5XVeTnKGl/8q4KSffffkSWejd/Ej9/u8bmx/
x3d7N6iY+3zkzhb5kjE++cXpyP1Id7nYdH5OqH5NK78pcqLTzu/eEhlUV/Tt
FBeIfI4Oh0eP5KdEhkXeAEv9Xu6+Or04v6DrXS6Lts1z9wTEe5dOs55OiyGf
93iIhY4Ojx7d3Q1DwqKiGQKxGKkmtmBznxcCGAFahieB8X7f8qN5u2S6efX9
q7cXHei+nefup3xMxwThutfZFbOoHvgyQF6M3O8qovM6BsjRo0cPdx+h5pXb
jy2fAM+dD5+MVkW1KIYZWONwaoz0xH5bZnX2p2yRDSfVum7LfDPMyub62P/+
mhgM3TFezmhfPStkBbG9VVXwE53fp6c/PY84+VN9CWz+whj61L3IJ/OsLJql
8PbzlKdH79O+iEuusnGxKFpa7uOqamiFWzH2D4Sx86qwnxqz/UNelVd/yvLO
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
d/4B6IUXYyxtAQA=

-->

</rfc>
