in-toto is a framework and specification for cryptographically verifying the integrity of a software supply chain. It captures and attests each step of the build and release process so the final product can be verified end to end.
in-toto
in-toto is a framework and specification for cryptographically securing the integrity of a software supply chain. It defines a signed layout that declares every step a project must take from source to finished artifact, and it collects signed link metadata as each step actually runs — so a verifier can prove the software was built exactly as intended, by the expected parties, with nothing inserted or skipped along the way.
- Layouts - A signed policy describing the ordered steps of the supply chain and who is authorized to perform each one.
- Link metadata - Cryptographically signed records of what each step consumed and produced, tying materials to products.
- End-to-end verification - A final check confirms the delivered artifact matches an unbroken, authorized chain of steps.
- Attestation framework - in-toto attestations provide a common envelope that tools like SLSA and Sigstore build on.
in-toto has become foundational infrastructure for the software supply chain security movement, underpinning SLSA provenance and integrating with build systems, package registries, and CI/CD pipelines. As APIs are increasingly assembled from third-party dependencies and shipped through automated pipelines, in-toto is one of the mechanisms that lets a consumer — human or agent — trust that the artifact they are running is the one the producer actually built and signed.
Open source tools that implement this standard
Harvested from this standard's own governing organisation, with the license read from each repository rather than assumed. The role is what the tool does to the specification, from the shared vocabulary — so an agent holding one of these documents can resolve straight from a goal to a tool.
| Tool | Role | License | What it does |
|---|---|---|---|
| in-toto | attests |
Apache-2.0 | The reference implementation of the in-toto framework — records signed attestations about each step of a build, so the finished... |
| Witness | attests |
Apache-2.0 | Wraps any build command and produces a signed in-toto attestation about what it observed — the materials, the products, and the... |
| in-toto Attestation Framework | authors |
Apache-2.0 | The specification and schemas for the attestation format — the statement-and-predicate envelope SLSA provenance and most supply... |
| in-toto for Go | attests |
Apache-2.0 | The Go implementation of in-toto, used by supply-chain tooling written in Go. |
| Archivista | stores |
Apache-2.0 | A storage and graph service for in-toto attestations — makes attestations queryable instead of leaving them scattered across bu... |