Skip to main content
a service byantifield

Provenance that lives in the pixels.

Content Credentials travel beside a file, and a re-upload leaves them behind. Etcht writes an invisible watermark into the image itself, then reads it back out of a copy that has been cropped, recompressed, screenshotted, or repainted by a model.

Read the docs
0%
False match rate
99.9%
Uptime
280k
Files marked

What the mark survives.

These come from our image eval set, measured with Etcht Neo, the engine behind the API. The mark degrades with the image it sits in, so it gives out around the point a person would stop recognizing the picture. A mark that cannot be read comes back as nothing rather than as a guess. The conditions behind each row are in the write-up.

Recovery rate by transform

Etcht Neo
  • Untouched100%
  • Re-encoded99%
  • Screenshot95%
  • Cropped95%
  • Photo of screen90%
  • AI-regenerated85%

Where a mark gets checked.

Marking happens once, on the way out. Checking happens whenever a file turns up somewhere it has to be trusted.

Mark, verify, resolve. That is the whole API.

One interface covers every medium, and video and audio will sit behind these same three operations.

Mark

One call writes the mark into the image and hands it back. Nothing about the picture looks different, the dimensions are unchanged, and copies carry it with them.

Verify

Send any copy, however it reached you, and get back the registered work it belongs to.

Resolve

Send a file with no context at all. Etcht names the work it came from, the account that registered it, and when.

Registries can join each other.

Every organization keeps its own registry. Join the public commons and your registered work resolves for every other organization in it, and theirs resolves for you. You can also run a network of your own, with its own members and single sign-on.

What a match reveals stays yours to set, network by network: whether it names the creator, whether it returns your public metadata, whether it admits that a work is contested. Private metadata is never shared.

Where two organizations claim the same image, we report the disagreement instead of settling it.

Frequently asked questions

Everything worth knowing before you mark your first image.

Etcht writes an invisible watermark into an image, so any copy of it can be traced back to the work it came from and the account that registered it. We call it the mark. You reach Etcht as an API: mark an image, verify one, or resolve one back to its origin.

No. The mark sits below the threshold of human vision, and the picture keeps its dimensions. One thing does change: marked images come back as PNG, so a JPEG you send in returns as a lossless PNG, which will be the larger file. Reading the mark takes your organization's key, so nothing in the file exposes it to anyone else.

Re-encoding, format changes, resizing, cropping, screenshots, reprints, and a pass through a generative model. Recovery is near-total for re-encoding and cropping, and lowest for images a model has repainted. The measured rate for each transform is in the benchmarks.

Yes, with enough degradation. The mark lives in the pixels, so an attack that destroys enough of the picture destroys the mark along with it. What we publish is where that line falls, measured rather than asserted. Two things make that boundary safe to rely on. A mark that cannot be read comes back as nothing rather than as a guess, because acceptance is gated on an authentication tag and no amount of confidence substitutes for it. And verify never returns how it found a match or how sure it was, so there is no signal to tune an attack against.

No. They are two layers of the same job. A Content Credential is the signed record of where a file came from, and that is the right place for the record to live. It travels beside the file, so an export or a re-upload can leave it behind. The mark travels in the pixels, so a copy can find its way back to the record after the metadata is gone.

Send it to the verify endpoint. Etcht reads the mark, and when the image was registered it resolves to the work and the account that registered it. That is a registration and not a proof of authorship, because first to register is not first to create. The response never includes how the match was found or how confident it was, so there is nothing in it to tune an attack against.

Etcht Neo is the first engine behind the API, and the only one so far. Its marking is deterministic signal processing: the same input always produces the same mark, with no model in that path and nothing to drift. Neo marks images today. Video and audio engines are in development, and they will sit behind the same three operations.

We process your images to mark and verify them, and never use them to train anything. You can serve public metadata from your own endpoint instead of ours, so we hold the mark and you keep the record. Anything stricter than that is a conversation.

Access is by request while we onboard the first teams. Every request is read by hand.

Mark it before it leaves.

Access is by request while we onboard the first teams. Tell us what you need to mark and we will send keys and a test registry. Every request is read by hand.

Read the docs