Witness Camera

How to hash video footage and prove it has not been altered

SHA-256 in plain terms, and what a matching hash does and does not show.

Hash stamping a video means computing a short fingerprint of the file that changes completely if even one byte changes. If you recorded the fingerprint when the video was made, anyone can later check that the file they hold is the same. This page explains how it works, how to do it by hand, and what Witness does automatically. Written by the developer of Witness Camera, so read it with that in mind; where another approach is better, it says so.

Short answer. A SHA-256 hash is a 64-character fingerprint of a file. Change one byte and it changes completely, so a matching hash shows the file is identical to the one that was hashed. Compute one with shasum -a 256 on macOS and Linux or certutil -hashfile on Windows. The hash only means something if it was recorded when the video was made and kept somewhere you cannot alter. Witness computes a SHA-256 for every 15-second piece on the phone before it uploads, lists them in a manifest, and has an independent authority time-stamp that manifest. A match proves the file is unchanged, not that its content is true.

What a hash is

A cryptographic hash function turns any file into a fixed-length string. SHA-256 gives 64 hexadecimal characters. The same file always gives the same string, and a different file, even one differing by a single byte, gives a completely different one. You cannot work backwards from the hash to the file.

How to hash a video yourself

shasum -a 256 recording.mp4                 # macOS and Linux
certutil -hashfile recording.mp4 SHA256      # Windows

Compare the output with the value you recorded earlier. They must be identical. Any difference, however small, means the file is not the same.

Why timing matters

A hash computed today only shows the file has not changed since today. It proves nothing about the moment of recording. For a hash to count, it has to be computed as close to the moment of capture as possible and stored somewhere the person holding the footage cannot quietly alter. That is why Witness hashes on the phone, immediately.

What Witness does

What a matching hash does not show

For the full verification steps, see how to verify footage.

Questions

What does hashing a video prove?

That the file you hold is identical to the one that was hashed. It does not prove what the video shows, and it only helps if the original hash was recorded at the time and kept where it could not be altered.

How do I get the SHA-256 of a video?

Run shasum -a 256 <file> on macOS or Linux, or certutil -hashfile <file> SHA256 on Windows, and compare the result with the recorded value.

Why does the hash of a video sent over WhatsApp not match?

Messaging apps re-encode video, which changes the bytes. The mismatch comes from the channel, not tampering. Ask for the original file through a link to the storage account.

Does Witness hash every recording?

Yes. Every piece is hashed on the phone before upload, whether or not you use Pro, and the hashes are listed in a manifest.

Try it free

The free app includes this. Set it up and test it before you need it.

More Witness features explained

Written on 27 October 2026. Features and prices change. This is not legal advice.