The Update Framework is a graduated CNCF specification for securing software update systems. It defines a set of signed JSON metadata roles and a client workflow designed to remain safe even when the repository or its signing keys are partially compromised.
The Update Framework (TUF)
The Update Framework (TUF) starts from an assumption most signing schemes avoid: that the repository will eventually be compromised. Rather than asking how to prevent that, it asks what an update client can still guarantee afterwards — and answers with a set of separate signing roles, expiring metadata, and threshold signatures arranged so that stealing any one key is not enough to push a malicious update.
- Separated roles - Root, targets, snapshot and timestamp metadata, each signed independently and each with a different blast radius.
- Threshold signatures and key rotation - No single key is sufficient, and rotation is part of the design rather than an incident response.
- Freeze and rollback protection - Expiring metadata, so an attacker cannot hold a client at a known-vulnerable version by simply withholding updates.
- Defined JSON metadata - Machine-readable, and the basis for adaptations including Notary and PyPI’s work.
TUF is the oldest specification in this part of the catalog and the one most often reinvented badly. Anywhere an API platform distributes something a client will execute — SDKs, plugins, agents, gateway modules, MCP servers — the update channel is a supply-chain surface with exactly the compromise model TUF was designed for. It underpins the Notary Project lineage and complements Sigstore, which solves key management from the other direction with short-lived certificates instead of long-lived roles.
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 |
|---|---|---|---|
| python-tuf | verifies |
Apache-2.0 | The Python reference implementation of The Update Framework — secures software update systems against key compromise, rollback ... |
| go-tuf | verifies |
Apache-2.0 | The Go implementation of The Update Framework, used by Sigstore's trust root. |
| rust-tuf | verifies |
Apache-2.0 | The Rust implementation of The Update Framework. |
| tuf-js | verifies |
MIT | The JavaScript implementation of The Update Framework, used in the npm supply-chain stack. |
| TUF-on-CI | signs |
MIT | Runs a TUF repository and its signing ceremonies inside CI, with hardware-token signing and review gates. |
| TUF Conformance Suite | tests |
MIT | A conformance test suite for TUF clients, checking them against the specification. |