Quick look
The demo is the whole Vaubaan Gateway interface running on your laptop, with a simulated identity provider and simulated services: nothing to register, and nothing leaves your machine.
Run it
Needs Node.js 20 or later and npm 10, and Chrome or Firefox (Safari refuses the session cookie on http://localhost).
git clone https://github.com/vaubaan/gateway.git
cd gateway
npm ci
npm run demo
The last command builds the application on the first start (and again only when the sources changed), then prints the URL, http://localhost:3210, three people to sign in as without a password, the keys of seeded missions as export lines, and ready-made curl commands. Ctrl-C stops it and deletes its data; every run starts from the same seeded state.
| Variable | Effect |
|---|---|
DEMO_PORT=4000 | listen on another port (default 3210) |
DEMO_KEEP=1 | keep the database file and the log on exit, and say where they are |
DEMO_SKIP_BUILD=1 | serve the build already there, whatever it was built from |
The listener is bound to 127.0.0.1. To open it from another machine, forward the port and keep the URL http://localhost:3210: ssh -L 3210:localhost:3210 your-host.
The people
| Person | Who |
|---|---|
| Alice | owns accounts and administers the demo: missions in every state, two requests waiting for her |
| Bob | a teammate: an account Alice gave him access to, a mission of his own, a mission of Alice's he works on |
| Carol | in the team "GitHub admins", which owns a GitHub account; her own Stripe account |
A tour
- Sign in as Alice. Missions lists seeded missions running, waiting for her, expired, stopped, and one prepared by an agent.
- Read what a service allows: Reference, then GitHub — its permissions compared across its presets, with "why?" behind each severity.
- Create a mission: Missions, then New mission. Pick an account and a preset; "Edit the permissions one by one" shows every permission with its limits and "ask me first".
- Read what follows the creation: the key, shown once, then the kit — the MCP client configuration, the instructions for the agent, a
curlto check it. - Reach a limit: the mission "Tour: a small limit to reach" allows three file reads; the printed loop reads four times and the last answer is
budget-exhaustedwith a link where Alice gives more. - Approve an action: "Waiting for you" shows a merge waiting for a yes, with its arguments; approve it, then replay the printed
curl. - Activity: every call and every change, with filters by mission, account, decision, key holder and agent.
The command prints the full tour with this run's values. More: the demo handbook.
The demo is a development tool, never an instance. Anybody who reaches it signs in as anybody, without a password; it refuses to start in a production environment and is not in the image. To run the gateway for real, install an instance.