Make trust auditable, so it cannot change in secret
ATP is the trust-protocol face: it issues, distributes and revokes the trust assertions ATX carries, and records every one in a public Merkle log. It is how the score AIP computes becomes auditable across the ecosystem.
Before the spec: the usual way
The usual way: trust is a private database row. No one outside the authority can audit it, and it can be downgraded or deleted with no trace anyone could detect.
the usual way
Trust lives in a private row. No one outside the authority can audit it, and it can be changed, or quietly downgraded, with no trace anyone could detect.
ATP is 1.0.0-rc1. The base trust-proof fields shown are the shipped ones; some extension fields are proposed for v1.1. Revocation is append-only: a revocation is a new log entry, never a deletion, which is exactly what makes the log auditable. The Merkle root and inclusion proof here are computed with real SHA-256, so tampering is genuinely detected.
import { getInclusionProof, verifyInclusion } from "@opena2a/atp";
const { proof, root } = await getInclusionProof(logIndex);
// Reconstructs the root from the audit path and compares (RFC 6962).
if (verifyInclusion(entry, proof, root)) trustIsAuditable();