Block unproven dependencies from entering your builds with cooldown policies
Cooldown policies hold newly published packages until they clear a minimum age threshold, so unproven code can't slip into your builds and put your supply chain at risk.
Threat actors are using the software supply chain to exfiltrate data and cause reputational damage
Cooldown policies close the attack window and keep your teams safe
Close off this critical attack vector in moments, not months
Developers remain productive and builds continue
Frequently Asked Questions
A cooldown policy hides newly published package versions from your repository index until they reach a minimum age based on the version's publish date. This protects your supply chain from packages that haven't yet undergone sufficient community scrutiny.
Cooldown policies currently support Go, Maven, npm, NuGet, and Python packages that originate from a public upstream source. Additional format support is on our roadmap.
By default, yes. Cached packages that don't meet the age requirement are quarantined and hidden from the index until the cooldown period elapses. You can exclude already-cached packages from the policy scope if you only want to protect newly ingested versions.
Every package in the index is re-evaluated automatically.
Create one from the Policy as code tab in your Cloudsmith workspace using the Cooldown period template, or manage it programmatically through the Cloudsmith API or Terraform provider. Only one cooldown policy can exist per workspace.
Cooldown policies are available in early access for Ultra and Enterprise plans. Contact us to request access or register your interest in additional format support.
Not directly, during early access. You can exclude entire repositories, formats, or already-cached packages from a policy's scope, but per-version exemptions aren't yet supported. If a version urgently needs to bypass the policy, your security or platform team can download it and upload it to Cloudsmith directly, since manually uploaded packages carry no upstream publish metadata for the policy to evaluate.
Cached packages held back by a cooldown policy show a HIDDEN status in Cloudsmith and via the API. Search your workspace for status:hidden to find them, or hover over the status to see why a specific package was hidden. Rely on that search rather than the policy's match count: decision logs, and therefore match counts, are only generated for cached packages that get quarantined, so a cooldown policy can report 0 matches while it's actively hiding packages that were never cached.
A cooldown policy is proactive and time-based. It holds every newly published package during its highest-risk window, whether or not a threat has been identified yet. Quarantine is reactive, triggered only after a specific vulnerability or malware indicator matches a package. Most teams run both together.
The policy fails open. If an upstream hasn't populated the age metadata Cloudsmith checks, such as npm's time field or Python's upload-time field, the policy can't determine the package's age and won't hide it from the index. Factor this into your risk assessment when evaluating policy coverage.
Not yet. Connected repositories aren't currently supported by the cooldown policy feature. This is a known limitation during early access.