Skip to main content

Modulo vs GitLab's governed software factory

GitLab now sells a governed software factory: agentic workflows, policy, and an evidence chain, all inside GitLab. That is real, and it is good - if your software lifecycle lives entirely inside GitLab.

Modulo governs the change across the tools it actually touches. One hash-chained, tamper-evident record spanning GitHub, GitLab, Bitbucket, your tracker, and any HTTP API - on your own infrastructure, verifiable without asking a vendor to show you its logs.

Comparison table

Dimension Modulo GitLab
ScopeCross-tool. Governs agent activity across GitHub, GitLab, Bitbucket, Gitea, and Azure Repos, and chains into Jira, Linear, Notion, and any HTTP API, from one control plane. One run spans the whole change path.Ecosystem-scoped. Agentic workflows, policy, and evidence run inside GitLab, under GitLab's shared identity. A change that also touches a second forge, a tracker, or a model gateway leaves those steps outside the record.
EvidenceOffline-verifiable evidence: one hash-chained, tamper-evident record spanning every tool a change touches, graded observed, derived, or self-reported. A party holding only the export and a pre-published verification key can verify authorship, re-verify the embedded audit chain, and re-derive every derived value - no vendor service involved.Platform-generated. GitLab describes its governed software factory as creating an "evidence chain" that records how changes move from intent to production - a record generated by GitLab, of what GitLab saw, re-checked by asking GitLab.
DeploymentSelf-hosted at every tier, including the free Community edition, on your own infrastructure - your cloud, behind a VPN, or with no route to the public internet. Telemetry off by default, on your own Postgres.SaaS by default. Self-managed exists but is procurement-gated: an enterprise conversation and a negotiated price, not a self-serve download.
Identity and policyYour own IdP for people, per-run credentials for agents, and guardrails enforced outside the prompt. Human-only gates an agent cannot claim, plus an org-wide pause that stops work.GitLab's shared identity, policy, and evidence chain, with per-job scoped secrets in the Secrets Manager. Strong inside GitLab; it does not extend to tools GitLab does not run.
Cost and impactFlat $12,000/year Team tier with no per-seat or per-run meter, plus token budgets and a spend circuit breaker that stops a runaway before it bills you.Duo Agent Platform Impact Analytics reports cost and impact by team, task, and model - useful visibility, metered against GitLab's seat and tier pricing.
LicenceSource-available under BUSL. The farnalabs/modulo repository is public and inspectable. Not OSI-approved open source.Proprietary. Self-managed deployments run GitLab's binaries under its own terms; the source is not yours to inspect and modify.

What GitLab's governed software factory does well

GitLab's 6 October 2026 launch is a coherent story: goal-driven agentic workflows across the lifecycle, Artifact Central, a Dependency Firewall, per-job scoped secrets, Duo Agent Platform Impact Analytics, and a GitLab Security Standard that moves the metric from detected to verified remediation. Custom flows run under the same identity and policy as everything else in GitLab. For an organisation whose entire lifecycle lives in GitLab, that is a real answer, and the bundling is the point.

The claim worth examining is the record. GitLab describes the factory as creating an evidence chain that records how changes move from intent to production, under GitLab's shared identity, policy, and evidence chain. That chain is generated by the same system that ran the work, which makes it useful for GitLab-side operations and, by construction, a report from the platform rather than a check on it.

The difference is where the record comes from

A platform's evidence chain records what that platform saw. Modulo records what happened - across every tool a change touches - in a chain you can verify yourself.

Modulo's record is offline-verifiable evidence. A party holding only the exported artifact and a pre-published verification key can verify authorship, re-verify the embedded audit chain, and re-derive every derived value, without contacting GitLab, Modulo, or any other vendor. Every entry is graded by provenance - observed, derived, or self-reported - so a reader can tell what Modulo measured from what an agent claimed.

Nothing about that requires leaving GitLab behind. The GitLab connector reads merge requests, issues, pipelines, and jobs, and writes merges, comments, and file changes back, so GitLab work becomes one part of a cross-tool record while GitLab's own branch rules stay in charge of GitLab.

When Modulo is the better fit

  • One record spanning GitHub, GitLab, your tracker, and any HTTP API, as offline-verifiable evidence rather than one platform's own event log.
  • Self-hosted at every tier, with no sales gate and telemetry off by default.
  • Your identity and per-run agent credentials, not one vendor's shared identity.
  • Flat annual pricing with a spend circuit breaker, independent of seat count.
  • Human-only gates an agent cannot claim, at any step of the change path.

When GitLab is the better fit

  • Genuinely strong bundling: agentic workflows, CI, security scanning, artifacts, and secrets in one product.
  • A self-managed option for teams that must run the whole forge inside the estate.
  • Artifact Central and the Dependency Firewall address supply-chain risk directly.
  • Impact Analytics gives finance-visible cost and impact by team, task, and model.
  • Existing GitLab shops keep one vendor, one contract, and one support relationship.

Try Modulo

Modulo is self-hosted. You can evaluate it without talking to anyone.

Questions? Open a discussion on GitHub.

See also: What Modulo does with GitLab, Modulo vs GitHub, and Audit trail for AI-generated code.