theangels.ai

An Angel guards one person.

Not a team, not a tenant, not an account. One person, one box, one set of keys — so that a mistake on someone else's Angel cannot reach yours.

It is the same category as the general super agents: something that reaches into your mail, your files, your money and your legal work and does the tedious parts. It is built inverted. Where they publish what an agent can do, every capability here publishes what it will not do — and that refusal is compiled into the tool, not written in a policy document.

We build Angels for people whose requirements are strict — doctors, lawyers, accountants — and for our own families. That is the whole market we want.

Today an Angel is run by us, for you, from a terminal. There is no app yet. Our own family cannot use one without one of us sitting beside them.

The proof we lead with

The same operator key is classified as authorized on one family's box and as a cross-network violation on a doctor's — and a box that handles patient data is floored to the stricter network, so a label can raise its isolation but never lower it.

29boxes under this control modelangel-guardian/access.json
3separate credential networksangel-guardian/access.json
passlocal inference, measured by generation not by a pingbin/local-tier-canary.mjs

Control model at this build: Phase1-shared-hetzner. That is a shared-host phase, not dedicated hardware per person, and the sentence above describes how keys are classified — not what metal they sit on.angel-guardian/access.json

What it refuses

Each of these was checked against the code that enforces it before this page was built. A sentence whose proof stops passing does not get softened here — it stops rendering.

Admin writes are gated: every mutating path requires an explicit confirm and a passing local delegation preflight before it is allowed to run.

Alerts the system sends to its owner ride a dedicated path with a fail-closed recipient allowlist — an unset allowlist refuses every send rather than defaulting open.

A box that would hold patient data is refused at provisioning time unless its posture is declared and proven, and a plan to become compliant is treated as not compliant.

The legal filing gate has no success value. Its best possible answer is “attorney review required” — there is no input that makes it say a draft is ready to file. Three probe drafts, including one built on a case we invented, all came back BLOCKED.

47servers pinned for supply-chain reviewMCP-MANIFEST.json
5wired on the host that generated this page~/.claude.json

A pin is a supply-chain record, not a capability count. These numbers describe different things and are printed separately on purpose.

What we have not proven

This section is generated, permanent, and the reason to believe anything above it. If you know of another agent that publishes its own, send it and we will link it here.

0 of 6capabilities proven end-to-endbin/capability-ledger.mjs list

works-e2e is mintable only by running a real proof and observing exit 0. It is not declarable.

And here is what that gate cannot do for you today. Our California legal corpus holds 1,112 jury instructions, 1,014 court rules, 55 statutes — and 0 judicial opinions. Not a thin caselaw library: an empty one. The gate parses the cases in your draft and then tells you, per citation, that it could not confirm a single one. That is the honest answer and it is not yet a useful one. Until a caselaw corpus is loaded, no lawyer should read this tool's silence about a case as agreement that the case exists.

Until one capability is green end-to-end, treat this as a public engineering record rather than a finished product. We would rather you read that here than discover it later.