01Budget caps at the tenant and session level
Hard limits enforced before a call goes out, not reported after — a session or a tenant simply can't exceed the cap it was configured with.
A recursive retrieval loop, a misconfigured integration, one tenant's bad session — any of these can turn into a bill nobody authorized before anyone notices. Budget caps and PII masking need to be enforced controls, not policies written down and hoped for.
A tenant's containment dashboard: budget spent against a hard cap, PII fields masked this month, and a circuit breaker that halted a recursive tool-call loop automatically at $6.40 against a $10 session cap.
Nobody notices a runaway agent loop until the monthly bill arrives with a number that doesn't match anything anyone remembers authorizing.
A single misconfigured integration or a recursive retrieval loop from one customer can burn through shared budget meant for everyone else, with nothing stopping the blast radius at the tenant boundary.
There's a written rule that says sensitive fields should be masked before they reach the model. Whether that actually happens on every call depends on every engineer remembering to implement it correctly, every time.
By the time the alert lands, the money is already spent. A notification isn't a control — it's a postmortem with the incident already priced in.
A prompt-level instruction to "avoid excessive retries" is exactly as reliable as any other prompt-level instruction — which is to say, not reliable enough to bet a budget on.
Running another model to catch what the first one might expose adds latency and cost to every single request, and it's still a probabilistic check on something that needs to be deterministic.
A runaway loop can spend a month's budget in an afternoon. Weekly review catches it after the damage, at a cadence built for slow drift, not sudden spikes.
Hard limits enforced before a call goes out, not reported after — a session or a tenant simply can't exceed the cap it was configured with.
A session that exceeds a call-rate or spend threshold gets halted automatically — a hard rule, not a soft suggestion the model can talk itself out of.
Regex-based masking for known sensitive patterns runs deterministically before content reaches the model — not a policy someone has to remember to apply.
Spend, masking counts, and blocked calls are visible in real time against enforced caps — not a summary of what already happened uncontrolled.
A recursive loop gets halted at the configured cap automatically — the mock above shows a session stopped at $6.40 against a $10 limit, not $600 against nothing.
The same deterministic rule runs on every call for every tenant — there's no code path where an engineer forgot to wire it in for one integration.
One tenant's misbehaving session can't consume budget or trigger effects outside its own scope — the cap is per-tenant by construction.