<?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-04" 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-04"/>
    <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
Ojx8uHenWY+XRdMUVdluVjmWmOarnP5TtrQSrXzijg+Pv6Fnh8f0OO3hwd4d
2tC6nVf1yd4d54b0TnPizkbujXwJP3ROtnCW1U2bl+mv8mVWLE7cRH73P2hj
TZuV06yeNqOqvsL6ZVUvs7a4zvkTb56dHR8dPbK/f/vw4Tf+798cfW1/f3R0
dHiCtwGHzvvfPnoo7796/fTl6evzE9mK3t0rOjL90F2s8kkxKwiiBBD3YHQ0
OpTnovPiD+0yvHReFm3BH5Nfe6gdDQ+Ph0df65ey+ipvT9y8bVfNyf37DX1q
VNES2argY9+vsub+tf/mi7PX6R5fVNN84c7oovKPrXtdV201qRa7t3datvO6
WhWT/u8vsdxEVlvpYqOiwsOnF394ebYFo9NmU076gHR4G5D8W10odfdzc3Mz
yvAwwWM0qZb3CY2b+3U+y+u8nOQML/9VwEk/++7Jk85G7+JH7vd53dj+ju/2
blAx9/nInS3yJWN88ovTkfuR7nKx6fycUP2aVn5T5ESnnd+9JTKorujbKS4Q
+RwdDo8eyU+JDIu8AZb6vdx9dXpxfkHXu1wWbZvn7gmI9y6dZj2dFkM+7/EQ
Cx0dHj26uxuGhEVFMwRiMVJNbMHmPi8EMAK0DE8C4/2+5Ufzdsl08+r7V28v
OtB9O8/dT/mYjgnCda+zK2ZRPfBlgLwYud9VROd1DJCjR48e7j5CzSu3H1s+
AZ47Hz4ZrYpqUQwzsMbh1Bjpif22zOrsT9kiG06qdd2W+WaYlc31sf/9NTEY
umO8nNG+elbICmJ7q6rgJzq/T09/eh5x8qf6Etj8hTH0qXuRT+ZZWTRL4e3n
KU+P3qd9EZdcZeNiUbS03MdV1dAKt2LsHwhj51VhPzVm+4e8Kq/+lOWdXwod
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
/QOGEAFoK20BAA==

-->

</rfc>
