SnapFlow Docs

Why this page exists

SnapFlow never leaves your infrastructure to chance: two systems work together to decide what the swarm can do on its own and what it must ask you about first. Your permission mode sets the default level of autonomy for the whole agency; individual approvals are the moments — inside a mission, in Triage, or from a shared link — where SnapFlow actually stops and asks. This page explains both.

The four permission modes

Set from the pill button on the left of the top bar (only agency founders can change it — everyone else sees it read-only). It forms a ladder from strictest to loosest:

ModeWhat runs unattended, and what still stops for you
Plan onlyAgents investigate and propose only. Nothing is created, changed, or deleted — every step that would modify anything is automatically rerouted to a read-only analysis instead. Nothing further needs your approval, because nothing runs.
Guarded (default)Reads and non-destructive writes run without asking. Creating new cloud resources ("provisioning") and any destructive action still require your approval.
AutonomousReads, writes, and provisioning all run without asking. Destructive actions, renaming, and permission/IAM changes still require your approval.
UnattendedEverything runs without stopping — the most hands-off mode. The critical floor below still applies; nothing can turn it off.
top bar → permission mode pill
S /acme-devops
Guarded
⌘K Search or type / for commands…
🕐
🔔
A
Plan only Agents investigate and propose. Nothing is created, changed, or deleted. ↳ Nothing — every mutating step is read-only.
Guarded ACTIVE Reads and non-destructive writes run unattended. ↳ New resources and destructive actions.
Autonomous Reads, writes, and provisioning run unattended. ↳ Destructive, renaming, and permission changes.
Unattended Everything runs without stopping. ↳ Deletes, renames, IAM changes, production.
Deletes, moves/renames, permission changes, and production always require approval — in every mode.
◐ Recreated illustration — The permission-mode dropdown, open, showing all four options and their descriptions.

The critical floor — what no mode can turn off

These always pause for a human, in every mode

Deleting or tearing down resources, moving or renaming things, permission/IAM changes, and anything targeting a production environment. Even in Unattended mode, SnapFlow stops and asks first. A footer note under the mode dropdown always reminds you of this.

SnapFlow can also automatically tighten your mode for a specific mission — for example, if the target environment is marked production, the effective mode is capped at Guarded even if your agency-wide setting is looser. When this happens, the Pre-Flight Manifest shows a note explaining why (e.g. "Clamped to Guarded: the target environment is production.").

If you remember the old Read-Only / Write-Enabled toggle

SnapFlow used to have a simpler two-state toggle. It's been replaced by the four-mode ladder above — "Read-Only" maps to Plan only, and "Write-Enabled" maps to Guarded.

Where you'll actually be asked to approve something

An "approval" is a specific decision on a specific proposed action. You'll encounter it in four places:

1. The Pre-Flight Manifest

Every request goes through this confirmation screen before it starts. See Mission Control → The Pre-Flight Manifest for the full breakdown of its chips, verdict banner, and checklist.

2. Inside a running mission

If a step is gated, the mission pauses and shows a Gate Evidence card — the action, target environment, why it was gated, affected resources, and a rollback plan — with Approve and Reject & stop mission buttons, each behind a confirm step. See Mission Control → When a mission needs your approval.

3. The Triage queue

Every pending approval across your whole agency also lands in Triage & Gates → Queue, sorted by urgency, alongside incidents. Opening one shows the same plan viewer and Approve/Reject buttons, plus a "Share as mobile link" option — see below. Full detail: Triage & Gates → Queue.

4. A one-time mobile link — no login required

/approve/[token]
Terraform
+ aws_elasticache_cluster.staging
+ aws_security_group.redis_sg
2 to add, 0 to change, 0 to destroy
◐ Recreated illustration — The mobile approval page, reached via a shared one-time link.

From Triage, click "Share as mobile link" on any approval to mint a one-time link — SnapFlow shows it as: "One-time link — expires in 1h, works without logging in." Anyone with that link (for example, on your phone) can open it and see:

The link itself is the authorization

This page sits outside the normal signed-in app on purpose — possessing a valid, unexpired, unused link is enough to act on it. That's why it expires after an hour and can only ever be used once.