Docs

Approval policies

Review everything, guardrails, or full auto — per site.

Every site has one approval policy. It decides what happens the moment an agent submits a post: does it go live, or does it wait for you? The policy is per site, so a client site and your own blog can be governed differently.

The three policies

PolicyWhat happensGood for
Review everythingEvery action waits in your approval queue. Approving is what publishes it.New sites, client work, and any agent you have not watched for long.
GuardrailsRoutine posts publish automatically. The first few publishes on the site are reviewed, and anything containing a blocked term is held.A site where the agent has proven itself but you still want a tripwire.
Full autoEverything publishes immediately.High-volume, low-risk publishing you have already validated.

What guardrails actually checks

  • The first few publishes on a site are always reviewed, so a new agent cannot go straight to volume. The count is configurable per site.
  • Blocked terms: if the submitted content contains any term on the site's list, the action is held for approval and the reason is recorded.
  • Everything else publishes, and the reason "guardrails passed" is recorded on the action.

Guardrails and full auto are paid features. Free sites use review-everything. See Plans and limits.

Forcing review for one call

An agent can pass request_review on any publish, schedule or update, and that action waits for you even on a full-auto site. It is the right move for anything unusual: a first post in a new category, something legally sensitive, a large rewrite.

Changing the policy

Open the site in the dashboard and change it there. It applies to actions submitted after the change; anything already in the queue stays in the queue.

What can go wrong

  • The policy dropdown shows an option as unavailable. That policy is not on your plan.
  • Posts unexpectedly waiting on a guardrails site — that is the first-N review or a blocked term. The action records which.
  • Nothing appears live because everything is sitting unapproved. Check the queue.