Barycenters
01 ·not a model · not a wrapper · Layer 0authority_effect = 0
GET /readyz · …

A novel OS primitive.

Every action, decided before it runs and signed at runtime, never the model.

Wire it as a pre-tool hook in the agent you already run — Cursor, Claude Code, Kiro — and it fires before the tool executes, so governance never waits on the model remembering to ask. The hook honors the verdict; the service only decides and signs; a named human flips enforce.

on our runtime
rm -rf /var/lib/prod, from a Replit-class coding agent
REFUSED before it reaches the disk. Signed, recorded.
Replit wiped a prod DB in a code freeze · AI Incident DB #1152 · Jul 2025
on our runtime
a prompt-injected Copilot proposes a data exfil
the send is REFUSED and kept as evidence. Inject the model all you want; it can’t act past the floor.
EchoLeak · CVE-2025-32711 · CVSS 9.3
on our runtime
a poisoned MCP tool smuggles an unauthored action
the action is REFUSED. We don’t scan the tool; we bound what any tool can do.
MCP tool-poisoning · Invariant Labs, 2025
on our runtime
our own CI/CD merges to main autonomously
a stale or non-green merge is REFUSED. Every decision signed to the tape. We run on the floor we sell.
Customer Zero · barycenters.ci
$ npm i barycenterscopy
$ pip install barycenterscopy
$ mcp connect …/mcpcopy
— six ways in ↓
POST /admitchecking…

Pick an example attack, or type your own, then Attack it.

Awaiting an attack.
why now · the failure you’ve already seen
trigger 01credentials, not prompts

The rule you type was never the control.

Agents are handed prod-write, cloud, and payment credentials. A system prompt is advisory; the credential is real: one confused or hijacked agent needs a single action.

The floor: the action still passes through /admit, default-deny, decided before it runs, whatever the model was talked into.

soft guardrails are advisory, not enforceable · the 2025 pattern

trigger 02the named gap

The field already named the gap.

OWASP’s 2026 Agentic Top 10, NIST, and Microsoft all prescribe one fix: enforcement outside the model, at the boundary. “An agent cannot be trusted to police itself.”

The floor: /admit is that boundary, per-action, deterministic, decided before execution, outside the model’s loop.

OWASP Agentic Top 10 (2026) · NIST · Microsoft ADR-0004

trigger 03the clock

“The AI did it” is no longer a defense.

California AB 316 (in force Jan 2026) bars the autonomy defense; insurers and enterprise buyers now ask you to prove what your agent was authorized to do.

The floor: every /admit verdict is a signed, offline-verifiable, per-action record: the proof, produced as a byproduct of the decision.

California AB 316 · maps to EU AI Act Art. 12 / 14

run it free · shadow mode, nothing blocks

Point it at your own agents and run it free, in shadow: every action gets a signed verdict, recorded, and nothing blocks. authority_effect 0. Flip enforce with one signed switch, the day you’re ready.

shadow mode · what the gate doesrecords · signs · blocks nothing
wire $2,000,000 outREFUSEDdefault-deny · signed · recorded
delete all production dataREFUSEDno-kill floor · signed · recorded
issue a refund up to $50ADMITTEDin policy · signed · recorded
every verdict on a hash-chained tapeEd25519-signed · verify offlineauthority_effect 0 · nothing moved
Run it free in shadow →↑ Attack the live gate
02 ·Locate · dead upstream, before anything runs

The gate sits before the world.

One human binds the boundary. Every agent action routes through /admit, deterministic, default-deny, adjudicated and signed in about half a millisecond, before anything touches an API, a database, or money. The verdict is verifiable offline, recorded on a tamper-evident chain, and enforced caller-side. Fail-closed: no verdict, no settle.

Placementwhere Layer 0 sits
the human stewardbinds the boundary · onceauthority enters here, only herebinds · authority_effect 0your agent / calleremits an action:a state-mutation, an API callautonomouslyevery action/admitLayer 0 admission runtimedefault-deny · deterministic (canon-v1)adjudicates + signs · ~0.5msnever switches offsignedthe signed receiptACCEPT = PASETO v4.publicREFUSE = detached Ed25519kid iss-prod-1verify offline/.well-known/jwks.json: anyone, no servertamper-evident recordWORM audit chain · GET /auditzthe verdict →enforcement · caller-sideshadow: records the REFUSEenforce: honors it, stops, one flagthe world, where actions settleAPIs · databases · money · infrathe gate sits BEFORE the world.fail-closed: no verdict → no settle.
the human · binds oncethe gate · decides + signsstructure · agents, records, the world
03 ·Prove · deterministic, re-run it yourself

The word “deterministic,” proven.

Run the same action five times. Same input → the same decision and the same proposal_hash, every time. Don’t take the word.

POST /admit ×5merge_to_main · namespace demo
run 1
run 2
run 3
run 4
run 5
Each receipt is freshly signed at its instant: timestamps & signatures differ; the decision does not.
04 ·Compose · six ways in, one floor

Six ways in. All Layer 0.

One integration point: bary.govern(“deploy_prod”, deploy). It admits before the function runs.

01SDK · JS / Pythonlive
npm i barycenters
pip install barycenters
02SDK · Go / Rustlive
go get …/barycenters-go
cargo add barycenters
03MCP pluglive
mcp connect …/mcp
04Keyless RESTlive
curl -s .../admit
05Pre-tool hooklive
A PreToolUse gate in Cursor · Claude Code · Kiro — fires before the tool runs, so it never waits on the model asking
06Packslive
GET /v1/packs
05 ·Scale · a solo dev to a hyperscaler, unchanged

From a solo dev to a hyperscaler: the same floor.

Not a feature we built, an invariant we found. A human binds the boundary once; their agents act; and /admit judges every action, per action, before it settles: default-deny, signed, authority_effect 0. That shape does not change when you scale. One dev’s side project and a hyperscaler’s fleet route through the identical gate. You mint a boundary, never autonomy. There is no stage where the gate switches off, and no path around it, at any scale.

the fractal + the invariant — Architect / Observer / Participant: you can’t mint autonomy.

One gate, every scalethe constant
the scale grows ↓SOLO DEV1 agentone side projectA TEAMa dozen agentsa fleetA HYPERSCALERagents × 10⁴planet-scale/admitper actiondefault-denysigned decisionnever switches offauthority_effect 0THE CONSTANTsigneddecision“autonomy” = a path around the gate. It does not exist, at any scale.

One gate. Every scale. The floor is identical. What grows is how much rides on it.

Where it lives · the same gate, in the real world

From your editor to a planet’s fleet.

The same floor, plugged in through the adapters + SDKs you already use. Each row is a real, live integration point: an example of where the gate sits, not a claimed customer.

ScaleWhere the gate lives · a governed actionTier · included depth
Developerfirst integrationA coding agent in Cursor, Claude Code, or Kiromerge_to_main behind tests_green, a real Kiro PreToolUse gate$79/mo~395K govern-actions / mo
SMBreal production actionsA CI/CD pipeline: the SDK wraps the deploy stepdeploy_prod behind human_ack, signed receipt per run$1,099/mo~5.5M govern-actions / mo
Mid-marketadmission across servicesAgents across services via the MCP universal plugwire_funds behind an approval boundary, default-deny$5,099/mo~25.5M govern-actions / mo
Enterpriseorg-wide autonomyEvery org agent routes its tool calls through /admitunlisted action = ungoverned = refused, signed$45,000/mo~225M govern-actions / mo
Sovereignplanet-scaleA platform’s whole fleet under one human-authored boundarythe same floor: one trust root, a billion actions$250,000/mo~1.25B govern-actions / mo

Adapters (Kiro PreToolUse gate / Cursor / Claude Code), the MCP plug, and the SDKs (js / python / go / rust) are live today; the governed actions are real reason-codes the floor decides on.

One boundary. Priced by depth, not by transaction.

Measure once, cut all you want. Prove the boundary once and execute at any scale. The price is a depth ladder, not a settlement fee. We charge utility access to Layer 0, never a cut of what moves through it. A governance layer paid per transaction would have an interest in more transactions; a refusal that costs nothing keeps the incentive honest.

Pay for the boundary, not the block.

06 ·Converge · the field arrives on its own

The world is converging on our runtime.

Independent arrivals, AWS, Microsoft, the IETF, academia, keep landing on the same shape we already run: a signed, deterministic admission decision, adjudicated before an agent acts. Not because anyone copied us. Because it’s the invariant. Every arrival is cited and linked to its source.

See the convergence wall →The honest scoreboard — us, cited →
07 ·Deepen · the substrate beneath the surface

The surface is the least of it.

It’s what a signed, deterministic, verifiable floor lets you do: things that weren’t possible before a decision could be re-run, fingerprinted, and checked by anyone, anywhere. Some you can run today. Some are the frontier we’re building. None of them ask for your trust. Every one hands you the proof.

01
run it today

Verify a word.

“Deterministic” isn’t an adjective. It’s re-runnable. Re-execute the same action and get the byte-identical signed proposal_hash, every time. The word carries its own proof.

Prove it →
02
run it today

A floor you can’t jailbreak.

It’s code, not a model: no weights, no prompt to inject. Throw the cleverest attack; the gate holds, and signs the refusal.

Attack it →
03
run it today

One signature, any scale.

A human binds a boundary once. From a solo dev’s editor to a hyperscaler’s fleet, every agent action routes through the same gate, and autonomy, a path around it, cannot be minted.

See the fractal →
04
run it today

Verify it without us.

Every decision is signed against a published key. Check it offline, on your own machine, anywhere. You never have to trust our server, or even visit it.

Verify a receipt →
05
run it today

Sign the words themselves.

The same fingerprint, on any content: a quote, a clause, a source, a page. The live service signs it; you re-derive that fingerprint in your own browser and watch it match. Journalism, legal-binding docs, provenance in an AI world. (Proves authorship + integrity, never truth. A signed claim is still a claim.)

Fingerprint any text →
06
the frontier · building

Prove nothing escaped.

Not a log you hope is complete: a proof that everything executed was first admitted. The record doesn’t just accumulate; it verifies itself, and the coverage compounds.

next
A new primitive, not a new product.

A barycenter is a point physics already had a name for. This is the same kind of thing: an invariant, a signed, deterministic decision against a published trust root, that, once it exists, reshapes what’s possible in every domain where a claim has to be believed. That’s the point. Not the surface. The possibilities.

08 ·Survive · the edge decides alone
local reproduction · app/edge_admission_v1.py · no live edge server

The center is unreachable. The law isn’t.

Autonomous machines don’t wait for a policy server. At the edge there’s no human in the loop and no time to phone home, so the floor decides alone, deterministically, in about half a millisecond, and fails closed. That’s the only governance that survives out here.


Cut the link. Watch what still holds.

LINK DOWN·boundary
Propose — an action for a machine to attempt
Edge segment · local WORM chain · pending reconciliation0 decisions
01

Offline-verifiable authority.

The edge caches the steward’s signed boundary and verifies with public keys alone. No network, no live issuer.

02

The edge never mints authority.

Work is decided locally; every bind is forwarded to a human, or fails closed under partition. No new authority on the far side.

03

A stale boundary is no boundary.

Past its not_after, or unsigned, the edge admits nothing: it will not trust an expired signature.

04

Store-and-forward, hash-chained.

Decisions append to a local WORM chain. On reconnect, reconcile verifies its continuity, or refuses the batch whole.

Runs entirely in your browser. It reproduces app/edge_admission_v1.py (pure, no clock, no network) and recomputes each entry’s SHA-256 over the module’s own canonical form. There is no live edge server; this is the mechanic, not an endpoint. authority_effect = 0: it reads, reproduces, and links out; it binds nothing.
verifying fidelity against the module…

09 ·Verify · run it in your browser

Sign any words. Verify the fingerprint yourself.

Type anything: a quote, a clause, a source. Barycenters signs a fingerprint of your exact text with its Ed25519 key. Then you re-derive that fingerprint in your own browser and watch it match. Change one character and it moves. No trust required; the proof is on your machine.

POST /admit · live · keylessawaiting your text
edit a single character and run again. The fingerprint changes
your text → fingerprint
re-derived in-browser
signed by

What this proves: Barycenters signed a fingerprint of your exact text (authorship), and it is unaltered (integrity): the fingerprint is SHA-256 of the canonical proposal, which you just recomputed yourself, and the signature verifies against our published key. What it does not prove: that the words are true. A signed claim is still a claim. Provenance, never verdict.

journalism · a quote you can tracelegal · the exact bound clausesources · unaltered attributionAI-content provenance
10 ·Build · put a real action behind it

Put an action behind the boundary.

Free shadow tier, forever: it decides and signs, a named human flips enforce. Reserve a namespace to be credited at GA.

Reserve a namespace · $79 →Run it free in shadow →

The $79 is a reservation credited at GA, not Enforce, not an execution credit. authority_effect = 0.