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.
BetaBeta means expect rough edges in the interface; the evidence and verification math underneath is the tested core.
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.
After installing, Helm opens your dashboard itself. This jumps straight to the install steps below.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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]