Join the waitlist
Browse the docs

Approvals

Last updated 10 September 2026

Ghillie asks before anything that counts. The line between reading and acting is set by policy, enforced by Ghillie, and never left to the model.


The rule

Reading is free. Acting on the outside world is not. Any step that sends a message to another person, spends money, or deletes or changes something real requires an enforced approval before it happens. "Enforced" means the tool call is held by Ghillie until you say yes, not that the model has been asked nicely to check first.

What you see

An approval is an exact-effect preview: which Power, which arguments, which messages or records it will touch. If a step's arguments came from an earlier step, they are shown already resolved, so you are approving the thing that will actually run. You confirm or deny.

WhereHow
Mac appInbox lists every pending review. Open it, read the effect, confirm or deny.
Telegram/approvals reopens every pending review with confirm and deny buttons.
Microsoft TeamsNot yet. Teams can start work; approvals stay in the Mac app.
Project boardWaiting work sits in Needs input. The board shows it; it cannot approve it.

What cannot happen

  • A model cannot expand its own tool or filesystem scope. It works inside the lease it was given.
  • A board action cannot approve, start, complete or cancel a run.
  • Turning a Power on is not an approval of anything it might later do.
  • An approval covers the exact effect shown. A different argument is a different approval.

Tests are held to the same line

When you are drafting a new Power, its read tests run straight away, but a consequential test exposes its full effect plan and waits for you, exactly as a live run would.