ORIGINDNA BY OZDNA TR
OZDNA.COM/VERIFY — PUBLIC VERIFY PAGE · PROTOTYPE

Check an image's DNA.

Every image OriginDNA signs carries three independent proofs: a cryptographic signature, an anchored timestamp no one can backdate, and a perceptual fingerprint that survives stripped metadata. This is our own verify page — it needs no account, and it does not depend on anyone's trust list. Recomputing happens in your browser; the image never leaves your device.

[01]VERIFY AN IMAGE

Drop an image.
See what it can prove.

Drop a JPG or PNG

Or choose a file. Everything runs locally — nothing is uploaded.

v1 supports images (JPG / PNG). Hashing, the perceptual fingerprint and the re-encode test all run in your browser — we never receive the file.

Drop an image to run the checks WAITING
Live — computed in your browser

Content hash — SHA-256

The exact-bytes fingerprint. Flip a single pixel and it changes completely. Computed with the Web Crypto API.

Perceptual fingerprint — dHash (64-bit)

A fingerprint of what the image looks like, not its bytes — computed live from the pixels on a canvas.

Survives re-encoding — the moat

We recompress the image the way a social platform would, then re-check. The content hash changes entirely; the perceptual fingerprint barely moves.

C2PA manifest — presence scan

We scan the file bytes for an embedded C2PA manifest. Full cryptographic validation (Wasm) ships in apps/web via @contentauth/c2pa-web.

OriginDNA registry

Anchored timestamp — "existed by"

Looks up your content hash in the OriginDNA registry (no upload of the image — hash only). Set window.__OZDNA_API__ or defaults to https://api.ozdna.com.

Hash, fingerprint, re-encode test and C2PA presence run in your browser — the image is not uploaded. Registry lookup sends only the SHA-256 hex to the API when reachable.

[02]WHAT GETS CHECKED

Three proofs.
Zero trust required.

A / SIGNATURE

The file is intact

The C2PA signature binds the manifest to the pixels. If the image was edited after signing, the signature no longer matches — verification says so.

B / TIMESTAMP

The date is real

The fingerprint is anchored in a public, append-only record. The "existed by" date can be checked by anyone, independently, forever — no account, no us.

C / FINGERPRINT

The copy still matches

Platforms strip metadata on upload. The perceptual fingerprint doesn't live in the metadata, so a stripped copy still resolves back to its registered original.

[03]HONEST ABOUT C2PA STATUS

Why a third-party tool may say "unknown source"

OriginDNA signs to the open C2PA standard, and the signature is cryptographically valid. But until we complete the C2PA Conformance Program, our certificate is not on the interim trust list — so tools like the official Content Credentials Verify may label the source "unknown." That is about membership, not about whether the file was tampered with.

So we run our own verify page and anchor every fingerprint in a public record that needs no one's trust list. We do not claim "trusted Content Credentials" — and we won't until it is true. Provenance you can check yourself beats a badge you have to take on faith.

[04]FAQ
Does my image get uploaded to verify it?

No. The content hash is computed in your browser with the Web Crypto API. In the full product, signature reading and fingerprint matching run client-side too — the image stays on your device.

Is this an "AI detector"?

No — deliberately. Detection guesses after the fact. Verification checks proofs that were attached at creation. Provenance, not detection.

What if the metadata was stripped by a social platform?

That's the case the fingerprint is built for. The perceptual fingerprint isn't stored in the file's metadata, so a stripped or re-encoded copy can still be matched back to its registered original.

Do I need an account or a wallet?

Neither. Verification is public and account-free. There is no token and none is planned; we never touch user funds.

What formats work?

v1 is images — JPG and PNG. Video, audio and mobile come after the core is solid.