AINumbers Helm

A local control plane you can replay

Helm runs automation on your own machine, keeps an append-only journal of every step, and re-computes the work to prove it happened the way the record says. The result is evidence a regulator or auditor can check without trusting us, and without a network connection. It ships as an installed engine that serves its own interface to your browser from your own machine.

The demo is a fixed page. It walks a compiled workflow and verifies a real signed evidence bundle in your tab, with no download and no account.

Beta

Beta means expect rough edges in the interface; the evidence and verification math underneath is the tested core.

01 · Look first, install second

Want to see it before installing anything? Take the guided walkthrough. It walks a compiled workflow and verifies a real signed evidence bundle in your tab, no download, no account.

Try it now (Beta)

After installing, Helm opens your dashboard itself. This jumps straight to the install steps below.

How it works · install to verified evidence

Seven steps, end to end

This is the whole path, one step at a time: install, pair, connect, run, journal, seal, verify. On Windows it is a download and a double-click; on macOS and Linux you mark the file executable from a terminal first. Everything after that is a button in the browser. Source, releases, and issues all live in the public repo, and the technical design document describes how each piece is built.

Steps described here are in the shipped 2026.7.25 build unless a step says otherwise.

1
Step 1 · Install

Download Helm for your OS

Pick your platform. Each button downloads a single file, the helmd binary. There is no installer to run and no runtime to add first.

GitHub release signed, public helmd one file Your machine nothing on a server

Links point at the latest GA release on the public repo. Not sure which Mac you have? Apple menu, then About This Mac: an Apple M-series chip is Apple Silicon, an Intel chip is Intel.

Windows

Double-click helmd-windows-x64.exe from Explorer (or run it from PowerShell). A console window opens and stays open. That window is the daemon, so leave it running. Because the build is not code-signed yet, SmartScreen may say "Windows protected your PC". We will not tell you to click past that warning: verify the file against its published checksum first (below), and if you are not confident, wait rather than overriding your own protection.

macOS

Make it executable and run it from Terminal: chmod +x helmd-macos-arm64 (or the Intel build), then ./helmd-macos-arm64. Because the build is not code-signed yet, Gatekeeper will likely say it "cannot be opened because the developer cannot be verified" if you double-click it in Finder. Running it from Terminal avoids that dialog. Same posture as Windows: check the checksum first, don't override Gatekeeper blindly.

Linux

chmod +x helmd-linux-x64, then ./helmd-linux-x64. No signing step on Linux.

Helm does not add itself to your login items unless you ask. Starting Helm when you sign in, and the Windows Start Menu shortcut, are two switches in the Operate tab and both are off until you turn one on. Each writes a single per-user entry, a login item on macOS or a Run value on Windows, and nothing there runs as administrator. Linux has no login entry at all. This opt-in behavior landed after the 2026.7.25 build: the build these buttons download still writes both entries on its first run without asking, so uninstall with helmd uninstall if you want them gone.

2
Step 2 · Pair

The browser tab opens, already paired

The console or terminal window prints a line saying the hub is listening on 127.0.0.1:4173, plus a pairing URL carrying a one-time token. Within a second or two your default browser opens a new tab at that URL, already paired, with no token to type in. In the 2026.7.25 build this happened on every start; the 2026.8.4 release narrowed it to a genuine first run or an explicit reopen from the Start Menu shortcut, so a plain restart of the daemon, from a login item or from a terminal, no longer pops a tab of its own.

The pairing token lives only in that tab, on purpose: it never touches disk. Close the tab, restart the browser, or reload from a bookmark and you land on an unpaired screen with no token to offer. If you still have a working session open somewhere, another tab or another window, the Operate view has a "Get back in from another tab" card that mints a fresh pairing link on the spot; the link is a one-time nonce good for five minutes, so use it right away. If every session is already gone, that card is gone with it: relaunch Helm from the Start Menu shortcut instead, which triggers a fresh pairing tab.

helmd 127.0.0.1:4173 🔒 one-time token loopback only, never off the machine Browser tab paired, nothing to type

If no browser tab appears: the pairing URL is printed right there in the console window. Copy it and paste it into any browser yourself. That always works, even when the auto-open step doesn't. If the window closed instantly with no text at all, something failed before it could print anything; re-run it from a terminal (PowerShell on Windows, Terminal on macOS/Linux) rather than by double-click, so you can read the error instead of watching the window vanish.

3
Step 3 · Connect

Click Connect, approve one service and one scope

The consent screen shows exactly which service and which scope you are authorizing. No blanket permissions. The credential is held by the hub on your machine, and the hub refuses to reach any host outside the connector's declared allowlist.

Consent screen one service, one scope Credential held on your machine Your service allowlisted hosts only
4
Step 4 · Run

Pick a scenario pack and press Run

Helm ships compliance-scenario packs with sample data, including reg-reporting reconciliation, an EMIR field check, a sanctions pre-screen, trade letter-of-credit compliance, and crypto travel-rule batch conformance. Each step runs a deterministic kernel pinned by the digest of the kernel file itself, so the version that ran is not a label you have to trust.

Scenario pack sample data included Deterministic kernel pinned by file digest Step result signed, labeled
5
Step 5 · Journal

Every step appends to a chained journal

Each entry is written once, never edited, and carries a running hash over the entry before it. Because the sequence number is global rather than per stream, the chain also fixes each stream's position in the overall append order. Editing or reordering any entry breaks every hash after it.

entry n-1 entry n entry n+1 append only rhₙ = SHA-256(rhₙ₋₁ ‖ stream_id ‖ journal_seq ‖ entry_digest)
6
Step 6 · Seal

Periodic signed checkpoints over journal state

A checkpoint is a signed summary of where the journal stands, carrying a digest computed over the streams it covers. Signing is dual: an Ed25519 signature plus a post-quantum ML-DSA-44 co-signature. An unanchored checkpoint is still a complete, verifiable signed object.

Timestamping a checkpoint with an outside authority is a later addition and is off unless you turn it on. In the 2026.7.25 build no checkpoint reached a timestamp authority at all; the code that does it landed afterwards, and it stays opt-in because it is the one step that sends a hash off your machine.

Journal state running hashes Signed checkpoint Ed25519 + ML-DSA-44 opt-in Timestamp authority off by default
7
Step 7 · Verify

Export the bundle, check it offline

Export a run as an evidence bundle and open the Verify tab. It checks each object's signatures, confirms every entry's digest and trust label match the signed manifest, and re-checks each checkpoint's declared running-hash state for self-consistency. It reads the file from disk, so it works with no network connection. Every bundle also carries its own verifier page inside the archive, so a recipient who has never installed Helm can open the bundle and see the same result.

Evidence bundle verifier inside verify offline · no network ✓ signatures · ✓ digests and labels · ✓ running hashes ✗ tampered copy rejected

More ways to install, verify, and build

Verify your download

Every release ships a manifest of SHA-256 digests plus a dual-signed DSSE envelope. Download release-manifest.json and release-manifest.dsse.json from the same release, then confirm your file before you run it.

Windows (PowerShell)

Get-FileHash helmd-windows-x64.exe -Algorithm SHA256

macOS or Linux

shasum -a 256 helmd-macos-arm64

Compare the printed digest against the one in release-manifest.json. The DSSE envelope carries Ed25519 and ML-DSA-44 signatures over that manifest, so a tampered binary or a manifest signed by any other key fails the check. To check the envelope itself rather than by eye, run the repo's own verifier: node scripts/verify-release-manifest.mjs. The Verify tab in the app checks evidence bundles, not release manifests.

Build it yourself from source

The hub is plain ES-module JavaScript on Node, with no dependencies at all: no npm packages to fetch, no compiled native modules, no build step to run first. Journal storage uses the built-in node:sqlite module, which is why Node 22.5 or newer is required.

git clone https://github.com/PostOakLabs/ainumbers-helm
cd ainumbers-helm
npm run build:sea

That produces the same single-file helmd binary the releases ship. Full steps live in docs/INSTALL.md.

Prefer a package manager?

Any platform with Node 22.5 or newer

npm install -g @ainumbers/helm-cli

This one is published and works today. The install downloads the platform binary and checks its SHA-256 against a digest baked in from the signed release manifest, aborting on any mismatch.

Windows and macOS package manifests are written and generated on every release, but neither is published: winget install needs a manifest accepted into the community repository, and Homebrew needs a published tap. Until then, use the download buttons above or npm.

02 · What Helm is

Runs on your machine, not ours

The Helm hub is a small daemon you install. Its browser interface talks to it over a padlocked loopback link on your own computer, and the hub calls your services directly. Nothing routes through an AINumbers server, so there is no involuntary egress to a cloud you do not control.

Three terms, one ladder: a tool is one calculator. A workflow is a named composition of tool steps. A pack is a workflow packaged to run in Helm: the same deterministic steps plus a signed manifest, declared inputs, sample data, and any review gates. A pack adds deployability, not new logic.

A pack runs from two surfaces off one kernel. The hub runs it with a journal behind it. The 2026.8.2 build adds the second surface, helm check, which recomputes a single pack against a file you hand it from the command line, with no daemon running and nothing uploaded. The arithmetic is identical either way, because both routes dispatch the same pinned kernel rather than a reimplementation of it.

Browser UI helm.html 🔒 127.0.0.1 Local Hub helmd daemon your machine Your services Drive · webhooks · APIs AINumbers cloud no involuntary egress
03 · A run you can replay

Signed logs say what happened. Helm re-computes it.

Each run flows through a trigger, a connector fetch, a deterministic kernel, and an evidence bundle. The kernel is pinned by the digest of its own file, not by a version label, and its inputs and identity stamp into a hash. Feed the same inputs back through the same kernel and the same hash appears, so the recorded work can be reproduced on demand rather than taken on faith.

The same property is what lets a reviewer check somebody else's number. helm check <pack> <file> takes a JSON extract holding the inputs and, optionally, the figure the producer asserted. It recomputes the pack's kernel and reports whether the two agree. There is no prior run to look up and no daemon to start, so the file can come from a counterparty, an outsourced administrator, or a folder somebody emailed you.

The answer is an exit code, so the check belongs in a script rather than on a screen. Agreement and disagreement get separate codes, and a file that asserted nothing gets a third, so a silent pass can never be read as a check that passed. Four packs are registered: bordereau recompute, securitisation waterfall recompute, a securitisation Article 5 evidence record, and a government payment programme assurance record covering onboarding identity, migration completeness, and operator exit. The first two carry an asserted figure to disagree with. The other two each assemble a duty and evidence record rather than recomputing a figure against a report, so they are packs you can run but not targets you can check.

Trigger schedule / webhook Connector fetch Kernel pinned digest deterministic Evidence bundle signed inputs + kernel digest → abc123… REPLAY same inputs same kernel abc123… = abc123… ✓ hashes match helm check their file inputs + asserted no daemon, no upload same kernel exit 0 agrees exit 1 differs exit 2 nothing asserted
04 · Trust labels, not a green checkmark

Five precise labels, each with a boundary

A single "verified" badge hides more than it shows. Helm classifies every claim with exactly one of five labels, and each one states plainly what it does and does not assert. A connector reporting a value is not a statement that the value is true.

The labels do the same work for a one-shot helm check. A matching recomputation earns kernel_verified and nothing stronger: the pack's kernel reproduced the asserted figure from the inputs in that file. Whether those inputs described the world correctly is a separate question, and no label in Helm claims to answer it.

"verified" hash_verified kernel_verified connector_asserted human_attested external_ack_captured
hash_verifiedThe artifact is unchanged relative to its stated preimage. It does not claim the inputs were correct.
kernel_verifiedThe recorded deterministic kernel and version reproduced the recorded result from the recorded inputs.
connector_assertedAn authorized connector reported a payload at a time. There is no claim the data is true.
human_attestedAn identified authority reviewed, approved, or overrode a defined evidence package.
external_ack_capturedAn external service returned the stated reference or receipt. It does not certify acceptance.

The same discipline applies to a step Helm cannot execute in the browser. A pack containing one shows a banner naming it, placed outside the Present/Analyst toggle so it cannot be missed, and the catalog carries a matching count on that pack's card before you ever open it. Neither surface borrows the five labels above, and neither claims the unexecuted step was verified some other way.

05 · The journal and the anchor

Your journal, your machine, timestamped by authorities we do not control

Entries chain left to right with running-hash links, so the record shows completeness alongside membership. Alter one entry in the middle and every downstream link breaks. Checkpoints summarize journal state and are signed on their own; timestamping one with an outside authority over RFC 3161 or OpenTimestamps is a separate, optional act.

Anchoring is off by default and opt-in. The 2026.7.25 build never called an authority: the client existed, but nothing invoked it when a checkpoint was written. The wiring landed after that release and ships switched off, because it is the one step in Helm that sends a hash off your machine.

RFC 3161 TSA timestamp authority OpenTimestamps public ledger anchor opt-in, off by default entry 1 entry 2 entry 3 entry 4 checkpoint signed · running hash rhₙ = SHA-256(rhₙ₋₁ ‖ stream ‖ seq ‖ digest)
06 · Choose a starting point

Compliance-scenario packs, not an empty canvas

Helm opens on a gallery of pre-wired workflow packs, each with sample data and one Run button. Five ship today: reg-reporting reconciliation, an EMIR field check, a sanctions pre-screen, trade letter-of-credit compliance, and crypto travel-rule batch conformance. Each is deep-linkable, so a link opens straight into that pack.

Reg-reporting recon Match trade records against submitted regulatory reports. Run EMIR field check Validate a derivatives report against required fields. Run Sanctions pre-screen Screen a counterparty list before onboarding. Run
07 · Fits beside what you run
Landed after the 2026.7.25 release

A governed step inside the workflow you already have

Point your existing orchestrator, including Power Automate, at Helm with a webhook. It hands off one step, Helm runs it under governance, and returns the result with a reference to the evidence. The push route that receives that call is on the loopback interface, so the caller has to be something already running on your machine.

The inbound webhook connector was declared in the 2026.7.25 build but had no route behind it. The route landed afterwards, so this path is in the source and not in any released binary yet.

Your orchestrator scheduler, queue, or automation Helm governed, evidenced step webhook: run step result + evidence ref 📄
08 · Evidence anyone can check

Email it. Verify offline, with no network.

An evidence bundle is a self-contained archive. Drop it into a verifier and it checks signatures, running hashes, and anchors with zero network access. Signatures use Ed25519 alongside post-quantum ML-DSA-44. A tampered copy of the same bundle fails a verification row in plain view. The verifier itself ships inside every bundle, so a colleague can be emailed the archive, open it, and see the same checks with nothing to install.

A helm check run produces one of these too. Pass --out and the recomputation is written as a check-result bundle carrying the inputs, the kernel identity, the recomputed figure, and the asserted figure it was compared against. The reviewer keeps evidence of the check, not just a number they remember running, and the person whose file was checked can verify the same bundle offline without taking the reviewer's word for it.

A full bundle covers the whole journal, which is more than a counterparty needs to answer one question: did this particular run happen. Exporting a single run scopes the archive down to that run's sealed objects and the smallest checkpoint that already covers it, so the same signature and running-hash checks apply to a file that is smaller because it was asked a smaller question.

to a colleague verify offline · no network signature Ed25519 signature ML-DSA-44 (post-quantum) running hashes anchor proofs tampered twin: hash mismatch, rejected 📦 bundle
09 · Built for bank review

End-user-computing controls, not a workaround to flag

End-user-computing controls apply to any spreadsheet or script that touches a regulatory number. Helm produces the artifacts those controls call for: a one-click EUC-register entry per workflow, a per-kernel validation card for model-risk review under SR 11-7 or SS1/23, and an itemized network-behavior doc for egress allowlisting. The register entries and validation cards are generated on demand and downloadable as JSON or HTML.

EUC-register entry owner · kernel version + hash · controls last validated Kernel validation card formula · source version hash test vectors Called by an RPA tool PA invokes helmd, kernel runs, signed bundle comes back

The EUC-register entry and the kernel validation card are in the shipped 2026.7.25 build, alongside the network-behavior doc enumerating every request the app can make. The third chip, an RPA tool invoking Helm over a webhook, depends on the inbound route that landed after that release and is not in a released binary yet.

10 · If we are ever not around to ask

Your evidence outlives the vendor, by construction

Every evidence bundle carries a runnable verifier inside itself, and every check it performs, signatures, running hashes, anchor proofs, runs from that file alone. No server we operate is in the loop. That is not a commitment we are making about how long we will be around to keep it; it is a property of how the bundle is built. A bundle you already hold today stays checkable by anyone, on any machine, with nothing installed and no account to sign into, whether or not the people who built Helm are still reachable.

The journal it comes from lives on your machine too, as files on your own disk, not in a cloud we operate. There is no license check that phones out and no step in verification that depends on us continuing to run anything.

Where this maps

Reconstructable records, by design

The EU AI Act Article 12 record-keeping obligation asks that high-risk system activity be reconstructable over a period. Helm's journal carries the named fields that mapping needs, and its evidence bundles let an outside party rebuild what happened from signed records alone. The obligation applies from 2026-08-02.

Helm is in beta. The OCG Control Plane profile is drafted as SPEC section 26. Security contact: [email protected]