CertifiedCopy

Text messages as evidence

A screenshot of a conversation proves that someone had a phone and a camera. What separates an exhibit from a screenshot is being able to say where the messages came from, that they have not changed since, and what was left out.

This page describes how digital copies are ordinarily authenticated. It is not legal advice, and it is not a substitute for asking the lawyer running your matter what they need.

What a court is actually deciding

Two different questions get collapsed into the word "admissible", and keeping them apart is most of the work.

RuleQuestion it answersWho decides
FRE 901 Is this what its proponent claims it is? The court, on the whole record
FRE 902(14) Can that be established without live testimony? Satisfied by a qualifying certification

902(14) covers data copied from an electronic device where the copy is authenticated by digital identification — in practice, a hash — described in a certification by a qualified person. It removes the need to call a witness to say the copy is a copy. It does not decide relevance, hearsay, or whether the messages come in at all.

Any tool that tells you its output is "court admissible" is describing a decision it does not get to make. What a tool can do is produce a copy and describe it accurately enough that the question becomes easy to answer.

Why a hash is the part that matters

A SHA-256 digest is a 64-character fingerprint of a file. Recomputing it over the same file gives the same value every time; changing a single byte — one character in one message — gives a completely different one. That is what makes it useful: it is not a claim that the file is unaltered, it is a value anyone can check for themselves.

Which is why the digest has to be taken over the source database, not over the PDF. A hash of the PDF proves the PDF has not changed since it was made, which nobody was asking. A hash of the chat.db or sms.db it was made from lets the other side take the same file, run the same command, and get the same answer.

Check any file yourself, with nothing installed:

shasum -a 256 messages.db      # macOS and Linux
certutil -hashfile messages.db SHA256   # Windows

What every CertifiedCopy export states

The first page of every PDF, and the header rows of every CSV, carry the same block:

The last one is the one people miss. An export labelled "January to June" that in fact contains nothing after March is not wrong, but it invites a question that is much easier to answer before it is asked.

Do this before you export anything

  1. Stop the device changing. Messages get deleted, edited and unsent. An export records what is there when you take it, not what was there last month.
  2. Keep the source file. The digest in the export is only checkable against the file it was computed from. Archive the chat.db or the backup folder alongside the PDF, unmodified.
  3. Export the whole conversation, then narrow. A range chosen first and widened later looks like a range chosen to suit. Produce the full thread, keep it, and derive any narrower exhibit from the same source.
  4. Note what is not in it. Attachments live outside the messages database. Deleted messages are usually gone. Messages in iCloud may never have reached the backup at all — see reading an iPhone backup.

Questions that get asked about digital exports

Can the other side check the export themselves?

That is the point of publishing the digest. They take the source file, run shasum -a 256, and compare. If the values match, the export was made from that file. If they do not, something changed and the comparison says so immediately.

Does it matter that a tool made the PDF rather than a person?

902(14) contemplates exactly this: a certification describing the process, rather than a witness describing it aloud. The certification has to be accurate and the person offering it has to be qualified to offer it — which is about the person, not the software.

Why does it matter where the messages were processed?

Because uploading a conversation to a server puts a copy of it somewhere you do not control, and adds a party who has to be accounted for. CertifiedCopy reads the file in your browser and has no server to upload to. That is a property of how it is built, not a policy it promises — you can watch the network panel while you use it.

What about screenshots?

Screenshots are evidence of something, and they are trivially editable, contain no metadata worth having, and cover whatever fitted on screen. They are worth taking as a supplement. They are a poor substitute for the file.

Open the app Reading an iPhone backup

Nothing is uploaded. The database is read in your browser and the PDF is built there too.