# Nojam and StateGraph

StateGraph keeps Terraform state in PostgreSQL as a graph instead of a file. It solves a different problem from Nojam: StateGraph removes the state-file bottleneck, and Nojam removes the credential, approval and audit bottleneck for a regulated Vault estate.

## What StateGraph does better

- Its state model is the better answer to one large state making every plan slow: conflicts are detected per resource, without a global lock, and plans cover only the part of the graph a change touches.
- It offers transactions across states. Nojam’s rollback is compensation, not a transaction.
- It runs Terragrunt, Pulumi and CDKTF as well. Nojam runs Terraform and OpenTofu.
- It is open source under MPL 2.0, publishes its prices, and has customers and a community.

## Where Nojam differs

- StateGraph’s server never runs Terraform; plans and applies run in your own CI, so the apply credential lives in your CI’s secret store. Nojam gives each job its own short-lived Vault credential: read-only for plans, bound to main for applies, sealed in transit and revoked at the end.
- StateGraph offers approval counts and CODEOWNERS. Nojam requires a signed-in session, MFA and a recent step-up for production, rechecks the approver at apply, and binds the approval to the plan’s values.
- StateGraph keeps an attributed history with 30 or 365 days of retention. Nojam’s log is hash-chained, signed, write-once and verifiable offline.
- Our answer to the slow state is to split it, one state per namespace, with `nojam state split`. It is plainer to run and keeps standard backends, but it doesn’t keep everything in one place.

## Which to choose

### Choose StateGraph if

Your problem is one huge state that makes every plan slow, across several tools.

### Choose Nojam if

Your problem is who holds the Vault credential, whether the approval was real, and what you can show an auditor. The two can work together: a platform team could keep its state in StateGraph and run it through Nojam.

Facts about StateGraph come from its own pages, read on 7 November 2026: [StateGraph](https://stategraph.com/), [StateGraph on GitHub](https://github.com/stategraph/stategraph). If something here is out of date, write to us and we’ll correct it.

## Compare them on your own Vault

A pilot runs next to your current pipeline in shadow mode, so you can compare the two on real changes.

[Request a pilot](https://nojam.io/pilot.md) [Join early access](https://nojam.io/early-access.md)

---

Canonical page: https://nojam.io/compare/stategraph/  
Site map for AI agents: https://nojam.io/llms.txt
