A structural engineer submits an inspection report in a construction defect case. Opposing counsel pulls up the PDF properties, points to a "modified" date three weeks after the cover page, and asks the engineer to explain it on the stand. Nothing in the report changed. Software auto-updated the file when someone printed it. But now the report's credibility is the issue, not the roof.
That date on the PDF isn't a record of when the content was written. It's a record of the last time the operating system touched the file. Printing touches it. Opening it in a viewer that re-indexes fonts touches it. Copying it to a shared drive touches it. None of that is "someone edited this document." All of it can move the modified date.
Here's the part that catches people off guard: even if you never open a file again, metadata isn't tamper-evident. A modified date sits in the file system, not the file. Change your system clock, copy the file, and the new copy inherits whatever date you want it to have. There's no cryptographic link between the timestamp and the content. It's a label, not a proof.
A checksum fixes half the problem.
Run a file through SHA-256 and you get a hash, a fixed-length fingerprint of the content. Change one pixel, one character, one byte, and the hash changes completely. That's genuinely useful. It tells you a file hasn't been altered since the hash was generated.
What it doesn't tell you is when that hash was generated. You could compute a SHA-256 hash today for a photo you claim was taken last year. The hash proves the file matches itself. It says nothing about the timeline. Integrity and timing are two different problems, and a checksum only solves one of them.
Timing requires something outside your control.
To prove a file existed at a specific point in time, you need a record that you can't quietly edit afterward. A blockchain anchor works because the ledger isn't yours. You generate the hash locally (the file itself never leaves your device), and that hash gets written into a transaction on a public chain. Once it's confirmed, anyone can independently verify that exact hash existed in that block, at that time. Not because you said so. Because the network recorded it and thousands of nodes agree on the record.
ProofLedger anchors to two chains for a reason. Polygon confirms in seconds, so you get a timestamp almost immediately after capture. Bitcoin adds a daily batch anchor with a merkle proof tying your hash into that day's block, giving you the security of the most battle-tested chain in existence without paying Bitcoin fees on every file. Two independent, verifiable records instead of one.
Where this fits in a legal proceeding matters too.
Courts can authenticate blockchain-anchored records under FRE 901(b)(9), the rule covering evidence "produced by a process or system that produces an accurate result." That requires laying a foundation, usually expert testimony or a technical certification explaining how the anchoring process works and why it's reliable. It's not automatic. Separately, FRE 902(13) and 902(14) cover self-authentication of machine-generated records through written certification, added in 2017 specifically for cases like this, where a party wants to skip live testimony and authenticate via certified documentation instead. Different rule, different mechanism, and knowing which one applies to your situation is worth a conversation with counsel before you're in front of a judge.
If your organization is also using C2PA content credentials at capture, that's a good complement, not a substitute. C2PA embeds who captured a file, when, and with what device, directly into the file's metadata. The problem is that metadata lives inside the file. Re-upload it to a platform that strips metadata, convert the format, and the credential can disappear before it's ever needed. A blockchain anchor doesn't have that failure mode, because it was never stored in the file to begin with. It exists on a ledger the file doesn't control.
The engineer on the stand didn't need a better PDF. He needed a record, made the day the report was finished, that existed independently of the document and couldn't be explained away by a software quirk. That's the gap between a timestamp anyone can produce and one nobody can dispute.