Pricing

Seats and projects are the meter. The governing engine is not.

A plan decides how many people work in a workspace and how many projects it will hold. It does not decide whether the workspace can say which models saw the work, what the agents did stage by stage, what they were held to, or which tools they could reach. Those are in every plan, including the free one.

And a limit here is enforced where the row is written rather than where the button is drawn, so the number a plan quotes is the number the database will refuse at — however the record arrived.

/app/…/engineeringIllustrative workspace
The head of the engineering desk: the workspace name, the heading Engineering, a description of agentic engineering for that workspace, and four counters reading five of five models approved, nine of nine policies adopted, one of one workflow defined, and four engineering seats held.
Models approved, policies adopted, workflows defined: three registers, and no plan switch reaches any of them. Seats are the one figure on that strip a plan decides. The workspace is illustrative — every organization, project and person name was substituted from the database before the capture, and the capture is refused if one survives.

Plans

What each plan holds.

Every new workspace opens on thirty days of Team with no payment details. What differs afterward is the size of the estate each plan will hold.

Enterprise is quoted rather than published, and it is quoted because it genuinely is: the price is set against seats, access model, identity and rollout scope. Inventing a number for it would have been the easy fix and the dishonest one.

Evaluation

$0per month, after the evaluation

Every new workspace starts with 30 days of Team, no card required. This is what remains when the trial ends — everything you recorded stays readable.

  • 30 days of Team for every new workspace
  • After the trial: 1 seat, up to 10 projects
  • Everything recorded stays readable — the register and trail are never held hostage
  • The full reconciliation engine and the six finding classes

A smaller working limit, and everything already recorded stays readable.

Team

Every workspace starts here

Arrangeddirectly

A delivery group running a real portfolio, where somebody has to answer for what is verified and what is only mapped.

  • Everything in Evaluation
  • 10 seats
  • Unlimited projects
  • Traceability register and signed evidence receipts
  • Role separation: propose, disposition, accept

No payment details are required to begin, and none are held until a workspace chooses to keep the plan.

Enterprise

Arrangeddirectly

Several delivery groups, one register, and an audience that will ask where a number came from.

  • Unlimited seats
  • Everything in Team
  • Tenant branding: name, wordmark and accent
  • Organization-level member and role administration

Priced against the estate: seats, access model, identity and rollout scope.

Where these figures come from. The seat price is read from the price object the payment processor will bill against, not from a constant on this page — the page and the invoice are the same fact rather than two numbers maintained by two hands. When that source cannot be read, no number is shown at all, because a stale price presented confidently is worse than an honest “arranged directly”: a reader can act on it.

In every plan

No plan switch reaches any of this.

A plan changes three things and there is no fourth: how many people, how many projects, and the four entitlements named in the table below. The module that decides entitlements declares those four, and the database enforces two caps. Everything under this heading is governed by the workspace instead.

  • The agentic harnessWorkflows are declared with named stages, every run is recorded stage by stage, and parallel lanes declare which files they own.
  • The AI control planeModels are approved one at a time and recorded with where they run, and each approval states in writing whether that model may process regulated content.
  • Tool permissionsThe catalog of tools an agent can call is derived from the server that publishes them, and anything that writes is denied until a named person grants it.
  • Operating policiesNine policies ship with the product, each adopted by a named person at a stated enforcement level, and the verdict for a run is sealed against the bytes it was about.
  • The gated AI SDLCA pinned methodology of seven phases and thirteen blocking control gates in four bands, ending in a risk acceptance signed by a named release authority.
  • supabase/migrations/20260820020000_agentic_harness.sql
  • src/lib/harness/model.ts
  • supabase/migrations/20260820100000_provider_credentials.sql
  • supabase/migrations/20260820200000_ai_credential_repair.sql
  • supabase/migrations/20260820190000_tool_permission.sql
  • src/app/api/mcp/route.ts
  • src/lib/tool-permission/gate.ts
  • supabase/migrations/20260814000000_methodology_gates.sql
  • src/lib/gates.ts

How a limit is enforced

A limit enforced by hiding a button is not a limit.

Both caps are triggers on the table being written, so every path into the database meets the same rule: the workspace, a server action, an import, a psql session, and a lane nobody has written yet.

The check takes a per-organization advisory lock for the length of the transaction, so two requests cannot both read “nine of ten” and both proceed. A commercial limit that is only approximately true is a defect somebody eventually finds on purpose.

A personcreates a project
An importa file, or another system
An agent proposalaccepted by a named person
The plan capbefore the row exists
The registerthe project is there
Refusedthe cap, the count, what lifts it
However a project reaches the register — typed by a person, carried in by an import, or proposed by an agent and accepted — it arrives as one insert into one table, and the plan cap runs before that row can exist. Under the cap the row is written. At the cap the insert is refused, and the message names the plan, the cap, the count the organization already holds, and the plan that lifts it. There is no nightly job to be late: an expired evaluation is enforced by the next write that would exceed the free cap.
  • supabase/migrations/20260813110000_billing.sql
  • src/lib/billing/plans.ts
  • src/lib/billing/entitlements.ts

Plan details

What a plan changes, and when.

Everything marked available now is in the product today. Anything marked planned is not, and no plan buys it early.

The same project and seat caps apply however records reach the register — typed in, imported, or proposed by a connected system. A limit is a limit everywhere, because it is enforced where the row is written rather than where the button is drawn.

CapabilityWhat it meansAvailable fromStanding
ProjectsUp to 10 on Evaluation, uncapped from Team.EvaluationAvailable now
Seats1 on Evaluation, 10 on Team, uncapped on Enterprise.EvaluationAvailable now
Register exportTake the register out — the three rungs, the standing column and the findings — as a file you can hand to someone.TeamPlanned
Environment probesRuntime-probed bindings: a claim checked against a live surface rather than against a file in a pinned tree.TeamPlanned
SSO-readySign-in delegated to your identity provider, with membership still resolved per organization.EnterprisePlanned
Priority supportA named contact and an agreed response time.EnterprisePlanned

The evaluation

Where a workspace lands afterward.

A governance product does not hold evidence hostage when an evaluation ends. The limits tighten; the record does not close.

For the first thirty days

Every new workspace opens on Team: 10 seats, no project cap, and no payment details. The full engine is there from the first minute, because none of it is an entitlement.

After that

The Evaluation tier remains after the 30-day Team trial. Everything already recorded stays readable if you do not upgrade — the register, the trail and the findings — inside a working limit of 1 seat and 10 projects.