One file, end to end
The full provenance record for a single file

How to capture data provenance
Each practice below depends on recording at the moment the work happens, since a history added later can't be checked.
Record when the file is written
The system that writes the file should create the record at the same moment.
Give every actor its own identity
When several people or tools share one login, the record can only name the login. Each person needs a separate identity, and so does each instrument or agent, for the work to be attributed correctly.
Add versions instead of overwriting
Saving a new version keeps the earlier state available, so anyone checking later can see what the data looked like before it changed.
Keep the access history
Who could open each file, and when, is part of its provenance, so changes to access need to be recorded alongside the files.
What a data provenance record contains
A complete record covers origin, actor, time and integrity. Each one answers a different question a reviewer is likely to ask.
Origin
Where the data came from, such as the instrument run that produced it or the dataset it was derived from. If the origin is missing, nothing later in the record can be traced back to a source.
Actor
Who or what produced the data. In many labs that now includes AI agents and automated instruments as well as people, so the record needs to show which one did the work.
Time
When each version was created, recorded in an order that can be checked. Much of what a reviewer asks comes down to sequence, such as what existed before a result and what changed after it.
Integrity
Evidence that the file's contents haven't changed. A content hash lets anyone with a copy check this in seconds.
Reading the record
What a provenance record can and can't tell you
