What one press sets off
The sequence below is Witnal's own custody log, in the order it is written. Nothing here is a metaphor.
- 00:00
Captured
Video and sound start together from one press. The button is the whole interface, because nobody browses menus mid-incident.
- 00:00
Hashed
Each segment gets its SHA-256 hash on the device, the moment it is written. Change a single frame later and the number no longer matches.
sha-256 242c6ceb9f9a5e53…c406c76a819aaaff
- 00:01
Streamed
Segments leave the phone while recording continues. Evidence that has already left cannot be taken with the phone.
- 01:42
Verified
On arrival, the server recomputes every hash. A mismatch quarantines the segment and says so; the quarantine is itself a line in the custody log.
recomputed 242c6ceb… · matches the device hash
- 02:00
Timestamped
An independent timestamp authority signs the evidence hash under RFC 3161. The time on your record is somebody else's word, not ours.
- 02:09
Sealed
The original is written once and never rewritten. From here, every action on it is one more line in a log that only grows.
chained to segment 02 · retained until 26 Aug 2032
Hash something yourself
Type anything. Your browser computes its SHA-256 here, on your device, the way the capture does. Seal it, then change one character and watch the number stop matching.
- sha-256
What you end up with
A record with its handling attached.
Each exhibit keeps its device hash, the server's matching recount, its place in the chain, the authority's token and the date its retention ends. None of that proves the camera saw the truth; no software can. What it proves is narrower: the file is the one sealed at capture and any change since would break its hash. Every action taken through Witnal is one more line in the log.
The log is append-only. A mistake is corrected by a further entry, never by editing an old one.
The pipeline is built against the College of Policing's guidance on CCTV evidence and the Home Office procedure for digital images.
- Device hash
- 242c6ceb9f9a…c76a819aaaff
- Server hash
- Recomputed on ingest, matches
- Chain
- First in the sequence
- Timestamp
- RFC 3161 token, held with the segment
- Retained until
- 26 Aug 2032