Spawnly
The problem
AI agents increasingly spawn other agents and call protected services on a user’s behalf. A static API key can’t express which agent is acting, for whom, or with what authority — and it doesn’t attenuate as work is handed down a delegation chain. Spawnly is a working answer: every agent is a first-class workload with a cryptographic identity, and authority flows — and is revoked — along the chain.
It’s a proof-of-concept platform, built to make these ideas concrete and runnable, not a product. Agents can be short-lived (do one job and exit) or long-lived (serve until deleted, including chat).
What it demonstrates
Per-pod workload identity → scoped tokens
Every agent gets a unique SPIFFE JWT-SVID from SPIRE at startup — no shared secrets — and a sidecar exchanges it for scoped OAuth tokens, so agent code carries zero identity plumbing.
Human-in-the-loop spawn consent
Sub-agent spawning can be gated on user approval via OpenID CIBA, with stored consent and auto-approval on repeats.
Delegated, attenuated authority
Parent → child agent chains, with per-template delegation policy that narrows authority as work is handed down.
Defining policy →Real-time revocation cascade
Revoke an agent and its entire descendant subtree loses authority within seconds; pods stay up, their next call returns 403. Reversible.
See it in action →Relationship-based authorisation
SpiceDB relations written at registration and checked by protected APIs; tenanted and global agents on one code path.
Full lifecycle observability
Every component emits structured events into an append-only, per-agent timeline.
Run it yourself
Everything runs locally on a Kind cluster — no cloud account required.
Fastest — Claude Code plugin
/spawnly:up # bring the platform up on a local Kind cluster /spawnly:demo # guided tour: spawn, chains, consent, revocation
Install the plugin from the repository's PLUGIN.md.
Manual
make bootstrap
Same result, straight from the repository Makefile.
Go deeper
Build an agent
A from-scratch path: the platform contract, then three worked agents.
Reference
Templates and policy, field by field, plus the chat contract.