Stage0
Reference ScenariosFintech approvals

Reference Scenario: Fintech approvals and payout control

This is a representative implementation pattern for teams that need runtime authorization before money movement, sensitive account changes, or outbound communication.

Scenario focus

The goal is not to let Stage0 execute financial actions. The goal is to place a clear authorization boundary between agent intent and the actual payout, data change, or external notification path.

Risk areas to gate first

Money movement

Payout requests, refunds, or balance adjustments should not execute on model output alone.

Require approval evidence and preserve the approving identity with the Stage0 decision record.

Sensitive account actions

Customer account edits often need role checks and a clear reason before any write path opens.

Send `actor_role`, `approval_status`, and business constraints into `/check` before tool execution.

External notifications

Even a correct internal action can become a real incident if an agent messages the wrong party too early.

Use `DEFER` to route risky external messaging into human review instead of silent execution.

Suggested rollout

1. Wrap the risky tools

Put Stage0 in front of payouts, account-update tools, and external notification handlers.

2. Add approval context

Pass `approval_status`, `approved_by`, `approved_at`, and `actor_role` in `context` for every high-risk request.

3. Enforce final execution server-side

Treat `verdict` as the gate and keep the actual side effect behind your own service boundary.

4. Review blocked and deferred runs

Use the audit trail to see which cases are under-specified, over-permissive, or missing approval flow design.

Representative `/check` payload

{
  "goal": "Release a manual payout and notify finance",
  "tools": ["payments_api", "internal_db", "email"],
  "side_effects": ["money movement", "external notification"],
  "constraints": [
    "approval required",
    "required_role:risk_ops",
    "allowed_environment:production",
    "max_cost_usd:2"
  ],
  "context": {
    "actor_role": "risk_ops",
    "approval_status": "approved",
    "approved_by": "[email protected]",
    "approved_at": "2026-03-14T09:30:00Z",
    "environment": "production",
    "run_id": "run_fintech_001"
  },
  "pro": true
}

What this scenario should prove

Your operators should be able to answer who approved the action, what policy version allowed it, which environment it targeted, and why the final runtime decided to continue.