Confirm the seal offline
A standalone checker that imports nothing from our engine. A pass is a real second opinion, not us grading our own homework. Run it on a real bundle in your browser.
The Proof Layer
Reactor-physics evidence · complements production AI
Your AI produces the number. SMRFORGE makes it something the accountable person can stand behind. A sealed result carries everything needed to re-run it, so anyone downstream can reproduce and verify it without trusting the model, the vendor, or us.
Not “trust us.” Check us.
The seal proves custody, not correctness. The number is unaltered and re-derives from its own recorded inputs. Fidelity is labeled on every result, and every result is advisory.
The problem
The person who acts on a number has to defend it later. An engineer signing a design. An auditor signing off. A regulator deciding whether to believe it. For that person, “the model produced it” is not an answer. They need to open the number up and re-derive it. In nuclear this is the whole bottleneck. Every safety-relevant number is defended to the NRC by hand, for months.
The same number, twice
How it complements your AI
The model’s reasoning stays a black box. The result it lands on does not have to.
Your AI · any model, any vendor
k_eff 1.001742 ± 0.000285 inputs lattice, materials, library engine OpenMC, run on your side
The model gets to its answer however it gets there. SMRFORGE never looks inside, and does not need to.
SMRFORGE · the proof layer
manifest inputs/ sha256 result.json sha256 provenance/ engine · data library · toolchain · seed bundle_sha256 sha256:0f98…c8e8 signature ed25519 cfb88804…
Every input, the result, and the provenance that produced it, hashed into one manifest and signed. The bundle is self-contained. Nothing in it needs a network or a vendor to check.
The accountable person · engineer, auditor, regulator
$ smrforge verify bundle.json OK · integrity + origin $ smrforge reproduce bundle.json re-derived within 3σ
Verify runs anywhere, with a checker that imports none of SMRFORGE’s physics. Reproduce re-runs the open engine on the recorded inputs, so it needs the engine installed. A browser cannot run an eigenvalue solve, and this page does not pretend it can.
When an agent’s work ends in a real calculation, that calculation can be sealed, independently re-run, and signed, so the engineer or regulator downstream can confirm it cold. It is the auditability, traceability, and reproducibility layer alongside a production AI system. The labs stay where they are. So does the model. The open kernel underneath it, the seal, the verifier and reproduce, is proof-core, free and MIT. If you’d rather build on it yourself, start there.
Agentic pipelines
smrforge serve is live today. One local process, pure Python standard library, no
web framework, nothing fetched at runtime, so it runs air-gapped. It fronts a REST API and an MCP endpoint.
An agent can run a SMRFORGE capability as one step in its workflow and get back a signed evidence
bundle.
One step, two doors · 127.0.0.1:8765
# MCP, for agents (JSON-RPC 2.0) POST /mcp { "jsonrpc": "2.0", "id": 7, "method": "tools/call", "params": { "name": "smrf_run_<capability>", "arguments": { ...declared inputs... } } } -> result content: the signed evidence bundle
# REST, for everything else POST /v1/run/<capability> Content-Type: application/json { ...declared inputs... } -> 200, body: the signed evidence bundle GET /v1/tools the open capabilities GET /openapi.json the generated spec
Same bundle through either door. The MCP tool list and the OpenAPI spec are generated from the capability
cards, so an agent discovers what it can run with tools/list and the spec cannot drift from
the code.
The trail · each step binds to the one before it
The link lives inside the seal, so the signature covers it. A reviewer walks the chain and re-checks it offline, re-running only the cheap deterministic steps. The orchestrator did not just produce an answer. It produced a trail someone else can audit. Hashes above are illustrative.
Live today
smrforge serve, REST and MCP on localhost, standard library onlyderived_from links between steps, binding by content hashsmrforge verify --chain walks the links offlineThe direction, not a finished claim
AI can produce the number. SMRFORGE is what makes it defensible.
Check it yourself
No trust in us required. Verify, reproduce, redact. None needs a network.
A standalone checker that imports nothing from our engine. A pass is a real second opinion, not us grading our own homework. Run it on a real bundle in your browser.
Re-derive the number from the sealed inputs, with the open engine installed. This is what a signed PDF cannot do. It proves the number is real, not just unaltered.
Strip a customer’s inputs from a public copy while the seal still verifies. Provably sealed and untampered, inputs never shown.
Try it
The physics engine is free and MIT-licensed. The evidence is the product. Verify a sealed reactor number and watch the seal catch a tampered one, in your browser, in about a minute, with no install, no server, and no SMRFORGE code.