OpenChainGraph Suite · wave 23 · compliance_mandate

C2PA Content Credential Verification

Validate a decoded C2PA manifest (art-123) → verify the Content Credential signature against a caller-supplied trust posture, zero network (art-124) → resolve the ingredient provenance tree and confirm it chains back (art-125). Client-side, zero-egress, agent-callable alternative to network-dependent trust-list validation.

OpenChainGraph · 3 Steps compliance mandate C2PA 2.x · EU AI Act Art.50 W3C VC §13.11 Hash-Anchored §4 chain_depth:3 · Zero PII
Chain Topology — C2PA Content Credential Verification
art-123 C2PA Manifest Validator art-124 Signature Verifier art-125 Ingredient Tree Resolver ⊣
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 3 Steps
1ROOT · D0node
Validated manifest structure feeds signature verification
MCP Call · validate_c2pa_manifest
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_c2pa_manifest",
    "arguments": {
      "claim_generator": "Adobe Firefly 3.0",
      "claim": {
        "format": "image/jpeg",
        "instanceID": "xmp:iid:abc123"
      },
      "assertions": [
        { "label": "c2pa.actions" },
        { "label": "c2pa.hash.data" }
      ],
      "signature": {
        "present": true,
        "alg": "ES256"
      }
    }
  },
  "id": 1
}
2MIDDLE · D1node
Signature verdict feeds ingredient-tree resolution
MCP Call · verify_content_credential_signature
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "verify_content_credential_signature",
    "arguments": {
      "alg": "Ed25519",
      "signer_public_key_jwk": {
        "kty": "OKP",
        "crv": "Ed25519",
        "x": "UCJluj4JmGYxBS1ecl_Q8kHKgd4ASBu6Hx6sHgfb0kk",
        "alg": "Ed25519"
      },
      "signed_bytes_b64": "YzJwYS10ZXN0LXNpZ25lZC1jbGFpbS1ieXRlcy0yMDI2LTA2LTI1",
      "signature_b64": "BSIkzTIAjJ2YVc347NUIBXJZAtx9uE5oSdhMIvA5LrL4UDdBkvpx2KSL5J8SJQOZro6M2m3iHAXbK+b7/YEBAQ==",
      "trust_anchor_match": true,
      "cert_not_expired": true,
      "revocation_status": "good"
    }
  },
  "id": 2
}
3TERMINAL · D2node
Exports provenance verdict with execution_hash — final stage
MCP Call · resolve_provenance_ingredient_tree
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "resolve_provenance_ingredient_tree",
    "arguments": {
      "active_manifest_hash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "ingredients": [
        {
          "hashed_uri": "self#jumbf=/c2pa/urn:uuid:abc",
          "nested_manifest_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "relationship": "parentOf",
          "redacted": false
        }
      ]
    }
  },
  "id": 3
}
Export Artifacts
Download the §4 chain definition artifact or the §13.11 W3C VC view. Each of art-123, art-124, and art-125 individually support W3C VC export.