Rightshold™ Sign up

Answers · AI evidence

Someone sent us a photo that shows a valid C2PA Content Credential in a verify tool. What does that actually prove about the image: that it's real, who made it, whether AI was used? And what does it mean when a file has no credential at all?

Last updated

TL;DR: Less than the badge suggests. A valid Content Credential (a C2PA manifest) proves that the provenance data and the content it's bound to haven't changed since a particular signer signed them, and tells you whose signing certificate was used. With a trusted time-stamp it also shows the signature was made while that certificate was valid. The C2PA's own explainer says Content Credentials make no judgment about whether the provenance data is true: they show it's well-formed, untampered, valid and signed by someone on a known trust list. So it doesn't prove the scene happened, it doesn't prove every edit was recorded (an edit in a tool that doesn't support C2PA leaves no entry), and it doesn't identify a person unless an identity extension was added. Only the assertions the signer created are attributed to the signer, and an AI origin shows up only if the generating tool recorded it, in the digitalSourceType field. Which signer counts as trusted depends on the checker: the official C2PA trust list comes from the conformance program that opened in June 2025, and the older Interim Trust List was frozen on January 1, 2026. A missing credential proves nothing either way: metadata can be stripped, and C2PA says files without credentials shouldn't automatically be distrusted.

What should I check, step by step?

1. Check the file in a validator and read the result, not just the badge: is the manifest valid (hashes and signature match), and is the signer trusted?

  1. Look at who signed. The signer is the holder of the certificate the claim generator used, often a camera maker, an app or a platform, not necessarily the person who took the photo.
  2. Note which trust list the checker used. Content signed under the frozen Interim Trust List and content from conforming products on the official C2PA trust list must be shown differently by validators during the transition.
  3. Check for a trusted time-stamp. It lets a validator confirm the signature was made while the certificate was valid even after the certificate expires or is revoked.
  4. Read the actions and the digitalSourceType. A generative AI tool that records its use labels the content as AI-generated there; if the field is absent, that only means it wasn't recorded.
  5. Separate assertions the signer made (created_assertions) from ones it only gathered (gathered_assertions). Only the first set is attributed to the signer.
  6. Treat ingredient history with care. An ingredient's credential was checked when it was added; the original ingredient file usually isn't included, so you can't re-verify it yourself.
  7. If there's no credential, don't conclude the file is fake. Look for a durable credential through a watermark or fingerprint lookup where the tool supports it, ask the sender for the original file, and use other checks.

What does a valid C2PA Content Credential prove about a file?

A Content Credential, which the specification calls a C2PA manifest, is a set of assertions about an asset (how it was created, what actions were applied, whether AI was involved) that are hashed, bound to the content and digitally signed with an X.509 certificate. The explainer describes the combination of cryptographic hashes such as SHA-256 and a Merkle-tree-like structure as tamper-evident: any change to the asset or the provenance data breaks the match.

What doesn't a C2PA Content Credential prove, and does a missing credential mean a file is fake?

The C2PA explainer says it plainly: Content Credentials do not provide value judgments about whether a given set of provenance data is true, only whether it's well-formed, free from tampering, valid and trusted. Provenance alone can't tell you whether the content is true, accurate or factual.

Why can the same C2PA Content Credential show as trusted in one verify tool and not another?

Trust in C2PA comes from the signer's certificate. The C2PA trust list is a list of certificate authorities that issue signing certificates to generator products that passed the C2PA Conformance Program, which opened in June 2025; conforming validators must check signatures against it. Conforming products are published on the C2PA Conforming Products List, and the C2PA FAQ says certificates carry the product's assurance level.

How do I ask Rightshold about this (free, no key)?

Add the MCP server https://www.rightshold.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code, then ask: “Fetch the signed AI run receipt we recorded when we delivered this generated image to the client, so I can hash the file they now have and check whether it's the exact file we sent, even though its Content Credential is missing.”

One-click setup

{
  "tool": "verify_ai_run",
  "arguments": {
    "id": "air_<20 hex characters from the receipt id>"
  }
}

Rightshold doesn't create, read or validate C2PA manifests, isn't a C2PA conforming product or on any C2PA trust list, and isn't affiliated with the C2PA or the Content Authenticity Initiative. A Rightshold receipt is a separate dated record of a file's hash; it only matches the exact bytes. Descriptions are from the C2PA explainer and documentation as checked on November 10, 2026.

What are the sources?

Related

Not legal advice. JSON · Markdown · All answers

Get a free API key in one call

No card and no email needed. 100 free credits; the license and policy checks stay free without a key.

curl -s -X POST https://www.rightshold.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export RIGHTSHOLD_API_KEY=rs_...   # the api_key from the reply (shown once)
curl -s https://www.rightshold.com/v1/licenses/check -H "Authorization: Bearer $RIGHTSHOLD_API_KEY" \
  -H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'