A walkthrough of every setting in the Spend Controls Configurator: what each limit does, how safety rails interact, how the approval workflow generates infrastructure, and what to do with the exported policy and Terraform output.
An agent that can execute payments without limits is a significant operational risk. A single software bug, misconfigured retry loop, or malicious prompt injection could drain funds before any engineer notices. The Spend Controls Configurator generates the configuration and infrastructure that caps what an agent can spend — and stops it automatically when limits are hit.
The tool addresses Agent Safety Layer 6 — the financial guardrails layer in a defence-in-depth architecture. Other layers handle identity (Layer 1), network segmentation (Layer 2), idempotency (Layer 3), and observability (Layer 5). This layer ensures that even if all other controls fail, there is a hard financial ceiling on what an agent can execute autonomously.
The output is a policy JSON document plus Terraform HCL that creates the DynamoDB spend counters, CloudWatch alarms, and Step Functions approval workflow your agent needs at runtime.
frozen flag on the agent's DynamoDB record. Your agent must check this flag before each execution. A frozen agent requires manual intervention to re-enable — it will not auto-unfreeze.waitForTaskToken pause), Human Review (SNS notification to a reviewer), or Dual Auth (two independent approvers required). The Terraform output changes significantly based on this choice.SSM Parameter Store or a DynamoDB config table. Your agent reads it at startup and validates each transaction against it before execution..tf file in your infrastructure repo. Definevar.approval_lambda_arn pointing to your approval handler. Run terraform init && terraform apply — this creates the DynamoDB table, CloudWatch alarms, and Step Functions state machine.A common configuration mistake is setting a daily limit that cannot be reached in practice because the per-transaction limit is already so low. For example: a £500 per-transaction limit with a £200 daily limit — every transaction would be blocked after the first one. The live summary helps you spot these misconfigurations before generating output.