Legal Message Export
← All guides
Guide

What Bates numbers and a SHA-256 hash add

A Bates number is a unique identifier stamped on every page, so everyone in a case can refer to the same page without confusion. A SHA-256 hash is a fingerprint of the source data: if even one byte changed, the fingerprint would be completely different. Together they make a text message PDF easy to cite and tie it to a specific copy of the data.

This is general information, not legal advice. Neither feature makes a document admissible on its own. They make it better documented.

Bates numbers

Bates numbering is named after the Bates Manufacturing Company, whose self-advancing stamp was used to number legal and business papers in order. Today the stamp is digital, but the idea is the same: every page produced in a matter gets its own sequential identifier, usually a short prefix plus a zero-padded number.

A transcript page with the Bates number SMITH000003 in the bottom-right corner
A transcript page from the sample export. The Bates number sits bottom right, next to the page count.

What that gets you:

In Legal Message Export you set the prefix, the starting number, and the padding. The cover page records the full Bates range, and every page, including the cover and the declaration, carries its number.

The SHA-256 hash

SHA-256 is a standard algorithm that turns any file into a 64-character fingerprint. The same file always produces the same fingerprint, and changing anything in the file, even a single character, produces a completely different one. It's widely used to show that a file hasn't changed.

Here's what Legal Message Export does with it:

  1. On import, it copies your Messages database (chat.db) and never modifies the original.
  2. It folds any pending changes into the copy, so the copy is a complete, stable snapshot.
  3. It computes the SHA-256 hash of that snapshot and saves it with the import.
  4. It opens the snapshot read-only from then on. Every PDF you export from it prints the same hash on the cover page and the declaration.

So the hash ties every export to one specific snapshot. Two PDFs with the same hash came from the same data.

What the hash doesn't prove

Checking the hash yourself

The snapshot is kept on your Mac in the app's data folder. Anyone with access to it can recompute the fingerprint in Terminal and compare it with the cover page:

cd ~/Library/Application\ Support/LegalMessageExport/Cases
ls                                # one folder per import
shasum -a 256 <folder>/chat.db

If the value matches the cover page, the snapshot is exactly what the export was made from. Refreshing the import in the app replaces the snapshot with a new one, so if an export has already gone to your lawyer, keep that snapshot, or ask your lawyer how they'd like it preserved.

The cover page and declaration

The hash and Bates range are pulled together on the cover page, alongside the participants, the date range, the message count, and the import and export dates. The optional declaration repeats the hash, the date range, and the first Bates number, so the signed statement points to this exact export. See the sample PDF, page by page →

Bates numbers and a hash on every export

Legal Message Export turns your Mac's Messages history into a documented PDF. It's free to try; pay what feels fair to export.

Legal Message Export produces a documented record. It doesn't guarantee that a court will admit it; that's the judge's decision. If authenticity is seriously disputed, talk to your lawyer about a forensic examiner.