96% more reported CVEs per day in 2026 than last year.
CRACI

Comparison

CRACI vs CircleCI

CircleCI runs your pipelines and leaves supply chain security to the tools you plug in. CRACI is a GitHub Actions runner that records what every build fetched, so the SBOM and provenance come from the build itself.

The short answer

CircleCI is a mature, flexible CI/CD platform. It connects to GitHub, GitLab and Bitbucket, runs jobs on a wide range of machines from Docker containers to macOS and GPUs, and lets you package reusable configuration as orbs. For security, CircleCI protects credentials and leaves scanning to orbs and third-party tools.

CRACI takes the other approach: the runner is the security record. It runs GitHub Actions jobs, observes every external dependency each build fetches, enforces an egress policy on the build network, and produces SBOMs, signed provenance and CRA evidence from what it saw. That is the difference between traditional CI and security-aware CI.

CRACI supports GitHub Actions only today. CircleCI is not yet supported. Teams on CircleCI would need to move a pipeline to GitHub Actions to use CRACI runners, or wait until other CI systems are supported.

Capability CRACI CircleCI
Build-time SBOM from observed dependencies Every job, with completeness state, cached packages included Dependency scanning through orbs you add
Build network egress policy Default deny or allow, fails closed IP ranges give jobs known source addresses (Performance and Scale plans).
Vulnerability monitoring Monitored SBOMs re-evaluated Through third-party scanner orbs
Source control providers GitHub Actions only today GitHub, GitLab and Bitbucket
Execution environments Linux VMs on x86-64 and ARM64 Docker, Linux, Arm, Windows, macOS, GPU
Self-hosted runners Customer-hosted runners not offered Linux, Windows, macOS and Kubernetes
Test splitting by timing data Split across parallel executors by timing
Docker layer caching Local, remote and bind mount layer caches All plans, 200 credits per job run
Price, 2 vCPU Linux €0.004 per minute (€0.002 per vCPU-minute), metered per second. Linux VM medium (2 CPU, 7.5 GB) is 10 credits per minute, about $0.006 at $15 per 25,000 credits.
Plans Pro is €30 per month until end of 2026, with 10,000 build minutes and one monitored SBOM. Free with 30,000 credits a month; Performance from $15 per month; Scale on custom pricing (as of September 2026).
  • Included
  • Partly
  • Not included
  • On the roadmap

What CircleCI does well

Breadth of compute. CircleCI offers Docker, Linux VM, Arm, Windows, macOS and GPU resource classes, so one platform can build a backend, a Windows client and an iOS app. Self-hosted runners extend that to your own Linux, Windows and macOS machines and to Kubernetes, and runner job time does not consume credits.

Speed features. Docker layer caching is available on all plans. Test splitting spreads a suite across parallel executors by name, file size or historical timing data, which cuts wall-clock time on large test suites.

Reusable configuration. Orbs package jobs, commands and executors so teams can reuse them across projects, and they make it straightforward to plug in third-party tools, including security scanners.

Credential hygiene. CircleCI's supply chain guidance centers on protecting secrets: split them into contexts, put deploy and signing keys in restricted contexts governed by your VCS groups, and use OIDC tokens so jobs reach cloud services without long-lived credentials stored in CircleCI.

Where CRACI is different

The build is the source of truth

On a traditional CI platform, an SBOM is produced by a tool you add to the pipeline, which usually reads manifests and lockfiles. CRACI observes the build instead. A package-aware proxy records traffic to package sources while the job runs, across npm, PyPI, RubyGems, Cargo, Go, Nix and OCI, plus OS packages and source or download presets. Dependency evidence travels with CI caches, so a package restored from a cache is still counted.

You know how complete the SBOM is

Every job produces a CycloneDX or SPDX SBOM with a completeness state per job and per cache: Complete, Complete with connections, Incomplete, Unavailable or Not recorded.

The build network has a policy

CircleCI's IP ranges feature routes jobs through known CircleCI addresses so your own systems can allowlist them. That solves inbound access. CRACI adds control in the other direction: egress policies for each job, default deny or default allow, with 24 built-in software-source presets, typed custom sources, and explicit TLS, TCP, UDP and ICMP rules. Policies are validated before the job starts and fail closed. CRACI also provides a stable egress IP range.

Provenance and monitoring from the same record

CRACI signs provenance that links each artifact, including OCI artifacts, to its build, using Ed25519 over SHA-512. It aggregates vulnerabilities across builds and repositories and keeps re-evaluating monitored SBOMs.

Which one fits

  • Stay with CircleCI if your code is on GitLab or Bitbucket, if you depend on Windows, macOS or GPU builds, or if you run jobs on your own hardware.
  • Consider CRACI if your code is on GitHub and you are weighing GitHub Actions against CircleCI, and you ship software where you must show what went into each release.
  • Use both during a gradual move: keep macOS and Windows pipelines on CircleCI, and run Linux GitHub Actions workflows on CRACI where build evidence matters most.

For the Cyber Resilience Act

The EU Cyber Resilience Act expects manufacturers to know what is in each release and to handle its vulnerabilities, with reporting obligations from September 2026 and full application from December 2027. On CircleCI, that evidence comes from whichever scanners and orbs you wire into your pipelines. CRACI produces it from the build record and exports reports in PDF, HTML, CSV, Excel and JSON. It automates a significant part of the software supply chain visibility and evidence that companies need for their wider CRA compliance process.

Moving a pipeline to CRACI

CRACI runs GitHub Actions workflows, so a CircleCI pipeline first needs a GitHub Actions equivalent. Once it has one, install the CRACI GitHub App on your organization and set the runner label:

runs-on: craci

Runs still appear in the GitHub UI. Jobs get Docker Engine, Buildx and Compose v2, runner sizes from 1 to 32 vCPU with 3 GB of RAM each, and GitHub Actions cache support. Read more about build-time SBOM generation, or see pricing and the startup program.

Run one real build and compare

Point one GitHub Actions workflow at CRACI and compare its SBOM with what your current pipeline produces.

Book a demo