Notary is the CNCF project that provides content trust for container images and other artefacts — a way to prove that the thing you are about to run was published by who you think, and has not been altered since. It is an implementation of The Update Framework, a specification designed around a hard assumption: that a registry or distribution server will eventually be compromised, and that trust must survive that event rather than depend on the server behaving honestly.
Two generations are in use. Notary v1 pairs a Notary server with a signer service and is the machinery behind Docker Content Trust, where setting DOCKER_CONTENT_TRUST=1 causes pushes to be signed and pulls to be verified. The Notary Project's second generation replaces that architecture with the notation CLI and a set of specifications: signatures are stored in the registry as OCI artefacts linked to the image through the referrers API, signing uses standard certificate-based identities, and verification is driven by a trust policy that names trust stores, identities and a verification level.
What both generations share is the model that makes signing meaningful. Separate roles hold separate keys — a root key that anchors trust and is kept offline, targets keys that sign the actual artefacts, delegation roles so individual teams can sign within their own scope, and snapshot and timestamp roles that provide freshness so an attacker cannot serve an old, still-validly-signed image forever. Getting that hierarchy, its key storage and its rotation procedure right is the entire discipline; a signature verified against a key nobody controls proves nothing at all.
Why this skill matters now
The build pipeline became the attack surface. Several high-profile compromises worked by tampering with artefacts after they were built and before they were deployed, which is precisely the gap that a vulnerability scanner cannot see — the scanned image and the deployed image were simply not the same object. Signing and verification are the only controls that close it.
That has moved from good practice to requirement. Software supply chain guidance, SLSA levels, and an increasing number of customer and public-sector procurement requirements now ask for signed artefacts, verifiable provenance and an SBOM attached to the release. Registries and orchestrators followed: Harbor can require signed images before allowing a pull, and Kubernetes admission can reject an image whose signature does not verify against a trust policy.
The difficulty is operational, not conceptual. Everyone agrees images should be signed. Deciding who holds the root key and where it physically lives, how a build system signs without holding a key it could leak, how delegation is scoped per team, what happens the day a signing key is compromised, and how verification is enforced without stopping every deployment during rollout are the questions that determine whether a signing programme is real or ceremonial.