Schema
Required: botcentral ("1.1"), domain, canonical, name, summary, topics, allow_bots, allow, deny, pointers (robots, sitemap, llms on that domain), pages, updated, verification, consent.
consent.retrieve, consent.train, consent.act, consent.cite are booleans. consent.tdm is open, reserved, or licensed (W3C TDM Reservation Protocol). The catalog default is retrieve yes, train no, act no, cite required, tdm reserved. allow_bots=false forces retrieve/train/act off.
verification.method is one of dns-txt, well-known-file, pending, unverified, stale. pending and unverified cards may appear in the index; they are not claimed as proven. freshness.status is computed from the last successful proof and revalidate_hours (default 168).
pages[].url, rel, title, summary are publisher-declared. pages[].score (0–100) and pages[].rank are computed at read time: proof, consent, freshness, crawl, role, surface. CiteFleet cannot set the score. GET /v1/score?url= scores one address against the live catalog.
Optional: capabilities (read, cite, search, mcp, openapi, a2a, iso20022, checkout, booking), languages, crawl.delay_ms, contact, policy, profiles.iso20022. Message defs must be real families (pain.001, pacs.008, camt.053, head.001). Capability hrefs must stay on the domain.
1.0 publishers are accepted. Missing consent is filled with the 1.1 default. The public card is always emitted as 1.1.