[ ABOUT PRAE ]
Engineers should control what their agents execute.
Control belongs on the developer machine — inline with the tool call, where code executes.
PRAE removes the anxiety of running autonomous agents with local runtime tools, a human hold on the calls that matter, and cryptographically verifiable proof of what it decided.
$ npm install -g prae-cli
$ prae init claude-code --scope project --enforce --apply
settings ./.claude/settings.json
mode enforce · deny and ask are returned to Claude Code
pack ~/.prae/claude-code/prae-baseline.prae.json
ledger ~/.prae/claude-code/ledger.jsonl
signing key ~/.prae/claude-code/prae-signing.pem
… (settings diff: one PreToolUse hook entry, matcher "*")
written. -
--scope projectWrites the hook into this project's .claude/settings.json. --scope user covers every project. -
--enforceDeny and hold verdicts go back to Claude Code, which refuses the call or asks you. Leave it out to start in shadow mode: every verdict sealed, every call proceeds. -
--applyWrites the change. Without it, prae prints the settings diff and writes nothing.
Why we’re building this
The shift: control moves to where code executes.
Agents now run commands, edit files and call production APIs on developer machines. The control over what they execute should live there too.
From
Remote cloud configs
To
Machine-native control
Policy runs where the agent runs. prae-gate, the Claude Code hook and PRAE’s MCP server evaluate each governed call beside the agent, before it executes — for the tool calls the integration intercepts. No model and no network call decides the verdict.
From
Black-box execution
To
A developer in the loop
Consequential calls wait for a person. Where the integration supports holds, a held call waits for an answer: Claude Code’s own permission prompt, the harness’s approval flow, or your application’s, through judge(). Operator steering of a held call is in the Command Center today, on simulated sessions.
From
“Trust us”
To
Tamper-evident proof
Decisions are sealed into a hash-chained ledger on your machine or in your VPC — an edited, removed or reordered row breaks the chain — and signed when you configure a key (the Claude Code hook makes one). prae verify checks it offline. Nothing is sent to us.
Who we are
Two founders, one runtime.
PRAE is built and operated by a small team in Tel Aviv, Israel. We publish the software on npm under the PRAE name, operate this site, and answer the mail ourselves.
Tom Kornblit
Co-Founder & CEO
2x Founder with successful exit. Ex-Fortune 500 Enterprise Architect (ADP, JPMorgan Chase, Bank of America, Millennium Partners). Building with LLMs pre-ChatGPT. Founded Sage AI ($2M raised, $50k MRR), serving tens of millions of users. Driven by turning stochastic agent outputs into predictable, production-grade systems.
- Enterprise Architecture
- Agentic Context Infra
- Scale Systems
Tal Tarablus
Co-Founder & CTO
Ex-Sedric first engineer, former Coyopa VP of R&D. Deep runtime engineering specialist specializing in deterministic state-machine execution, shell-command decomposition and deterministic policy enforcement, and production-grade operator surfaces.
- Runtime Engineering
- State Machines
- Control Planes
Deep runtime engineering + frontier AI architecture — building the independent execution control plane for the autonomous enterprise.
What ships today
Two npm packages and an operator surface.
Every line carries its status. Simulation means simulated agents through the real gate code, never production enforcement. Validation runs and known limits are on the trust center.
The inline gatekeeper
prae-gate
An npm package. It judges each tool call that reaches it against your policy pack before the call runs — allow, hold or deny — and seals the decision into a hash-chained ledger, signed when you configure a key.
- Shipping judge() in your own tool loop
- Partially supported Plugin at an agent harness's tool seam (one harness profile)
- Shipping Ed25519 signatures and offline receipts
The prae command
prae-cli
Verify a ledger offline, serve gated file reads to any MCP client, install a Claude Code hook — and check, explain and test a policy pack. prae console renders a lighter console from any ledger.
- Shipping prae verify: hash chain and signatures, offline
- Partially supported prae mcp: file reads judged, listings confined to the root
- Partially supported prae init claude-code: a PreToolUse hook
The operator surface
Command Center
Holds waiting for a person, interventions, and the evidence ledger with its verification. It runs on your machine from the PRAE repository — not an npm package, not a hosted service — and today its agents are simulated sessions driven through the real gate code.
- Simulation Operator answers to held calls
- Simulation STEER a held call with an instruction
- Simulation Fleet steering by cohort
Our promise
Your agents, your machine, your evidence.
Local-first, offline-capable
The gate, the hook and the CLI run where your agents run. A verdict needs no network and no model, and prae verify checks a ledger with nothing but the file and, for signatures, the public key.
No telemetry
The software never contacts prae-ai.com: no account, no API key, no usage beacon. Your ledgers stay on your machine or in your VPC. This website has its own analytics; the privacy page names them.
Direct engineering support
The people who build PRAE answer the mail, within two working days (Sunday to Thursday, Israel time). Tell us which agents you run and which actions you want held or refused.
Agents reading this: a plain-text guide to the site is at /llms.txt, and the privacy page lists what this website collects.