Approvals
Han AI executes a great deal autonomously, but anything that costs money, contacts a third party, or touches data outside your workspace pauses for your approval. You respond in the same Telegram chat.
What requires approval by default
| Category | Examples |
|---|---|
| Sending email on your behalf | Outbound messages via the email capability. |
| Spending or committing money | Any action that incurs a charge through your accounts. |
| Contacting a third party | Anything that puts a message in front of someone outside your workspace. |
| Changes to your captured profile | Material edits to the structured profile in Airtable. |
What does not require approval
| Category | Why |
|---|---|
| Reading, searching, summarising | No external side effect. |
| Generating documents and PDFs | The output stays in your chat until you choose what to do with it. |
| Recurring jobs you scheduled | You already approved the schedule when you set it up. |
| Internal recall and analysis | Operates only over data already on your VPS. |
How an approval prompt looks
The bot describes what it wants to do, why, and asks for confirmation. You reply with a natural-language yes or no. Specific changes are welcome — “yes, but change the subject line” is a valid answer.
Widening or narrowing the boundary
Tell the AI COO directly. Examples:
- “From now on, you can send emails to anyone on my staff list without asking.”
- “Always ask me before scheduling anything that hits an external API.”
- “Tighten everything back to default.”
The boundary update is logged to your conversation history and applied on the next turn.
TODO: confirm where approval-policy state is persisted on the VPS once that ships.
Telegram-side: nothing to install
There are no custom buttons or inline keyboards required. Approvals happen in plain text in your normal chat thread.
Next
- Live mode — how the daily loop works.
- Pausing — fully stop activity.
- Dashboard views — watch what’s happening on the VPS.