For the complete documentation index, see llms.txt.

Chainguard plans

Compare the Chainguard Starter and Chainguard Team self-serve plans, including the limits that apply to each
  5 min read

Chainguard offers two self-serve plans, which you can sign up for, use, and upgrade without involving anyone at Chainguard:

  • Chainguard Starter is free. It gives a small team access to Chainguard Containers, Chainguard Libraries, Chainguard Checks, Chainguard Workspaces, and Guardener. To start, refer to Sign up for Chainguard Starter.
  • Chainguard Team is a paid plan for teams that outgrow Starter. It raises most Starter limits, removes the caps on members and CI identities, and includes ticket support. A Starter organization upgrades to Team with chainctl and pays by card.

Enterprise plans, which cover features such as FIPS images, SSO, and custom policies, are set by contract. To discuss one, contact Chainguard. For prices, refer to the Chainguard pricing page.

Plan limits

The following table lists what each self-serve plan includes:

Chainguard StarterChainguard Team
Chainguard Containers
Catalog images5 application, base, or AI images5 application, base, or AI images
Image swapsNone1 per rolling 30 days
Helm chartsCharts for your imagesCharts for your images
Image egress100 GiB a month1 TiB a month
Storage100 GiB500 GiB included, then metered
Chainguard Libraries
EcosystemsJava, Python, JavaScript, .NET, and GoJava, Python, JavaScript, .NET, and Go
CVE-remediated versionsNot includedIncluded
Package pulls50,000 a month1,000,000 a month
Cooldown periodFixed at 7 days, no per-package override0 to 7 days
Chainguard Checks and Chainguard Workspaces
Checks compute500 vCPU-hours a month1,000 vCPU-hours a month included, then metered up to 2,000
Workspaces compute500 vCPU-hours a month1,000 vCPU-hours a month included, then metered up to 2,000
Workspaces sessions3 per organization, 1 per member3 per organization, 1 per member
Organization and access
MembersUp to 5, from your email domainUnlimited
CI identities3Unlimited
Pull tokens5 active, each valid for up to 30 days5 active, each valid for up to 7 days
CloudEvents subscriptionsNone1
SSO and SCIMNot includedNot included
SupportCommunityTickets during business hours, with no response-time commitment

Monthly limits reset at the start of each calendar month, in UTC. GiB and TiB are binary units: 1 GiB is 1,024 MiB, and 1 TiB is 1,024 GiB. Chainguard uses these units when it refuses a request.

Chainguard counts Starter usage against the limits for image egress and package pulls now, and starts refusing requests past them on January 1, 2027. The storage limit already applies: a push that would take your organization past 100 GiB is refused. The CI-identity and pull-token limits also start on January 1, 2027. Until then, a Starter organization can’t create CI identities, and its pull tokens follow the lifetimes in Authenticate CI pipelines with a pull token. To find which limits you’re approaching, run chainctl plans quotas list --near.

Chainguard doesn’t yet refuse Team requests past the image egress, package pull, and pull-token limits.

FIPS, developer-tool, and commercial images need an Enterprise plan.

On Starter, a newly published package version stays unavailable for 7 days, and you can’t override the cooldown for a package. For how the Libraries cooldown limits work, refer to Cooldown limits by plan.

A Starter organization created with a personal email address can’t invite anyone until it upgrades to Team.

Once Chainguard enforces Team’s pull-token limit, Team pull tokens last at most 7 days. To authenticate CI pipelines on Team without replacing a secret every week, use a CI identity, which Team doesn’t cap. Refer to Overview of assumable identities in Chainguard.

What the limits count

  • Image egress counts the image layers you download. Manifests don’t count.
  • Package pulls count one download of one package version, however many files the download includes. A version served from the upstream registry counts the same as one Chainguard built.
  • Storage counts the images, uploads, and skills your organization pushes, and the Libraries packages it uploads. The Chainguard images you pull don’t count.

What happens at a limit

A plan limit is a cap, an included amount, or a feature the plan doesn’t include:

  • A cap refuses the next request that would go past it. Work that’s already running, such as an image pull, finishes.
  • An included amount keeps serving you past the limit and meters the extra usage. On Team, storage and Checks and Workspaces compute are included amounts. On Team, compute past 2,000 vCPU-hours a month is refused.
  • A feature the plan doesn’t include, such as SSO, is refused whenever you try to use it.

A Team organization created with a personal email address, rather than a business email domain, can’t go past its included compute.

A refused request returns an error that names your plan and the limit, and what you’ve used or what you asked for, followed by a link to the pricing page and a chainctl plans update command for the next plan. For example:

Team plan allows a library cooldown of 0 to 7 days (14 days requested). Upgrade: https://www.chainguard.dev/pricing or run: chainctl plans update --plan enterprise

To find your organization’s plan and the limits it’s close to, run chainctl plans describe:

chainctl plans describe

To list every limit with its current usage, run chainctl plans quotas list. Add --near to show only the limits you’re close to.

Mirroring

The self-serve plans’ terms don’t allow mirroring Chainguard images or packages into a repository manager, such as JFrog Artifactory.

Last updated: 2026-11-10 18:15