SKILL.md
Verify Content Credentials
Use the official verifier and preserve uncertainty. A valid signature is not automatically a trusted signer.
All paths below are relative to this skill's directory. If you are running from elsewhere, use an absolute path to scripts/verify_c2pa.py.
Workflow
- Preserve the source asset.
- Confirm
c2patool -Vworks, or pass its explicit path with--c2patool.
The wrapper requires c2patool 0.20.0 or newer and reports verifier_supported: false with an actionable reason on older builds rather than degrading silently.
- Run base integrity verification:
``bash python3 scripts/verify_c2pa.py /absolute/path/to/asset ``
- When trust evaluation is required, pass a reviewed trust-anchor file or URL:
``bash python3 scripts/verify_c2pa.py asset.jpg --trust-anchors /absolute/path/to/anchors.pem ``
- Interpret the three result fields independently. Keep
UNKNOWNorNOT_CHECKEDintact. - The wrapper disables remote-manifest fetching by default. Add
--allow-networkonly when remote retrieval is authorized; URL-based trust anchors also require it. - Include the verifier version and file hash in any report. Every field exists
on every code path, so these are always available to quote.
- Report
manifest.claim_generatorandmanifest.actionswhen explaining a
result. Users usually want to know what the manifest claims — whether the asset was declared c2pa.created or c2pa.edited — not only that a signature verified.
Captured-report review mode
Review the structure of captured c2patool JSON without executing a binary:
python3 scripts/verify_c2pa.py --report-json report.json --asset-sha256 SHA256
This mode always returns integrity=NOTVERIFIED and a nonzero exit status. Its nested reportedresult is informational because captured JSON cannot prove that the verifier ran or that the report belongs to the supplied hash.
Boundaries
- Do not download remote manifests unless the user authorized network access.
- Do not map “verifier missing” to “manifest absent.”
- Do not map
signingCredential.untrustedto invalid content; report integrity and trust separately. - Only a successful live verifier run with a recognized summary schema and positive signature evidence can return
VALID. - Never expose certificate material unless requested.
Read references/c2pa-verification.md before changing classification rules.