{
  "schema": "isgenai.c2pa-lab.v1",
  "verified_at": "2026-10-03T12:27:10.316Z",
  "node": "v23.11.0",
  "sdk": "@contentauth/c2pa-node 0.8.3",
  "platform": "darwin",
  "arch": "arm64",
  "license": "CC0-1.0",
  "scope": "Controlled code-drawn pixels with and without a record signed by disposable development credentials. Tests record parsing and validation, not authorship, detector accuracy or scene truth.",
  "decoded_rgba_equal": true,
  "no_trust_overrides": true,
  "observations": [
    {
      "schema": "isgenai.c2pa-inspection.v1",
      "generated_at": "2026-10-03T12:27:10.275Z",
      "status": "NO_C2PA_MANIFEST",
      "file": {
        "name": "unsigned-control.png",
        "type": "image/png",
        "size": 13179,
        "sha256": "acdc3a0a5e011cf57af9bf0f1da74c75c2d280a2cc9af9297410c529f86932cf"
      },
      "c2pa": {
        "detected": false,
        "embedded": false,
        "manifest_labels": []
      },
      "validation": {
        "cryptographic_validation": "NOT_PRESENT",
        "trust_validation": "NOT_PRESENT",
        "success_codes": [],
        "informational_codes": [],
        "failure_codes": [],
        "status_codes": []
      },
      "limitations": [
        "Supported C2PA manifests are read with the Content Authenticity Node reader and validation enabled.",
        "Trust status depends on the signing credential and available trust material; an untrusted signer is reported separately from a broken manifest.",
        "Files without C2PA manifests may still contain other provenance or watermark signals that require separate checks.",
        "This is not a universal AI detector and does not prove legal compliance by itself."
      ]
    },
    {
      "schema": "isgenai.c2pa-inspection.v1",
      "generated_at": "2026-10-03T12:27:10.302Z",
      "status": "C2PA_VALIDATED_WITH_WARNINGS",
      "file": {
        "name": "test-signed.png",
        "type": "image/png",
        "size": 58196,
        "sha256": "ce4b8329b838e06147f2c8b002ee366d23bcdecb9bba4b322481920944c255c5"
      },
      "c2pa": {
        "detected": true,
        "embedded": true,
        "manifest_labels": [
          "urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c"
        ],
        "active_manifest": {
          "label": "urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c",
          "title": "Controlled example: code-drawn pixels, disposable test signer",
          "claim_generator_info": [
            "isGenAI controlled-example builder 1.0"
          ],
          "ingredients_count": 0,
          "assertions_count": 1,
          "action_count": 1,
          "actions": [
            "c2pa.created (algorithmicMedia)"
          ],
          "digital_source_types": [
            "algorithmicMedia"
          ],
          "signature": {
            "alg": "Es256",
            "issuer": "Development demonstration only",
            "common_name": "isGenAI controlled-example disposable signer"
          }
        }
      },
      "validation": {
        "state": "Valid",
        "cryptographic_validation": "VALIDATED",
        "trust_validation": "UNTRUSTED_OR_UNKNOWN",
        "success_codes": [
          "claimSignature.insideValidity",
          "claimSignature.validated",
          "assertion.hashedURI.match",
          "assertion.hashedURI.match",
          "assertion.hashedURI.match",
          "assertion.dataHash.match"
        ],
        "informational_codes": [],
        "failure_codes": [
          "signingCredential.untrusted"
        ],
        "status_codes": [
          {
            "code": "claimSignature.insideValidity",
            "explanation": "claim signature valid",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
          },
          {
            "code": "claimSignature.validated",
            "explanation": "claim signature valid",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
          },
          {
            "code": "assertion.hashedURI.match",
            "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.data",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.hash.data"
          },
          {
            "code": "assertion.hashedURI.match",
            "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.thumbnail.claim",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.thumbnail.claim"
          },
          {
            "code": "assertion.hashedURI.match",
            "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.actions.v2",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.actions.v2"
          },
          {
            "code": "assertion.dataHash.match",
            "explanation": "data hash valid",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.hash.data"
          },
          {
            "code": "signingCredential.untrusted",
            "explanation": "signing certificate untrusted",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
          },
          {
            "code": "signingCredential.untrusted",
            "explanation": "signing certificate untrusted",
            "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
          }
        ]
      },
      "limitations": [
        "Supported C2PA manifests are read with the Content Authenticity Node reader and validation enabled.",
        "Trust status depends on the signing credential and available trust material; an untrusted signer is reported separately from a broken manifest.",
        "Files without C2PA manifests may still contain other provenance or watermark signals that require separate checks.",
        "This is not a universal AI detector and does not prove legal compliance by itself."
      ]
    }
  ],
  "tamper_test": {
    "change": "One byte in the IDAT image-data payload is flipped in memory",
    "status": "C2PA_INVALID",
    "validation": {
      "state": "Invalid",
      "cryptographic_validation": "FAILED",
      "trust_validation": "UNTRUSTED_OR_UNKNOWN",
      "success_codes": [
        "claimSignature.insideValidity",
        "claimSignature.validated",
        "assertion.hashedURI.match",
        "assertion.hashedURI.match",
        "assertion.hashedURI.match"
      ],
      "informational_codes": [],
      "failure_codes": [
        "signingCredential.untrusted",
        "assertion.dataHash.mismatch"
      ],
      "status_codes": [
        {
          "code": "claimSignature.insideValidity",
          "explanation": "claim signature valid",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
        },
        {
          "code": "claimSignature.validated",
          "explanation": "claim signature valid",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
        },
        {
          "code": "assertion.hashedURI.match",
          "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.data",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.hash.data"
        },
        {
          "code": "assertion.hashedURI.match",
          "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.thumbnail.claim",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.thumbnail.claim"
        },
        {
          "code": "assertion.hashedURI.match",
          "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.actions.v2",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.actions.v2"
        },
        {
          "code": "signingCredential.untrusted",
          "explanation": "signing certificate untrusted",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
        },
        {
          "code": "assertion.dataHash.mismatch",
          "explanation": "asset hash error, name: jumbf manifest, error: hash verification( Hashes do not match )",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.hash.data"
        },
        {
          "code": "signingCredential.untrusted",
          "explanation": "signing certificate untrusted",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.signature"
        },
        {
          "code": "assertion.dataHash.mismatch",
          "explanation": "asset hash error, name: jumbf manifest, error: hash verification( Hashes do not match )",
          "url": "self#jumbf=/c2pa/urn:c2pa:37c68114-5933-4318-ab6a-507a46ace50c/c2pa.assertions/c2pa.hash.data"
        }
      ]
    }
  },
  "adapter_origin_resolution": "ORIGIN_UNRESOLVED for both the ordinary signed fixture and a deliberately synthetic untrusted AI claim"
}
