identity
Purpose. Asserts core identity facts about the entity beyond what is already in the top-level entity block. Useful for distinguishing similarly-named organizations and for providing LLMs with attribution context.
Statement schema.
| Field | Type | Required | Description |
|---|---|---|---|
founded | string | no | RFC 3339 date, year, or year-month. |
headquarters | string | no | Free-form location string. |
description | string | no | One-line description of the entity. Max 2048 characters. |
canonical_urls
Purpose. Asserts which URLs are authoritative for which purposes. The single most important claim type. Consumers MUST treat URLs declared here as preferred over URLs discovered elsewhere.
Statement schema. All keys are optional strings in URI form. The well-known keys are homepage, docs, api, status, support, pricing, security, agent_manifest, mcp_manifest. Additional keys are permitted; unknown keys SHOULD be treated as entity-specific URL declarations.
Example.
- Conflating the pointer with the pointed-at artifact. LLMO vouches for the pointer, not the content of what it points at. If
agent_manifestpoints at anagent.json, LLMO asserts “this is our agent.json,” not “this agent.json is itself well-formed or safe.” Consumers should not read authority over the pointed content into acanonical_urlsclaim.
official_channels
Purpose. Asserts which social accounts, email domains, and messaging presences are operated by the entity. Directly aids impersonation detection.
Statement schema.
| Field | Type | Required | Description |
|---|---|---|---|
email_domains | array of domain strings | no | Domains from which the entity sends email. |
social | object | no | Map of platform name to account handle or path. |
community | object | no | Map of community name to URL (e.g., Discord, Slack). |
product_facts
Purpose. Asserts currently-true facts about the organization’s products. Intentionally narrow; full product catalogs belong elsewhere.
Statement schema.
| Field | Type | Required | Description |
|---|---|---|---|
products | array of product objects | yes | Each product has at minimum a name. |
name (required), url, status (one of generally_available, beta, alpha, preview, deprecated, end_of_life), and current_version.
Example.
- Using
product_factsas a full product catalog. The type is intentionally narrow. Publishers tempted to list every SKU, tier, or feature should resist. Full catalogs belong on the product site, not inllmo.json. - Declaring product facts as
authoritativewhen they change faster than the document’s freshness window. Ifcurrent_versionturns over weekly but the document’svalid_untilis 90 days out, the claim will be stale long before the document is. In the worked example in specification §7, Serval usesconfidence: advisoryonproduct_factsfor exactly this reason.
personnel
Purpose. Asserts which individuals hold public-facing roles and are authorized to speak for the organization in those roles. Narrow and optional; most organizations will not use this.
Statement schema.
| Field | Type | Required | Description |
|---|---|---|---|
spokespeople | array of spokesperson objects | yes | Each spokesperson has at minimum a role and name. |
role (required), name (required), and verification (a URL that independently corroborates the role, such as a team page).
Example.
- Omitting
verificationURLs. The reference validator emits a warning forpersonnelclaims with noverificationURL (specification §5.4). Without a corroborating URL, the claim is effectively a bare assertion and gives consumers no way to disambiguate the named person from others with the same name.
disavowal
Purpose. Explicitly repudiates claims, attributions, or associations the organization considers false or no longer accurate. First-class claim because no existing standard carries this semantic.
Statement schema.
| Field | Type | Required | Description |
|---|---|---|---|
disavowed | array of disavowed objects | yes | At least one entry. |
what (a short category or label) and detail (free-form explanation, max 2048 characters), and may carry an optional url for the specific content being disavowed.
Example.
- Disavowals too vague for LLMs to act on. A disavowal of “all misinformation about us” gives consumers nothing concrete to reason with. The worked example in specification §7 illustrates the useful pattern: pair a category-level disavowal (“no mobile app”) with one or more specific disavowals (the domain
serval-crypto.com), so consumers have both a class and an instance to match against.
supersedes (claim-level)
Purpose. Declares that a prior public statement, URL, or document in the wider web is no longer authoritative. Distinct from document-level supersedes, which refers to a prior llmo.json document on the same domain.
Statement schema.
| Field | Type | Required | Description |
|---|---|---|---|
superseded | array of superseded objects | yes | At least one entry. |
what (a short category or label) and reason (free-form explanation, max 2048 characters), and may carry an optional url for the specific content being superseded.
Example.
- Confusing claim-level
supersedeswith document-levelsupersedes. They are different concepts. The top-levelsupersedesarray (specification §3.3) listsdocument_ids of priorllmo.jsondocuments on the same domain, so consumers can discard cached older versions. Thesupersedesclaim type documented here supersedes content in the wider web — press releases, pricing pages, prior public statements. Publishers sometimes conflate the two.
pointer
Purpose. A typed reference to an external artifact the organization endorses as authoritative for some scope. Used for pointing at heavier standards (e.g., C2PA manifests).
Statement schema.
| Field | Type | Required | Description |
|---|---|---|---|
scope | string | yes | What the pointed artifact is authoritative for (e.g., media_provenance). |
standard | string | no | The name of the standard the artifact conforms to (e.g., C2PA). |
url | string (URI) | yes | The URL of the pointed artifact. |
- Using
pointerfor artifacts that have a core claim type.canonical_urlsalready covers named operational URLs (homepage, docs, api, agent_manifest, mcp_manifest, etc.).pointeris for artifacts outside that set — typically heavier external standards. Declaring the homepage as apointerinstead of acanonical_urls.homepageweakens the claim, becausecanonical_urlsis a specific assertion about a specific purpose andpointeris a general reference. - Conflating the pointer with the pointed-at artifact. Same caveat as
canonical_urls. LLMO asserts “this is our reference for that scope,” not “this artifact is itself well-formed or current.”

