>_

SpendSignoff documentation

The always-on operator for your ad accounts. Read and draft from your AI client — approve before anything goes live.

Start here

Concepts

Five objects make up the SpendSignoff model: the draft, the approval queue, the autonomy loop, the daily envelope, and the audit log. Understand these and the whole product follows.

Drafts

The unit of proposed change.

A draft is a proposed change to your ad account, never a pending action. It carries a before → after field diff and a projected dollar impact, so you approve the outcome — not a vague suggestion. This is the same object the queue, the audit log, and the landing page all render.

Change loopDraft+$1,240 / mo projected
Daily budget — “Brand · Search”$120$320
Daily budget — “Display · Retarget”$200$0

The approval queue

Where money-moving changes wait for you.

Every draft lands in the approval queue. You review the diff, then run the two-step Approve & push live → Confirm control. There is no one-click spend anywhere in SpendSignoff — the arm/confirm step is deliberate by design.

  • Approve applies the diff to the live account and writes an audit entry.
  • Reject discards the draft; the operator learns from it.
  • Stale drafts (data moved underneath them) must be re-armed before they can apply.
Your AI can read and draft — it can never spend without your approval.

The autonomy loop

Always-on, propose-only.

The loop runs continuously: it reads your accounts, finds drift and opportunity, and drafts changes via propose_change. In V1 the loop only ever proposes — it does not apply. The operator works while you sleep; the spend decision stays with you.

Origins

Drafts are tagged by where they came from — the autonomy loop, your AI chat, or an anomaly detector — so you always know why a change is in front of you.

The 24h envelope

A true daily ceiling, not a suggestion.

The envelope is a hard cap on how much net spend change your approvals can push live in any rolling 24-hour window. It is enforced server-side as a real ceiling: once the day's envelope is consumed, further approvals are blocked until the window rolls — not warned about, blocked.

Why a ceiling and not an alert

A budget alert you can click past is not a safety control. The envelope is enforced as policy, so a bad day — or a runaway loop — can never cascade into runaway spend.

Audit & rollback

Every applied change is reversible.

Each approval writes an immutable, signed audit entry: who approved it, the exact diff, and the projected vs. realized impact. Any applied change can be rolled back in one click, restoring the prior values from the recorded before-state.

Next

MCP tools

The read tools and the propose_change draft surface — mcp.read + mcp.draft only.

    Concepts — SpendSignoff Docs