Verify a photo or video
Load any copy of a file, including one downloaded from a social platform, to check which device recorded it, when, and whether it was modified. Verification runs in the browser; the file is not uploaded.
Drop a photo or video here
or click to choose a file — verification is local, nothing is uploaded
How to read a verdict
Verified
This is the exact file that came out of the camera: the proof it carries inside checks out against its hardware key. This is the strongest claim the system makes.
Origin traced
The invisible mark carries the capture's id, and it survives social-media compression. When the verified original is on file, it is shown side by side with your copy for comparison. This indicates origin, not authenticity.
No proof found
Either the file was never captured with TrustCam, or too little of the original is left — say a crop that keeps less than half of the image, or a screenshot of a small preview. We can't tell these two apart, so we claim nothing.
Videos can additionally show bitstream signatures: every ~1s segment is signed individually at capture, so even a trimmed clip proves which parts are intact. And when a file carries a C2PA / Content Credentials manifest, the verifier says so — inspect it with any Content Credentials validator.
Command-line verifier
The same verification modules, run locally from the command line for scripts
and batch checks (needs node ≥ 18, plus
ffmpeg for the pixel scan):
curl -sO https://trustcam.gregoriogalante.com/verify.mjs node verify.mjs photo.jpg # proof-trailer check node verify.mjs --scan file.jpg # + invisible-mark scan (photos AND videos)