KELVINCodeby entropy
click to cross the forms

FEATURES

Kelvin Code features: from entropy to proof.

The code never leaves the machine of the person presenting. What crosses the network is the proof: the captures, the step by step of the run and the verdict.

Today, on your Mac: an iOS simulator capsule with no VM

Kelvin 0.0.3, free and with no account. Sign-in and privacy in the FAQ

Disposable capsule

A fresh simulator device per session, made by cloning and thrown away at the end. No simulator window ever opens, only Kelvin's. We measured 3.3 s to clone and 16.1 s until the capsule is usable.

Your agent driving the app

The app is an MCP server: Claude, Codex or Cursor connect and start tapping, swiping, typing, installing, launching and capturing the screen — 18 actions, with you watching every one.

A session sealed on the machine

Every checkpoint goes into a package with a SHA-256 hash per file, and replay runs on a fresh capsule. Publishing a report takes human approval bound to those exact bytes: if they change, the approval falls.

What you need to have

requirementwhy
macOS 14 or newer, Apple SiliconIt is where Kelvin runs.
XcodeThe iOS runtimes come from it — Kelvin uses them, it does not replace them.
macOS 15 and idb-companion, via HomebrewFor touching the screen, typing and streaming the session. It is not in the DMG: install it once, before the first session.

Sealed proof of a run: what has already happened in production

Kelvin Code Cloud, in closed alpha, by invitation.

A sealed package from a real run

A run seals a package with the captures, the step by step and the verdict — 26 objects, each checked against the hash the run declared. An entry only counts as received once it matches.

exercised in production

A verdict that points at the broken screen

In a real run the home screen scored 0.999983 and checkout dropped to 0.568276. The run finished whole, with a failing verdict only where there was a failure: running and concluding are separate axes.

exercised in production

A live session in someone else's browser

The simulator on your Mac crosses the cloud and shows up in the browser of the person you called. One real session ran 28 min 51 s; in another, 251 inputs were accepted, with control moving from the agent to the person after the current action finished.

exercised in production
=

A named invitation by e-mail

Someone who can already read the proof of a run invites one person by e-mail, with a seven-day window and revocation at any time. Anyone not invited gets “not found”, never “not allowed”.

exercised in production
<>

The guest leaves no address behind

The e-mail of the person you invite is never stored — only a hash of it. The system cannot even answer whether a person is a member.

exercised in production
{}

Your Mac in the fleet, with no open port

The Mac you enrol identifies itself with a key anchored in hardware, and the connection is outbound only: Kelvin opens no inbound port on your machine.

exercised in production

The numbers we measured in production

measurevalue
Objects in a sealed package26
Size of one package201,743 – 203,778 B
Run end to end142.4 s – 174.0 s
Similarity: intact screen / broken screen0.999983 / 0.568276
Length of a live session28 min 51 s
Inputs accepted in one session251
Window of an invitation7 days
Actions published by the remote connector15
Green tests1,873

Measured on real runs. What we did not measure is not in this table. Every version of the app shows up in the changelog.

What the seal proves

These bytes are these bytes.
Every file in the package is checked against the hash the run declared on close. Swapping, trimming or rewriting any part afterwards changes the hash and shows up in the check — the proof you read is the one the machine sealed.
What goes up is proof, not video.
What leaves your Mac is the captures, the step by step of the run and the hashes. There is no video recording in that path, and the dashboard has no player to draw.
Publishing is a human decision.
A report only goes out after a person approves those exact bytes. If they change, the approval falls with them and has to be given again.

What leaves your machine, and where it goes, is in the privacy policy.

Connecting Kelvin to Claude over MCP

Kelvin's remote connector lives at a single address, and adding it takes two steps: copy the URL and paste it into Claude's connector settings. The button does both.

MCP server addresshttps://mcp.kelvincode.com/mcp

  1. Press the button: the URL goes to your clipboard and Claude's connector settings open in another tab.
  2. Under “Add custom connector”, paste the URL and confirm.
  3. Authenticate and pick the scopes. Consent is per scope, and you can revoke it later.

Copy the URL and open Claude's connectors

The agent signs in against your own membership: what it can do in a room is what you can do, never more. Reading can be granted quietly; anything that writes takes a consent you gave on screen.

Claude is a trademark of Anthropic. Kelvin Code is not affiliated with Anthropic and is not endorsed by it.

Start with what is already cold

The local core runs on your Mac, free and with no account. Kelvin Code Cloud is in closed alpha: access is by named invitation.

Download Kelvin for macOS