FASE 1 · DRAFT · CC-BY 4.0
AxIA Transparency Package (ATP) v1
A canonical, signed JSON envelope that binds a content hash to any number of evidence objects — provenance, watermark, disclosure, receipt, identity, capture, credential, timestamp, transparency log, forensics and risk signals. Producer- and vendor-neutral.
1. Purpose
ATP binds a content hash to any number of evidence objects about that content. It is producer- and vendor-neutral: any party can emit or consume ATP without being an AxIA customer. ATP does not replace C2PA, W3C VC or any existing provenance standard — it references them as evidence items.
Machine-readable artifacts: atp-v1.schema.json · atp-v1.openapi.yaml · evidence-providers.json
2. Object model
3. Canonicalization and signing
3.1 JCS (RFC 8785)
JCS MUST be applied before hashing or signing. manifest_signature is EXCLUDED from the canonicalization input; every other field is included.
3.2 Signing procedure
1. Serialize without manifest_signature using JCS. 2. Compute digest = sha256(canonical_bytes). 3. Sign the digest with the key identified by kid. 4. Emit manifest_signature. Ed25519 is the default; verifiers MAY reject unknown algorithms.
3.3 Verification
Re-canonicalize, recompute the digest, verify the signature against the public key resolved via /key-info or a DID resolver, validate each evidence object against its provider schema, and emit a Transparency Report.
4. Extensions and versioning
Top-level x- fields are reserved for vendor-specific data and MUST be preserved by consumers. Unknown evidence[].class values MUST be surfaced as unregistered — never silently dropped. Additive changes bump the minor version; breaking changes bump the major version with a 180-day deprecation posted in changelog.json.
5. Transport
Detached — .atp.json, media type application/atp+json. Embedded — JUMBF box (image/video), PDF metadata dictionary entry /ATP, XMP sidecar packet, or HTML <script type="application/atp+json">.
6. Runtime endpoints
The reference implementation exposes POST /atp-build (assembles and signs an ATP from registry evidence only — never synthetic) and POST /atp-verify (modular Verification Engine returning a Transparency Report), plus POST /policy-evaluate for acceptance policies over an ATP.
7. Conformance
Test vectors live under protocol/test-vectors/atp-v1/. See the Conformance Program for tiered requirements (L1 Consumer · L2 Producer · L3 Full Stack · Certified).