ProofProtocol™
Proof Protocol / PP-SPEC-103-ACP-PROOF-EXTENSION / docs

SEP: Verifiable Product Claims for Agent Buyers

Labels: SEP, proposal Author: Craig Thomas Ellrod (@proofprotocol) Type: Major change (feed extensibility; optional extension) Status: Draft, seeking sponsor

Submission note (not part of the issue body): file this as a GitHub Issue in agentic-commerce-protocol/agentic-commerce-protocol. Keep normative text in PP-SPEC-103 and link to it. Do not paste the schema or any Proof Protocol method text into the issue or a PR. Only text actually submitted falls under the ACP CLA.

Abstract

Agents buy from product feeds. Every claim in a feed today is self-attested by the seller, so an agent has no way to tell a product that has been proven to do what its vendor says from one that only says so. This SEP proposes two things:

  1. Open Product Feeds to the Extensions Framework. Product and Variant are closed schemas (additionalProperties: false) and the Product Feeds RFC has no extension point. Checkout already has one. Feeds need the same, so optional, declared extensions can add fields to catalog items without forking the schema.
  2. Recognize proof as a third-party extension that uses it: efficacy claims attached to products, variants and line items, each pointing to an independent proof record, defined in PP-SPEC-103.

Motivation

Proposal 1: Feed extensibility (core change)

This is generic. It enables any optional catalog extension (sustainability attestations, safety certifications, compliance claims), not only the one below.

Proposal 2: The proof extension (third-party, external spec)

Full normative text: PP-SPEC-103 (link).

Rationale

Backward compatibility

Proposal 1 is additive: feeds without extension declarations validate exactly as today. Proposal 2 is optional and ignored by non-adopters.

Security considerations

Reference implementation

PP-SPEC-103 includes the JSON Schema, processing rules, error codes, conformance checklist and examples. An interim pointer using LineItem.custom_attributes works today without any ACP change.

Proposed answers

  1. Where feed extension declarations live: on FeedMetadata, using the same shape as checkout's capabilities.extensions (name, extends, schema, spec). One declaration per feed, no new concepts.
  2. Which objects accept extension fields: both Product and Variant. A field on Variant overrides the same field on Product, since the variant is what is actually sold.

Open question for the community

  1. Is a registry of recognized third-party extensions in scope for ACP governance?
View source on GitHub