Version controlled history means source changes are stored in a revision system with a changelog and immutable references to each revision. Verified history goes further by requiring strongly authenticated actor identities and timestamps for each change. In practice, version control proves traceability, while verified history proves who changed what and when.
Why the Difference Matters in SLSA Source Requirements
Version controlled history is about preserving an auditable sequence of source changes. Verified history adds a stronger trust property: each change must be tied to an authenticated actor and a trusted timestamp, so the history is not only complete but attributable. That distinction matters because SLSA is trying to reduce uncertainty about the provenance of source material, not just store revisions.
In practice, version controlled history answers, “Can we reconstruct the sequence of changes?” Verified history answers, “Can we trust the origin and timing of each change?” The second requirement raises the bar from traceability to evidence quality, which is why it is more demanding for repository governance and source integrity.
When the source history itself is part of the assurance story, SLSA is concerned with whether an attacker could alter history, insert unauthenticated changes, or backdate commits without detection. A revision log alone can still leave gaps if identities are weak, timestamps are not trustworthy, or the repository accepts changes that are not strongly bound to a verified actor.
For the underlying supply-chain model, this is a provenance control, not just a documentation control. The point is to make source state more defensible when later builds, releases, and attestations depend on it. That is why the difference is not cosmetic: verified history supports higher-confidence provenance claims than ordinary version control.
How Version Controlled History and Verified History Differ Operationally
Version controlled history generally means the repository keeps a revision trail, commit log, or immutable references to changes. It gives teams a timeline, rollback path, and change record. Verified history keeps those benefits but adds cryptographic or strongly authenticated evidence that the actor and time associated with each change are trustworthy.
That means two repositories can both appear “well controlled” while offering different assurance levels. A project may use Git and still only have version controlled history if commit authorship is not strongly verified. Verified history is narrower and stricter because it is about the evidentiary quality of the record, not just the existence of the record.
- Version controlled history: focuses on completeness of the revision trail and ability to inspect change lineage.
- Verified history: focuses on authenticated authorship, trustworthy timestamps, and stronger resistance to forged or ambiguous history.
- Practical result: verified history is the stronger prerequisite when downstream consumers need high confidence in source provenance.
The distinction is especially important when multiple contributors, automated systems, or delegated processes can modify source. In those environments, traceability without strong actor verification can still leave room for disputed ownership, weakened accountability, or confidence gaps in the provenance chain. If the SLSA requirement calls for verified history, the repository control must prove more than “a change happened.”
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK and OWASP Non-Human Identity Top 10 address the attack and risk surface, while NIST CSF 2.0 and CIS Controls v8 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | GV.OC-01 — Organizational Context | Source-history assurance supports governed software supply-chain expectations. |
| Recommendation — Define source-history assurance requirements as part of governance for software delivery. | ||
| CIS Controls v8 | 16 — Application Software Security | Verified source history strengthens secure software change control and provenance. |
| Recommendation — Require authenticated, reviewable source changes before accepting release inputs. | ||
| MITRE ATT&CK | T1098 — Account Manipulation | Forged authorship or altered history depends on abusing trusted account or commit identity. |
| Recommendation — Monitor for unauthorized use of trusted identities that can rewrite or fake source history. | ||
| OWASP Non-Human Identity Top 10 | NHI-05 — Secrets and Credential Lifecycle | Verified history depends on strong identity proof behind non-human source changes. |
| NHI-06 — Overprivileged Non-Human Identities | Automated commit actors need bounded authority to preserve trustworthy source history. | |
| NHI-08 — Third-Party NHI Risks | Delegated or external contributors can weaken source-history trust if their actions are not verified. | |
| Recommendation — Bind automated source changes to tightly controlled credentials and verify their provenance. Restrict source-write permissions for automated identities to the minimum needed. Validate third-party source changes with stronger identity and audit controls. | ||
Practitioner Guidance
What to verify: Confirm whether your source system enforces authenticated commit identity, trusted timestamps, and controls that prevent silent history rewriting. If the answer is only “we use version control,” treat that as insufficient for verified-history expectations unless the trust signal is explicitly enforced and reviewable.
Decision rule: If downstream build assurance depends on knowing who changed what and when, require the stronger history model and do not rely on repository logging alone. If the repository cannot consistently bind changes to verified actors, the source record should be treated as traceable but not fully assurance-grade.
What practitioners underestimate: The gap is not mainly about storage, it is about trust. A durable commit log can still leave provenance weak if identity proof and time integrity are not strong enough to support the SLSA claim being made.
Practitioner takeaway: Use version controlled history for change reconstruction, but use verified history when the integrity of the source record itself must support supply-chain trust.
Related resources from NHI Mgmt Group
- What is the difference between using a verified browser extension and installing a free access tool from an untrusted source?
- What is the difference between collaborative infrastructure tools and version-controlled Infrastructure as Code?
- What is the difference between a verified MCP server source and an unverified one?
- What is the difference between immutable infrastructure and version-controlled infrastructure in IaC security?