DeepFake Check
Back to Blog
DeepCheckAI Team 4 min read

C2PA Claim Signatures: How to Review Validation Results

Preserve the exact file and full output

Save the media file without editing it and preserve the complete output from a compatible C2PA validator. Record the file name, acquisition source, acquisition time, validator name, and validator version. If a platform offers several renditions, assign each one a separate identifier. A validation result belongs to the exact copy that was checked. This recordkeeping is an operational method proposed here, rather than a procedure required by C2PA.

Limit the review to whether the validator located and validated the claim signature according to the defined checks. A colored badge or a single label hides which step passed or failed. Keep the original status codes and diagnostic text so another reviewer can repeat the check.

Check the signature reference before interpreting trust

C2PA 2.2 directs the validator to read the claim's signature field, resolve its URI, and obtain the COSE signature. The signature must be embedded in the same C2PA Manifest at a self#jumbf location. A missing field, an unresolved URI, or a URI outside that manifest leads to rejection. The specification uses claimSignature.missing when the field is absent or cannot be resolved, and it says a manifest whose claim and signature are not together cannot be considered valid.

Record this location check separately from every later result. Suggested fields are file identifier, claim identifier, signature URI as displayed, resolution result, and exact status code. Do not replace a missing reference with a URI found in another download. If a second copy resolves correctly, preserve both outputs; the later result does not erase the first one.

Separate credential, algorithm, trust, and signature checks

After the signature is located, the specification calls for validation of the credential used for that signature under the C2PA trust model. An unacceptable credential produces signingCredential.invalid. A signature algorithm outside the allowed or deprecated lists produces algorithm.unsupported. The validator then tries to build a trust chain from the credential to an applicable trust anchor. Failure produces signingCredential.untrusted; success assigns signingCredential.trusted.

These results describe different checks, so keep one row for each. A trusted credential does not substitute for cryptographic signature validation. If the claim has not already been rejected, the validator continues with the defined digital-signature procedure. A failed signature produces claimSignature.mismatch; a successful one receives claimSignature.validated. Preserve the sequence instead of collapsing it into a home-made label such as “verified media.”

Use a small table with columns for step, observed value, exact code, affected manifest, and next action. For claimSignature.missing, preserve the file and look for the original publisher's copy. For algorithm.unsupported, record the validator and version before trying another compatible validator. For signingCredential.untrusted, retain the displayed chain information and investigate the applicable trust context. For claimSignature.mismatch, preserve the supplied copy and complete diagnostic output. These are review actions proposed here; they do not change the meanings of the C2PA codes.

Keep adjacent checks and real-world claims outside the signature verdict

Time-stamp validation, credential revocation, and trust-list policy have their own checks. Do not infer their results from claimSignature.validated. Likewise, a signature failure does not identify who changed a file, when a change happened, or why. It reports the defined technical failure for the evidence supplied to the validator.

A valid claim signature supports only the recorded result from the validator's credential, algorithm, trust-chain, and signature checks. It does not independently prove a caption, speaker identity, capture date, location, or depicted event. Verify those claims through the original publication and independent evidence.

If you also analyze the preserved copy with DeepFakeCheck, place that probabilistic risk signal in a separate section. Automated detection can produce false positives that flag authentic media and false negatives that miss synthetic or manipulated media. A high-risk result supports further review; a low-risk result does not authenticate the C2PA claim or the real-world event.

Finish the record with the exact file identifier, complete validator output, each C2PA status code, unresolved questions, outside-source checks, and the decision taken. Record whether the signature was missing, unsupported, untrusted, mismatched, or validated for this copy. This wording preserves the evidence boundary and gives the next reviewer a reproducible starting point.

Sources

  • C2PA, “C2PA Technical Specification, Validate the Signature”: https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_validate_the_signature

Need to check a suspicious file?

Open the matching detector and interpret the result alongside the source and context.

Open Detector