Most C2PA tooling is desktop-only and ships through Adobe Bridge, c2patool CLI, or commercial pipelines that re-upload your file. GhostMeta is the simple alternative: a pure-browser C2PA remover that detects the JUMBF box, identifies the claim_generator (Sora, Midjourney, Adobe, OpenAI, Google), and strips the manifest via canvas re-encode in milliseconds. No account, no upload, no install. Open the page, drop your image, download a clean copy. Because everything runs client-side, the tool works fully offline — load the page once, switch on airplane mode, and you can still process files, which is the surest proof nothing is uploaded. This matters for the common case of cleaning a screenshot or marketplace listing image on a work laptop where a desktop install or an outbound upload is blocked by IT policy. After stripping, you can confirm the result by re-opening the clean file in any public Content Credentials viewer (contentcredentials.org/verify): a stripped image returns "no Content Credentials found" instead of the original manifest.
C2PA inserts a signed JUMBF block into the file, declaring the creation tool and the chain of edits. It is metadata: GhostMeta removes it from JPEG and PNG by re-encoding, in the browser. The fingerprint kept server-side by the issuer and pixel-level watermarks, however, stay out of reach.
C2PA is a provenance standard backed by Adobe, Microsoft, OpenAI and others. In practice a JUMBF block is inserted into the file: it holds signed assertions — creation tool, date, any successive edits — and a cryptographic signature authenticating them.
That block is metadata, not a mark in the image. It is therefore removed the way metadata is removed. That is what GhostMeta does on JPEG and PNG: the re-encode does not rewrite the JUMBF container, and the resulting image no longer presents Content Credentials to a verifier.
C2PA also defines soft binding: a fingerprint of the image is stored server-side, at the issuer. Removing the local manifest does not erase that fingerprint. A similarity lookup can therefore still tie the image back to its origin, and nothing done inside your browser will change that.
Then there are pixel-level watermarks, invisible and resistant to recompression, beyond the reach of a re-encode. A tool promising complete anonymity for an AI-generated image is promising what it cannot deliver.
A C2PA manifest is not visible to the eye: nothing distinguishes an image carrying one from an image that does not. The only way to observe the result is to read the file again.
Drop the cleaned copy into the metadata viewer and compare with the reading you took beforehand. The missing fields show up directly, and you do not have to take our word for it.
| Component | Where it lives | Removed here |
|---|---|---|
| C2PA manifest (JUMBF) | In the file | Yes, on JPEG and PNG |
| PNG text chunks | In the file | Yes |
| EXIF, IPTC, XMP | In the file | Yes |
| Soft binding | On the issuer's server | No, out of reach |
| SynthID-style pixel watermark | In the pixels | No |
| Visible watermark | In the pixels | No |
c2patool is a CLI binary that runs locally but requires installation and a Rust toolchain. GhostMeta runs in any modern browser without install. For batch ops c2patool is faster; for one-off cleanup GhostMeta is friction-free.
Only if the saving tool re-adds it (Photoshop with Content Credentials enabled, Adobe Bridge, etc). A normal Windows/macOS Save As keeps the file clean.
JPEG (APP11 segment) and PNG (caBX chunk) in v1. WebP and HEIC support is in progress.
A C2PA manifest is stored in a JUMBF (JPEG Universal Metadata Box Format) container holding a claim, an assertion store, and a cryptographic signature. The claim references a content_binding hash of the image bytes; the assertions list the generator, edits, and timestamps; the signature is the producer's certificate chain. GhostMeta drops the whole JUMBF structure during canvas re-encode rather than editing individual boxes, so no partial manifest fragment is left behind.
You can open your browser's developer tools, watch the Network tab while you process a file, and confirm zero outbound requests are made. With a desktop binary or a server-side API you have to trust a privacy policy instead of observing the behavior. The processing happens via the Canvas API on the page you already loaded, so the network panel staying empty is direct, reproducible evidence.
Yes. Removing the C2PA manifest only deletes the metadata layer; the decoded pixels are re-encoded to a standard JPEG or PNG that opens, displays, and uploads like any ordinary image. Content Credentials are optional provenance data, not a format requirement, so a clean file is not rejected by viewers or upload forms — a C2PA viewer simply reports no credentials present instead of the original signature.
Partner : M.E Expert Serrurier