Bring your own key (BYOK). The visitor pastes their own OpenAI key into the
notebook. It’s their key, in their own throwaway container (one visitor per
container, destroyed after idle) — so no provider key is ever exposed, and
there’s no LLM gateway to operate.
What a visitor does
Open the notebook
The landing page is a marimo notebook. Paste your
OpenAI API key (stays in the container, never logged).
Edit the agent, Apply & reload
Define your tools (
@tool) and the agent (create_agent(...)) as real
Python in the cells, then click Apply & reload. The notebook runs the
serve loop in-kernel bound to that live agent object; the change flows
into the Playground automatically.Open the Playground and chat
Click Open the live playground — it opens the dashboard in a new tab,
already signed in. Send a message and watch reasoning, tool calls, and
policy decisions (allow / deny / approval) stream live. Edit the policy
in the Policies tab and the next message picks it up — no restart.
How it fits together
The demo rides hexgate’s normal relay design — the serve loop dials out to the platform, so a hosted container just replaces “the developer’s laptop”:hexgate serve logic you’d run locally — just bundled into one
container with auto-seeding and auto-login.
Run it in your browser (GitHub Codespaces)
The repo ships a devcontainer, so anyone can launch the full demo — notebook + dashboard, their own isolated container — in one click:Run it locally
http://localhost:2718, paste your key, Apply & start, then open the
Playground.
make demo-notebook sets HEXGATE_COOKIE_SECURE=0 for local HTTP — the browser
drops a Secure cookie over plain HTTP (it’s 1 over HTTPS, e.g. Codespaces).