Autonomous
isn't unlimited.
AI agents work inside five of my apps, and none of them is me. Warden decides what each may do, holds anything that commits me until I say yes, records every decision with its reason, and can stop any of them in the real app.
- What it governs
- 24 agents · 5 of my apps
- What it decides
- Allowed · needs approval · blocked — with the reason
- Status
- My daily console · live demo on sample data
The queue: what my agents are waiting on.
It started as curiosity.
Agents were the part of AI I'd kept my distance from.
I was so scared of AI agents and felt it was out of my reach. But it's so fun.Me, on why I started
I set the principle
before the permissions.
An agent is not its owner. Its authority is designed around rules a person sets: by the task, how confidential it is, its impact, and how much attention to detail it needs. Anything out of scope or ambiguous comes back to the person. It acts on its own only where someone said it may, inside guardrails.
Its own keys, and nothing else.
Five gates,
always in the same order.
Every action passes five checks in a fixed order, and autonomy comes last, so trust can never widen what an agent may touch. The same engine is the decision point a live agent calls before it acts.
On whose authority? Every verdict says.
Two kinds of hold,
two kinds of answer.
A permission question takes a yes or no. A knowledge question needs the answer, so a knowledge hold takes mine, and can make it a standing rule.
Looking at a held transaction that only offered Approve and Deny:
What exactly am I approving?Me, in the console
An agent asks, I answer, my app acts.
Finance Chief's categorizer files transactions by my rules on its own. When one matches no rule, it holds it in Warden. I type what it is. Warden hands my answer back to Finance Chief, which files the transaction, writes the standing rule if I asked for one, and reports back in Warden.
A pause that stops
the real app.
Each app asks Warden before it acts and obeys the answer. Pause the chatbot on this portfolio in Warden and it stops answering within seconds; pause a Finance Chief agent and the real app stops too.
And it watches.
It also measures AI spend per agent, first-party visitor analytics with no trackers, and uptime. The view I'm proudest of: what visitors actually ask the chatbot.
Then I made
every agent real.
I checked every agent against Warden's own records, and made the last placeholder real. Every agent in the roster now belongs to a real app; only the public demo runs on labeled sample data.
Reviewing the roster, after the audit:
All the simulated ones are gone, right? If not, let's make them real.Me, to the AI builder
A console you read
at a glance.
I rebuilt the design system around one rule: colour means a verdict and nothing else. Ink on a warm off-white, no borders, no shadows, and a queue grouped under its verdict.
What I asked the redesign for:
I don't like rows. I like tiles. I like brief descriptions. I like clear buttons.Me, to the AI builder
First deployed
the day I started it.
First deployed the day I started it. The public version is a live demo on labeled sample data.
Watching isn't
the same as deciding.
How much authority is enough.
Still in progressThe right amount of authority
I'm still working out how much authority each agent should have — what it should do, and what it shouldn't — and how Warden should tell me when something needs me.
What it left behindA way of building
Set the principle before the permissions. Give every agent its own keys. Check trust last. Match the control to the question. Make the off switch reach the real app. Record who decided, and why.