Product1 publisher3 min readPublished
Docker hands CNCF a spec that makes an agent's permission list part of the image
Docker released its Sandbox Kit Spec under Apache 2.0 and is taking it to CNCF, with nine named vendors already shipping Kits for their own tools. Enforcement still belongs to the runtime. In the post, that runtime is Docker Sandboxes.
The Product Desk · Product desk

What happened
- Docker announced the Docker Sandbox Kit Spec at WeAreDevelopers, released it open source under Apache 2.0, and said it is bringing the spec to CNCF under CNCF's neutral governance.
- A Kit carries three things in one image: the agent, its tools, and a typed list of everything it asks to reach, such as hosts, credentials and volumes.
- The format adds no new artifact type and forks no OCI specification; it uses an extension point OCI already defines, so a Kit builds, pushes, pulls, signs and scans like any image.
- Docker said it worked with AWS, Box, Datadog, Dynatrace, JFrog, NanoClaw, OpenClaw, Palo Alto Networks, Snyk and others to build Kits for their tools, unveiled during the opening keynote.
Compiled by The Product DeskSomething wrong?How this is made
Why it matters
- cost No new infrastructure has to be bought or stood up, because existing registries, scanners and signing tools handle the image; the recurring cost is a person reading a permission diff on every agent version.
- constraint Rules that currently live in shell history and dashboards do not become diffable on their own, so the only agent scopes this helps with are the ones somebody sits down and re-expresses as a Kit.
- decision Platform teams have to decide which request list is authoritative for their engineers: the one the agent maker ships, the one a tool vendor recommends, or the company baseline they publish themselves.
- precedent A permission list held under neutral governance is something an auditor or a procurement reviewer can ask for by name, before any runtime outside Docker's own enforces it.
An engineer who inherits a running agent has one question and nowhere to look up the answer. Docker wrote that the rules each team writes for what its agent may reach "live in shell history, in dashboards, and in someone's memory" [15], and that a few months in, nobody can answer what the agent is allowed to do [16]. The reason sits in the container model. An image describes how software was built; what it may do once it runs is outside the format [13], while agents such as Claude Code and Codex install packages, call APIs and use credentials on a user's behalf [14].
The concrete gain is pinning. Because the request list is part of the image, pinning the image pins the agent and its requests together [4], and a version that wants a new host or a new credential shows up as added lines someone can refuse [8]. That review happens in the same place a team already reviews a dependency bump.
The earlier donation included a runtime. Docker's image format and runc both went to the Linux Foundation, the Open Container Initiative formed around them, and an image built anywhere now runs anywhere [12]. This donation is a format for describing requests. Of a Kit's request list, Docker's post says, "A conforming runtime can enforce it" [7], and the runtime it names is its own: Kits already exist inside Docker Sandboxes as the way a team packages an agent, its tools and what it may reach [9]. A Kit pulled somewhere else stays readable and diffable. Whether anything refuses the credential it asks for depends on that runtime implementing the field.
Kits sit one layer above MCP in Docker's framing, since MCP standardised how an agent talks to a tool and a Kit publishes the whole arrangement in one image anyone can pull [17]. Three parties can publish that arrangement, according to the post: a database vendor with the scope it recommends, an agent maker so that the request list comes from the people who built the agent, and a platform team with one Kit every engineer in the company starts from [18]. The post does not describe a conformance test, or say whose list wins when a tool vendor's recommended scope and a platform team's company Kit disagree [19].
Two things separate the states a team should care about here: whether the agent's request list sits in an artifact you can pin and diff, and whether anything refuses a request at runtime when the list says no. Kits handle the first with tooling already in place, because every registry, scanner and signing tool that handles an OCI image handles a Kit, and Docker says there is nothing new to deploy [6]. The second is decided by the runtime. If a Kit asks for a credential and the runtime ignores the field, the team still has a written record of the agent's request list and a reviewer in the pull request.
What to watch
- Whether CNCF formally accepts the spec, and into which project and maturity level. Docker says it is bringing the spec there and goes no further.
- A runtime other than Docker Sandboxes claiming conformance with the spec, the point at which enforcement becomes portable and not just the declaration.
- A published precedence rule for when a tool vendor's Kit and a platform team's Kit ask for different scopes on the same agent.