checklist

AI chatbot abuse monitoring and rate-limit checklist for small teams

A practical checklist for detecting chatbot abuse, setting quotas and rate limits, controlling inference cost, protecting availability, and recovering safely when usage spikes.

Audience: Founders, product owners, engineering owners, support leads, security owners, and platform owners operating AI chatbots Risk: High Evidence: OWASP LLM10:2025 Unbounded Consumption, OWASP LLM01:2025 Prompt Injection, OWASP LLM06:2025 Excessive Agency, NIST AI RMF Core and Manage Playbook, CISA secure AI system development guidance, and Cybergiz chatbot operations templates

Use this checklist when an AI chatbot can consume model or retrieval capacity, call tools, create support load, or affect a shared service. It is for defensive operations, not an attack recipe.

The short answer: measure usage by identity, tenant, endpoint, source, and action; define team-owned quotas and rate-limit thresholds; cap input, output, retries, concurrency, queue depth, and tool calls; alert on bursts and cost or error anomalies; then test a staged pause and fallback path before a spike happens. Do not rely on IP address alone, because authenticated users, shared networks, automation, and tenant-level abuse can all bypass an IP-only view.

Start with the AI Tool Risk Checker and attach its result to the abuse-control record. Use the Small Team AI Security Checklist for baseline identity, data, logging, and incident controls. For adjacent risks, pair this page with the AI chatbot prompt injection response checklist and the AI chatbot output validation checklist.

Bottom line

An AI chatbot is ready for normal production traffic only when the team can answer these questions:

  1. Which identities, tenants, sessions, API keys, endpoints, tools, and upstream sources consume capacity?
  2. Which limits apply to anonymous, authenticated, internal, partner, and automated traffic?
  3. What happens when a limit is reached: queue, slow down, refuse, route to a cheaper model, or hand off?
  4. Which signals distinguish a busy but legitimate customer from abuse, automation, prompt flooding, or a compromised account?
  5. How are inference cost, provider quota, latency, queue depth, and error rates protected together?
  6. Who can pause a route, revoke an identity, disable a tool, or restore service, and what evidence is preserved?

The goal is a bounded and observable service. OWASP describes unbounded consumption as a risk that can cause denial of service, unexpected cost, model degradation, or model theft. Controls should combine input validation, rate limiting and user quotas, timeouts, throttling, logging, anomaly detection, graceful degradation, and limits on queued or total actions. The exact numbers belong to the service owner and risk tolerance; the tables below intentionally use team-defined thresholds rather than universal defaults.

This checklist is operational guidance, not legal advice, a compliance certification, or a guarantee that a chatbot cannot be abused.

When to use this checklist

Situation or changeUse this checklist?Minimum review
New public chatbot or anonymous trialYesIdentity, burst, cost, queue, and fallback controls before launch.
New authenticated customer or tenant routeYesAccount and tenant quotas, authorization, noisy-neighbor protection, and audit fields.
New model, provider, retrieval source, or context windowYesInput/output budgets, provider limits, cost scenario, and regression tests.
New tool, agent loop, or external actionYesTool-specific call budgets, downstream authorization, approval, and fail-closed behavior.
Traffic spike, bill anomaly, or repeated timeoutYesPreserve evidence, classify the signal, and validate the pause or fallback path.
Internal low-volume prototype with synthetic dataMaybeRecord owner, environment, basic logs, and an explicit path before broader use.
Static page with no model or service callUsually noUse ordinary web performance and abuse controls instead.

If the team cannot state the limit key, owner, alert, and recovery action for a route, the route is not ready for unrestricted production traffic.

Abuse review intake form

Copy this into the change, incident, or quarterly operations record.

FieldEntry
Review ID
Review date and timezone
Chatbot, environment, and route
Product or tenant scope
Model, provider, and route version
Anonymous and authenticated entry points
Tools, retrieval sources, and downstream actions
Data classes in prompts and outputs
Identity and quota keys
Team-defined thresholds and windows
Cost or provider quota owner
Monitoring and alert owner
Pause, revoke, and fallback owner
Last abuse or load test
Reviewer and next review date

Do not paste raw customer prompts, access tokens, API keys, private transcripts, or billing data into a broad review channel. Keep redacted samples and aggregate measurements in an access-controlled evidence location.

Abuse signal inventory

Collect enough context to explain a spike without making raw private prompts the default audit record.

SignalUseful dimensionsWhy it mattersAction or evidence
Request rateIdentity, tenant, endpoint, source, and time windowFinds sustained pressure and quota exhaustion.Compare with the route baseline and record the limit decision.
Burst sizeShort window, session, account, IP, and deviceSeparates a brief legitimate burst from automation.Apply the team-defined burst rule and retain aggregate counts.
Input sizeCharacters, tokens, attachments, and retrieved contextLarge inputs can consume disproportionate resources.Enforce input validation and a route-specific budget.
Output sizeTokens, stream duration, and response typeLong responses increase cost and latency.Cap output, stop streaming safely, or route to a fallback.
Repeated promptsSimilarity, account, session, tenant, and intervalRepetition can indicate automation, extraction, or a stuck client.Review without storing raw content by default.
Token useInput, output, model, provider, and tenantConnects traffic to cost and provider quota.Alert on unexplained cost or quota velocity.
RetriesClient, gateway, route, timeout, and backoffRetry storms amplify an outage or provider failure.Enforce bounded retries and jittered backoff.
Tool callsTool, actor, target, approval, and countTool loops can create cost, data, or side-effect risk.Set per-action budgets and re-authorize downstream.
Error rateStatus, provider, model, endpoint, tenant, and versionA rising error rate can precede a retry storm.Slow, shed, or pause the affected route.
LatencyPercentiles, queue wait, model, and providerCapacity pressure often appears first as latency.Protect the queue and activate a tested fallback.
Queue depthRoute, priority, tenant, and ageAn unbounded queue turns traffic into a service outage.Bound the queue and reject or defer safely.
Account and API keyOwner, age, role, status, and last useA compromised or shared credential can hide abuse.Revoke, rotate, or require reauthentication.
IP and network sourceASN, geography, proxy indicator, and reputation signalUseful context, but not a sufficient identity key.Combine with account, session, tenant, and route data.
Device and sessionSession age, device binding, and client versionHelps spot automation or a broken client loop.Challenge, expire, or route for review.
Tenant and planTenant, plan, seat, entitlement, and concurrencyPrevents one tenant from exhausting shared capacity.Apply tenant-aware quotas and noisy-neighbor protection.

Use aggregate counts and short-lived redacted samples where possible. A monitoring system should record why a decision was made, not turn every prompt into a permanent surveillance record.

Risk classification table

Classify a signal using impact, confidence, scope, and persistence. Escalate when several weak signals combine.

ClassExample patternDefault responseOwner
NormalExpected traffic within route, identity, tenant, cost, and latency budgetsContinue service and trend the aggregate metrics.Service owner
SuspiciousRepeated bursts, unusual client behavior, or a single key approaching a team-defined limitApply a soft limit, observe, and verify the owner or client.Platform or support owner
HighQuota exhaustion, retry amplification, abnormal cost velocity, or tenant starvationThrottle the route or identity, protect other tenants, and open an incident record.Platform and security owners
CriticalOngoing denial of service, runaway tool loop, compromised credential, material cost exposure, or unsafe action pressureFail closed for the affected action, revoke or pause, preserve minimal evidence, and start recovery.Incident owner

Risk classification is not an excuse to expose detection details to the suspected actor. Return a consistent user-safe message while routing useful context to the authorized response team.

Rate-limit policy matrix

Use multiple scopes. The team should fill in the threshold, window, response, and owner for each route instead of copying a number from another service.

ScopeLimit keyGood forCommon gapTeam-defined policy
IP or networkNormalized source or network groupAnonymous traffic and broad volumetric pressureShared offices, mobile networks, and proxies can create false positives.
Anonymous sessionSigned short-lived sessionBrowser trials before loginSession churn can bypass weak limits.
AccountAuthenticated user or service identityPer-user fairness and compromised-account controlShared accounts hide the responsible actor.
TenantTenant or workspace IDNoisy-neighbor and plan-level fairnessMissing tenant binding can cause cross-customer impact.
API keyKey ID and ownerProgrammatic clients and partner trafficLong-lived keys may be leaked or shared.
EndpointRoute, model, and operationExpensive or sensitive pathsA global limit can leave the costly endpoint unprotected.
Tool actionTool, target class, actor, and approvalAgent loops and state-changing actionsPrompt-level checks cannot replace authorization.
Provider or accountProvider quota groupExternal quota and budget protectionLocal success can still exhaust provider capacity.

When scopes conflict, choose the most restrictive applicable decision and record the reason. Do not treat rate limiting as authorization: a request must still be authorized for the identity, tenant, data, tool, and target.

Identity, tenant, and quota keys

  • Every request has a stable route identifier and an environment label.
  • Authenticated requests carry a verified identity and tenant binding outside the model.
  • Anonymous sessions are short-lived, integrity-protected, and subject to a separate policy.
  • Service accounts and API keys have an owner, purpose, expiry or review date, and revocation path.
  • Shared accounts, NAT, proxies, and automation are accounted for in detection without becoming the only key.
  • Quota counters cannot be chosen or reset by untrusted model output or client input.
  • A tenant cannot consume a shared queue or tool budget without the intended entitlement and authorization.
  • Limit decisions are idempotent and do not double-charge after a timeout or retry.
  • Authentication, authorization, quota, and tool-action logs use correlation IDs without storing secrets.

Input and output budgets

Define budgets per route and model class. Use a rejected request, concise fallback, or handoff when a budget is exceeded.

BudgetDecision to recordFailure behavior
Maximum input characters or tokensWhich input and context limits apply?Reject, ask for a shorter request, or summarize through a bounded path.
Maximum retrieved contextHow many approved source units can be added?Reduce context or route to a safe no-answer path.
Maximum output tokensWhat response size is useful for this route?Stop safely and provide a concise continuation or handoff.
Concurrent requestsWhat is the per-identity and per-tenant concurrency cap?Queue within a bound, then reject or defer.
Request timeoutWhat is the maximum end-to-end wait?Cancel safely and use a tested fallback.
Queue depth and ageHow much work may wait and for how long?Shed low-priority work; never grow without bound.
Retry count and backoffWhich failures are retryable and by whom?Stop after the team-defined cap and avoid synchronized retries.
Attachment or media sizeWhat content is accepted and scanned?Reject or route to a controlled processing path.
Tool-call budgetHow many calls are allowed per turn, session, and task?Fail closed for the action and hand off when needed.

Do not quietly truncate a security-sensitive or customer-specific request in a way that changes meaning. Make truncation, refusal, and fallback behavior visible in the route contract and test it.

Tool and queue limits

OWASP’s excessive-agency guidance supports minimizing unnecessary functionality and permissions, enforcing authorization downstream, requiring human approval for high-impact actions, and logging and rate limiting action paths.

Action typeBudget keyDefault controlFailure behavior
Read-only search or retrievalActor, tenant, source, and time windowAllowlist sources and cap calls and returned data.Return a bounded no-result or handoff.
External API lookupActor, tenant, endpoint, and provider quotaValidate target and parameters outside the model.Do not retry indefinitely; show a safe fallback.
Ticket or CRM draftActor, tenant, record, and draft countDraft-only by default and require scope checks.Save no draft when authorization fails.
Message or email sendActor, destination, approval, and send countVerify recipient and require explicit approval.Do not send; route to a human.
Permission or account changeActor, target, approval, and action countIndependent authorization and human approval.Fail closed and create an audit event.
Delete, refund, or irreversible actionActor, target, approval, and idempotency keyHuman approval, narrow allowlist, and strong audit.Fail closed; never substitute a weaker action silently.

Keep queue limits separate from model limits. A successful model response does not mean the downstream queue or action is safe to execute.

Detection and alert rules

Alert rules should name the signal, scope, owner, threshold source, and action. Use team-defined thresholds backed by a baseline, load test, provider limit, contract, or risk decision.

AlertReview dimensionsFirst responseEscalate when
Identity burstAccount, session, device, endpoint, and windowApply a soft limit and verify the client or owner.The burst repeats, spreads, or affects cost or availability.
Tenant quota pressureTenant, plan, concurrency, queue, and neighborsProtect shared capacity and contact the tenant owner.Other tenants are degraded or entitlement is unclear.
Cost velocity anomalyModel, provider, tenant, route, token mix, and timePause expensive options or route to a bounded fallback.The cause is unknown or the budget may be exceeded.
Retry stormClient version, error, route, and retry countCap retries, add backoff, and reduce load.Errors persist after the retry path is contained.
Queue growthDepth, age, priority, and worker capacityShed low-priority work and communicate degraded service.Queue age or depth crosses the recovery trigger.
Tool-loop pressureTool, actor, target, approval, and call countDisable the affected action and fail closed.A state change occurred or the actor is compromised.
Provider quota or outageProvider, account, region, model, and statusUse an approved route or pause the feature.Capacity cannot recover within the service objective.
Input or extraction patternRoute, account, tenant, similarity, and output behaviorPreserve a redacted sample and apply the review policy.The pattern is persistent, cross-tenant, or linked to leakage.

Alert fatigue is an availability problem too. Review false positives, suppression rules, escalation coverage, and the cost of collecting each signal.

Cost and availability guardrails

  • Model, provider, tenant, route, and tool costs can be attributed without exposing raw prompts.
  • A provider quota or spend guard has a named owner and a tested response.
  • Expensive models, long contexts, retries, and tool loops have separate budgets.
  • A degraded route can use a lower-cost, read-only, cached, or human-handoff path where appropriate.
  • Queue depth, queue age, concurrency, latency, provider errors, and cost are viewed together.
  • The service does not promise an unlimited retry or completion experience.
  • Shared capacity is protected from a single account, tenant, plan, or automation client.
  • Limits and fallback messages do not disclose sensitive detection logic or another tenant’s existence.
  • Billing and provider alerts are routed to someone able to pause the feature outside business hours.

Graceful degradation is appropriate for normal availability pressure. For high-risk tool actions, credential compromise, cross-tenant access, or irreversible side effects, fail closed and require authorization or human review.

Test set and evidence record

Use synthetic traffic, approved masked fixtures, and a non-production route. Do not create a public attack playbook or use real customer data to test limits.

Test IDDefensive scenarioExpected resultLast result
ABU-01Normal authenticated request within team-defined budgetsService responds and records bounded aggregate metrics.
ABU-02Anonymous burst at the team-defined thresholdLimit applies without exposing internal detection details.
ABU-03One tenant approaches its quotaTenant is limited while unrelated tenants remain available.
ABU-04Large input or context requestInput budget rejects or safely reduces work.
ABU-05Repeated request pattern from one identityReview signal appears and the defined response runs.
ABU-06Client retry loop after provider errorsRetries stop at the cap and backoff prevents amplification.
ABU-07Tool-call budget reachedAction fails closed and no unauthorized side effect occurs.
ABU-08Queue depth and age exceed the recovery triggerLow-priority work is shed or deferred with a safe notice.
ABU-09Provider quota or cost alertExpensive route pauses or falls back under owner control.
ABU-10Suspected compromised account or API keyIdentity can be revoked and service recovers without broad outage.
ABU-11Monitoring outageThe team knows whether to fail safe, reduce service, or pause.
ABU-12Recovery after a staged pauseRestart gate, limits, alerts, and owner sign-off are verified.

For each run, record the scenario, route and version, synthetic input class, thresholds used, aggregate results, action decisions, reviewer, timestamp, and evidence location. Avoid storing full prompts or outputs unless there is a documented access-controlled need.

Staged rollout plan

StageScopeEntry gateExit signal
1. DesignOne route and its dependenciesKeys, budgets, owners, alerts, fallback, and pause controls are documented.Reviewers agree the route is bounded.
2. Offline testSynthetic traffic and masked fixturesLimit, queue, retry, cost, and tool tests run without a customer impact.Critical tests pass and evidence is stored.
3. InternalOne trained team or internal tenantMonitoring, handoff, and recovery owners are available.No unresolved high-risk finding.
4. Limited pilotLow-risk users or one approved tenantTenant isolation, provider guardrails, and rollback are ready.Metrics stay within the team-defined range.
5. Broader releaseApproved production scopeOwners sign off and on-call coverage is confirmed.Review triggers and next review date are recorded.

Start with read-only or draft-only flows. Expand concurrency, context, automation, and tool permissions only after the preceding stage has evidence and a working pause path.

Degrade, pause, and recovery plan

Pause or restrict the affected route, identity, tenant, source, or action when:

  • A tenant, credential, or private system detail appears outside its authorized scope.
  • A request burst, retry loop, queue, provider error, or cost signal threatens shared availability.
  • A tool loop or model output attempts an action outside its allowlist or approval boundary.
  • Limits, logs, or alerts are unavailable and the team cannot determine whether usage is bounded.
  • A fallback would create a higher-impact privacy, security, or business risk than a temporary refusal.
Recovery actionOwnerEvidence to preserveRestart gate
Throttle one identity, session, or tenantPlatform ownerKey, scope, decision, and affected windowOwner verifies identity and traffic returns to policy.
Revoke or rotate an account or API keyIdentity ownerKey ID, owner, timestamp, and access reviewNew credential is scoped, tested, and monitored.
Disable an expensive model or provider routeEngineering or provider ownerRoute version, cost signal, and impactBudget and fallback tests pass.
Disable one tool or actionProduct or security ownerTool, target class, approval, and side-effect reviewAuthorization and action tests pass.
Shed or pause queued workPlatform ownerQueue snapshot, priority rule, and noticesQueue is bounded and recovery capacity is verified.
Route to human or read-only fallbackSupport or domain ownerRedacted request and reason for handoffHandoff capacity and customer notice are ready.

Recovery should be reversible, observable, and scoped as narrowly as the evidence allows. Do not restore unrestricted traffic just because the spike ended; verify the underlying cause, counters, limits, alerting, and owner sign-off first.

Decision table

FindingDecisionRequired evidence
Usage is within the documented budget and alerts are healthyContinue staged rollout or normal serviceRecent test result, owner, and review date.
A soft limit is reached with no customer or tenant impactKeep service limited and investigateIdentity or tenant scope, metric trend, and follow-up owner.
Shared capacity or provider quota is at riskDegrade or throttle the affected routeQueue, cost, quota, and fallback evidence.
A tool action exceeds its budget or authorizationReject the action and fail closedAction request, authorization result, and audit event.
Monitoring or quota enforcement is unavailableRestrict or pause the routeFailure signal, safe state, and restart test.
A credential or tenant boundary may be compromisedContain, revoke, and investigateMinimal access evidence, incident owner, and recovery gate.

Sign-off record

RoleNameDecisionConditionsDate
Business owner
Product owner
Engineering or platform owner
Security reviewer
Privacy or legal reviewer, if needed
Support or incident owner

Approval should identify the route and versions, quota keys, team-defined thresholds, provider and cost controls, tool scope, rollout stage, fallback owner, unresolved risks, and next review trigger.

Action tracker

ActionRiskOwnerDue dateStatusEvidence
Map identities, tenants, routes, tools, and sources
Define team-owned quotas and rate-limit scopes
Set input, output, concurrency, timeout, queue, and retry budgets
Add cost, provider quota, availability, and noisy-neighbor guardrails
Implement detection, alert routing, and redacted evidence
Test tool budgets, authorization, and fail-closed behavior
Run pause, fallback, and recovery drills

Final abuse and rate-limit checklist

  • The route has a named owner, environment, model/provider version, and next review date.
  • Limits use identity, tenant, session, API key, endpoint, tool, and provider scopes where applicable.
  • IP or network signals are used as context, not as the only abuse-control key.
  • Input, output, retrieval, concurrency, timeout, queue, retry, and tool budgets are documented.
  • Quotas protect both individual users and shared tenant or provider capacity.
  • Tool actions have explicit allowlists, downstream authorization, approval rules, and per-action budgets.
  • High-risk actions fail closed; normal availability pressure has a tested graceful fallback.
  • Alerts cover bursts, repeated prompts, input size, tokens, retries, errors, latency, queues, tools, cost, and quota.
  • Thresholds are team-defined and backed by a baseline, test, provider limit, contract, or risk decision.
  • Synthetic tests cover anonymous, authenticated, tenant, retry, queue, cost, provider, tool, and recovery scenarios.
  • Monitoring evidence is aggregate or redacted by default and access-controlled when raw data is necessary.
  • Pause, revoke, throttle, degrade, handoff, and restart owners are reachable and tested.
  • The AI Tool Risk Checker result is attached to the review.
  • The Small Team AI Security Checklist baseline controls are reviewed.
  • Residual risk, release stage, rollback trigger, and next review date have been signed off.

Metrics to track

Track trends and redacted summaries rather than collecting raw private prompts by default.

MetricWhy it mattersReview cadence
Requests by identity and tenantShows fairness, abuse pressure, and noisy-neighbor impact.Daily and weekly
Rate-limit decisions by scopeShows which keys and routes are carrying pressure.Daily
Input and output budget exceedancesFinds expensive or malformed usage patterns.Weekly and after alerts
Token use and cost by routeConnects behavior to provider and spend risk.Daily and monthly
Retry count and provider errorsDetects amplification and dependency failure.Every incident and weekly
Queue depth, age, and shed workMeasures availability and recovery pressure.Near real time and weekly
Tool calls blocked or approvedTests action budgets and authorization boundaries.Weekly
Tenant or plan saturationProtects shared capacity and entitlement assumptions.Weekly
Alert precision and response timeKeeps detection useful and actionable.Monthly
Pause and recovery drill resultShows whether the service can recover safely.Each drill and quarterly

Evidence checked

  • OWASP LLM10:2025 Unbounded Consumption describes excessive resource consumption, denial of service, unexpected cost, model theft, and mitigations such as input validation, rate limiting, quotas, timeouts, throttling, logging, anomaly detection, graceful degradation, and bounded queued or total actions.
  • OWASP LLM01:2025 Prompt Injection supports treating instructions and retrieved content carefully, applying least privilege, validating behavior, and testing adversarial interactions.
  • OWASP LLM06:2025 Excessive Agency supports minimizing functionality and permissions, downstream authorization, human approval, logging, and rate limiting for agent actions.
  • NIST AI RMF Core provides the Govern, Map, Measure, and Manage functions for iterative, documented risk work and testing.
  • NIST AI RMF Manage Playbook supports continual monitoring, incident response, recovery, change management, and explicit risk tolerance for deployed AI systems.
  • CISA and UK NCSC secure AI system development guidance emphasizes secure design, accountability, and operational security controls throughout the AI system lifecycle.

FAQ

Is an IP rate limit enough for an AI chatbot?

No. IP limits help with broad anonymous pressure, but shared networks, proxies, automation, compromised accounts, and tenant-level abuse require additional identity, session, API-key, endpoint, tool, and tenant scopes.

What is unbounded consumption in practice?

It is any route where input, output, retries, tool calls, queue work, or concurrency can grow without an effective budget or control. OWASP LLM10 includes patterns such as variable-length input floods, denial of wallet, continuous input overflow, resource-intensive queries, and model extraction. Test these categories defensively with synthetic traffic and defined stop conditions; do not publish or run an attack playbook against a live service.

Should limits be the same for every tenant?

Not necessarily. Limits should reflect the route, plan or contract, expected workload, risk tolerance, provider capacity, and fairness objective. Every exception needs an owner, expiry or review date, and compensating control.

What should happen when a quota is reached?

Choose the least harmful defined response: slow down, queue within a bound, return a safe retry message, route to a lower-cost or read-only path, or hand off. For high-risk tools, authorization failures, credential compromise, or irreversible actions, fail closed rather than continuing automatically.

Should I block repeated prompts automatically?

Treat repetition as a signal, not proof. Combine it with identity, tenant, timing, token use, output behavior, errors, and authorization context. Use a soft limit or review path first when false positives could harm legitimate customers.

How do I protect against retry storms?

Define which failures are retryable, cap retries at each layer, use backoff and jitter, make state-changing operations idempotent, and alert on retry velocity. A model or client should not be allowed to retry indefinitely when a provider or downstream queue is failing.

Should a tool call share the chatbot’s request quota?

It may share a parent budget, but it also needs its own action, target, actor, approval, and downstream authorization limits. A response that is within a text quota can still trigger too many external calls or an unsafe state change.

What if monitoring or rate-limit enforcement is unavailable?

Use the documented safe state. That may mean restricting expensive routes, disabling tools, reducing concurrency, routing to human support, or pausing the feature. Do not claim the route is safe when the team cannot observe or bound usage.

How much evidence should be stored?

Store the minimum redacted evidence needed to reconstruct the decision: route and version, identity or tenant key reference, aggregate signal, threshold source, action, reviewer, and timestamp. Restrict raw prompts, transcripts, and billing details by default.

Is this checklist enough for compliance?

No. It is practical operating guidance, not legal, privacy, compliance, certification, or security assurance advice. Map it to the contracts, laws, standards, provider terms, and risk tolerance that apply to your organization.

Run the AI Tool Risk Checker for the chatbot route, attach the result to this review, and keep expensive models and state-changing tools restricted until the critical budget, monitoring, authorization, and recovery tests pass.