Features

Kurra is open source, and you can run it yourself. Enterprise adds policy controls, hosted registries, identity features, and audit export, and needs a Kurra license.

What each version includes

The open source version mirrors every supported ecosystem and controls who can pull from it. Enterprise adds the checks that decide what is allowed in.

Features in the open source version and in Enterprise
FeatureOpen sourceEnterprise
Mirroring and caching
Mirrors for every supported ecosystemIncludedIncluded
Storage in a bucket you ownEach tenant connects its own S3-compatible bucket.IncludedIncluded
Cache-first and direct fetch modesIncludedIncluded
Upstream rate limits, backoff, and stale copies when an upstream failsIncludedIncluded
Rate limits and quota tracking shared across replicasUses Valkey, so every replica enforces the same limits.Not includedIncluded
Package policy
Turn an ecosystem off for an organizationIncludedIncluded
Known advisories shown on package pagesEnterprise syncs OSV data ahead of time for every ecosystem it covers.npm onlyIncluded
Block packages with known advisoriesSet a severity threshold for the organization or for each tenant.Not includedIncluded
Allow or block a package or version by handNot includedIncluded
Software license allow listNot includedIncluded
Reputation check for look-alike package namesNot includedIncluded
Minimum release ageRefuses a version until it has been published for the number of days you set.Not includedIncluded
Verify mirrored files match the checksum the upstream publishesA file that doesn’t match is never cached or served.IncludedIncluded
Check upstream signatures, checksums, and attestations, and record the resultIncludedIncluded
Refuse files that fail verificationNot includedIncluded
Software bill of materials for container imagesGenerated in CycloneDX format when an image is first cached.Not includedIncluded
Hosted registries
Publish your own packages to a Kurra registryIncludedIncluded
Reserved package names that mirrors never serveStops a public package from shadowing one you host.Not includedIncluded
Verify build provenance for packages you hostKurra verifies a Sigstore bundle you supply and never signs anything.Not includedIncluded
Access and identity
Sign in with GitHubIncludedIncluded
Single sign-on with OIDC or SAMLNot includedIncluded
Tokens limited to chosen permissions and registriesA token expires after 90 days unless you set another lifetime.IncludedIncluded
Admin, Security, Publisher, Reader, and Auditor rolesIncludedIncluded
Custom rolesNot includedIncluded
Auditor and Viewer roles for an organizationNot includedIncluded
IP allowlists for each registryNot includedIncluded
Zero-trust integrations for CI systemsNot includedIncluded
Private network allowlistsAvailable when you host Kurra yourself.Not includedIncluded
Audit and operations
Activity feed and a tamper-evident audit logIncludedIncluded
Audit log exportDownload CSV or NDJSON for an auditor.Not includedIncluded
Ecosystem analytics and usage metricsIncludedIncluded
Self-hosted architectureIncludedIncluded
Tenants and registries per organizationFree-tier limitsSet by your license

A policy control applies to the ecosystems that provide the data it needs, so a setting can have no effect in an ecosystem it doesn’t cover. The next table lists them.

Which ecosystems each control covers

These are the Enterprise policy controls. A setting for a control does nothing in an ecosystem it doesn’t cover.

Which ecosystems each Enterprise control covers
EcosystemName reputationMinimum release ageAdvisory blockingLicense policyRegistry signatureBuild attestation
APKNot coveredCoveredCoveredCoveredCoveredNot covered
APTNot coveredCoveredCoveredNot coveredCoveredNot covered
CargoCoveredCoveredCoveredCoveredNot coveredNot covered
ComposerCoveredCoveredCoveredCoveredNot coveredNot covered
DockerCoveredNot coveredNot coveredNot coveredNot coveredCovered
GoCoveredCoveredCoveredCoveredCoveredNot covered
HelmCoveredPartlyNot coveredNot coveredPartlyPartly
MavenCoveredCoveredCoveredCoveredCoveredNot covered
npmCoveredCoveredCoveredCoveredCoveredCovered
NuGetCoveredCoveredCoveredCoveredCoveredNot covered
PyPICoveredCoveredCoveredCoveredNot coveredCovered
RPMNot coveredCoveredCoveredCoveredCoveredNot covered
RubyGemsCoveredCoveredCoveredCoveredNot coveredCovered
TerraformCoveredCoveredNot coveredNot coveredCoveredNot covered
  • Docker’s cosign signatures are checked as build attestations, so Docker has no registry signature check.
  • Helm is covered in part. Classic chart repositories are checked for release age and provenance files. OCI charts are checked with cosign signatures, like Docker images.
  • APT, APK, and RPM have no name reputation check, because the distribution sets package names.