Document version control, and what immutability actually means
Versioning is not the same as version control
Keeping old copies is versioning. Version control is the guarantee that a particular version cannot change after the fact — that "version 2.0" refers to one fixed set of bytes forever, not to whatever is currently sitting under that label.
The difference only shows up under pressure. Both look identical until somebody needs to demonstrate what was approved eighteen months ago.
What immutability protects
A signature is a statement about a specific thing. If that thing can change afterwards, the signature becomes a statement about nothing in particular — and the person who signed it carries the consequence.
The same applies to training. "Trained on SOP-000012" is not a useful record; "trained on SOP-000012 version 2.0" is, but only if 2.0 still means what it meant on the day.
Supersession beats deletion
When a new version becomes effective, the previous one should be marked superseded and kept, not removed. Deleting it destroys the ability to answer what was in force during the period it covered — which is precisely the window an investigation asks about.
Supersession also carries meaning that a delete cannot: something replaced it. That is a different fact from retirement, where a document was withdrawn and nothing took its place, and a system that conflates the two will eventually tell somebody something untrue.
A practical test
Take an approved document in your current system and try to change its content without creating a new version. If you can — as an administrator, through an import, through a bulk operation, through the database — then version integrity is a convention rather than a property, and every downstream record that depends on it inherits that.