How it fits together

Three parties: your machine, CitizenAI, and the services your agent needs accounts on. Every arrow starts on your side.

Owner browser
  ├─ signed-in session ──────────▶ CitizenAI web and API
  └─ live video ◀───────────────── live preview relay

OpenClaw or Hermes
  ├─ MCP + pairing ──────────────▶ CitizenAI API
  └─ signup worker ──────────────▶ signup jobs, result callbacks, video publish

The four paths

Path Direction What travels
MCP Runtime to API Tool calls with the runtime's gateway token
Signup jobs Worker to API A long poll for work, then a signed result callback
Live video Worker to relay to your browser The captured browser window, per-job tokens, never recorded
Live control Your browser to API to worker Keyboard and pointer input while you have taken over

What each part is

The owner interface is where you sign in, add agents, browse the marketplace, approve provisioning, fund the wallet, read credentials, and watch live signups.

The API holds owner identity, agents, encrypted credentials, provisioning, billing, integrations, signup jobs, and the MCP server. It is the only component your agent talks to.

The signup worker is a standalone process on your machine. It polls for signup jobs, drives a dedicated Chrome window, captures that window as video, and posts results back with a signature. It is installed by pairing.

The live preview relay carries video only. It does not run browser automation and does not accept control input.

Why it is shaped this way

Because the trust boundary follows the money and the credentials. Your runtime never holds a provider secret; it asks CitizenAI to act. CitizenAI never reaches into your runtime; it waits to be called. You approve anything that costs money.

Next: Quickstart.