You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #239 — one of its acceptance criteria, with no child issue until now. Blocked by #428 and
at least one container slice (#429 is enough).
Goal
gamut inspect reports a C2PA manifest store's presence, size and byte offsets, and states
plainly that it does not validate it.
Scope
gamut-cli is the sandbox that exercises implemented features, and Command::Inspect
(src/main.rs:66) already exists. This adds one section to its output, for every format whose
crate can locate a store — HEIC first (#429), then each container slice as it lands (#440, #442, #444, #445, #446).
What to print
Whether a store is present.
Its size in bytes and its half-open byte range in the file.
For BMFF, the box_purpose of the carrying uuid box (manifest / original / update) — a
file mid-update legitimately carries two stores, and hiding that behind "1 store found" is
misleading.
An explicit disclaimer. Not a footnote: the line that reports the store says gamut does not
check the signature, the hash binding, or the trust list, and names c2pa-rs as what does.
Why the disclaimer is a requirement and not politeness
A tool that prints "C2PA: present" beside EXIF and ICC reads as verified to anyone who has seen
a Content Credentials badge. gamut deliberately holds no crypto and reaches no verdict (#239's
scope), so the output must not let a reader infer one. Phrasing that implies validation is a
defect in this issue, not a wording preference.
What not to do
Do not print the store's contents, decoded or hex-dumped by default. It is opaque bytes to
gamut, it is routinely tens or hundreds of kilobytes once a manifest embeds a thumbnail, and
rendering it invites exactly the "gamut understands manifests" reading above. A byte range is
enough to hand to c2pa-rs or to dd.
gamut-cli is excluded from the coverage gate via --ignore-filename-regex, so the reporting
logic should live where it can be tested — in the format crate or a small helper — with the CLI
holding only the formatting.
Reference
C2PA Technical Specification 2.4 §15.12 (validation is a validator's job), §A.5.3 (box_purpose).
Staked by #427.
Part of #239 — one of its acceptance criteria, with no child issue until now. Blocked by #428 and
at least one container slice (#429 is enough).
Goal
gamut inspectreports a C2PA manifest store's presence, size and byte offsets, and statesplainly that it does not validate it.
Scope
gamut-cliis the sandbox that exercises implemented features, andCommand::Inspect(
src/main.rs:66) already exists. This adds one section to its output, for every format whosecrate can locate a store — HEIC first (#429), then each container slice as it lands (#440,
#442, #444, #445, #446).
What to print
box_purposeof the carryinguuidbox (manifest/original/update) — afile mid-update legitimately carries two stores, and hiding that behind "1 store found" is
misleading.
check the signature, the hash binding, or the trust list, and names
c2pa-rsas what does.Why the disclaimer is a requirement and not politeness
A tool that prints "C2PA: present" beside EXIF and ICC reads as verified to anyone who has seen
a Content Credentials badge. gamut deliberately holds no crypto and reaches no verdict (#239's
scope), so the output must not let a reader infer one. Phrasing that implies validation is a
defect in this issue, not a wording preference.
What not to do
gamut, it is routinely tens or hundreds of kilobytes once a manifest embeds a thumbnail, and
rendering it invites exactly the "gamut understands manifests" reading above. A byte range is
enough to hand to
c2pa-rsor todd.dcterms:provenancecriterion;noneandremoteare different answers and both differ fromembedded.Note on gates
gamut-cliis excluded from the coverage gate via--ignore-filename-regex, so the reportinglogic should live where it can be tested — in the format crate or a small helper — with the CLI
holding only the formatting.
Reference
C2PA Technical Specification 2.4 §15.12 (validation is a validator's job), §A.5.3 (
box_purpose).Staked by #427.