{
  "tool_id": "art-361-camera-provenance-check",
  "tool_version": "1.0.0",
  "display_name": "Camera-Provenance Check",
  "mcp_name": "check_camera_provenance",
  "mandate_type": "compliance_control",
  "wave": 62,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-361-camera-provenance-check.html",
  "description": "Structural check on an IDV/KYC capture's C2PA manifest: claim well-formedness, hard-binding hash assertion, and claim-signature reference (art-123 reuse), plus a digitalSourceType read off the c2pa.actions assertion that flags trainedAlgorithmicMedia so a downstream reader knows the capture was declared AI-generated rather than a live camera capture. Structural check only, no trust-list or chain-of-trust claim. Feeds the session receipt builder's capture-chain field (art-359).",
  "input_schema_ref": "chaingraph/art-361-camera-provenance-check.html#manifest",
  "consumes": [],
  "feeds": [
    "art-359-idv-session-receipt-builder"
  ],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:66a38ec12dbba452a125bf4d8d7e48439c603c7307af287f274e17bac14aa6eb","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-10"}],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {"type":"ZkVmReceipt","system":"risc0","receiptFormat":"groth16-bn254","imageId":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","seal":"Ak69p4fxWoSJjbeQNjuT1F0y9RPzpniIvIecATgBFz4hfsD8KB0OkVYkyejW4K2EDs1rEwrxqN/0ZHPSPHsXGBb7Lj0G81agPkT5JfWEZCrEFRAWyvbvYgkKzsitP7khGgLD4zDErVknrmrMnVl1jV8rYXHftwQ70FXzvb5tw4IeslbvhqpNQiVVvq5jQVWcTqSZZJJAQ7pZ/cXRB00mNhTUX7sw6rL3WBmW6YBzHmoHTJhzo+r/1TULFX37waBDE/CVJEpWWofXNn4Kh+keoJxvanOjMqIKeB02b1t8ONMjP6MUerZ3zkZ6w7z0hAIzaeS2GR3iNeCK0u3/gj7Q+A==","journal":{"chaingraph_version":"0.4.0","kernel_digest":"sha256:66a38ec12dbba452a125bf4d8d7e48439c603c7307af287f274e17bac14aa6eb","output":{"capture_chain_field":{"label":"asserted","manifest_digest":"sha256:9c1185a5c5e9fc54612808977ee8f548b2258d31","manifest_present":true},"digital_source_type":"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture","has_actions":true,"has_hard_binding":true,"manifest_present":true,"manifest_valid":true,"missing_elements":[],"note":"Structural check only -- no trust-list / chain-of-trust claim. digitalSourceType is read verbatim off the c2pa.actions assertion as declared by the manifest generator.","provenance_label":"genuine_capture_asserted","rejected":false,"trained_algorithmic_media_flagged":false}}}
}
