Remote Manifests
While manifests are typically embedded directly within an asset, the C2PA specification allows for them to be hosted externally and linked from the asset's metadata. This is known as a remote manifest store.
Why use remote manifests?
- Large Manifests: Can offload very large or complex provenance histories from the asset itself.
- Dynamic Updates: Allows for certain types of updates without modifying the original asset file (though this is an advanced and rare use case).
By default, the QueCloud API does not attempt to fetch remote manifests for security and performance reasons. You must explicitly enable this behavior on a per-request basis.
Enabling Remote Manifest Fetching
To allow the verifier to fetch remote manifests, set allow_remote_manifests
to true
in your /v1/verify
request body.
{
"asset": {
"bucket": "your-bucket",
"key": "asset-with-remote-manifest.jpg"
},
"allow_remote_manifests": true
}
Security Considerations
allow_insecure_remote_http
: By default, the service will only fetch manifests from securehttps
URLs. If you must fetch from an insecurehttp
URL, you can setallow_insecure_remote_http
totrue
, but this is strongly discouraged as it exposes the process to man-in-the-middle attacks.
Best Practice
Only enable remote manifest fetching when you have a specific need and trust the sources where manifests may be hosted. For most use cases, relying on embedded manifests is simpler and more secure.