The tenant boundary starts before the model call
Imagine a SaaS application with 40 customer organizations. The application authenticates a user, resolves the organization in its own database, and sends a model request through a gateway. If the gateway trusts a caller-supplied tenant_id without verifying its origin, a malicious or buggy client may charge requests to another organization. The application should derive tenant identity from a verified session or service credential and forward it over an authenticated server-to-gateway channel.
Use a dedicated logical credential or policy scope per tenant when the gateway supports it. Restrict allowed models, destinations, and administrative access independently. A virtual key is a useful operational unit, but it is not proof of physical isolation, separate storage, or separate encryption keys. Ask the vendor what boundaries are actually enforced and where logs, cache entries and provider credentials live.
- Test a forged tenant identifier and an expired tenant credential.
- Check whether tenant admins can enumerate other tenants' keys, usage or traces.
- Record the source of tenant identity in audit events without logging secret tokens.
Fairness requires more than a monthly dollar limit
A monthly budget can protect an invoice while doing little for the ten seconds when one tenant launches hundreds of concurrent agent calls. Define independent limits for requests per minute, tokens per minute, concurrent in-flight requests, maximum context size, and spending over the billing period. Decide which are hard admission controls and which are advisory alerts. If a gateway only tallies completed requests, concurrent calls can pass the check before the budget is updated.
Provider-side quotas are another shared bottleneck. Even when every tenant stays under its own gateway allowance, the upstream account may have a common TPM or RPM ceiling. Reserve capacity for higher-priority traffic, reject excess demand with a predictable status, and expose a retry policy that avoids synchronized retry storms. Microsoft documents tenant-scoped token counters in Azure API Management and warns that counters can be independent across gateways, regions or workspaces; ask equivalent consistency questions of any product.
- Run 50 parallel requests from tenant A while tenant B sends a small steady stream.
- Measure whether B's latency and error rate remain within the agreed service objective.
- Verify counter behavior across regions, instances, restarts and eventual-consistency windows.
Separate authorization, metering and billing
A gateway can report tokens and estimated model spend without knowing the final invoice amount. Providers may distinguish cached input, output, reasoning, tools, retries and negotiated rates. For tenant chargeback, retain request IDs, tenant IDs, model and provider identifiers, timestamp, response status, estimated usage, final usage when available, and the rate card version. Keep raw prompts out of financial exports unless there is a justified retention requirement.
Reconcile the sum of tenant estimates to the upstream provider invoice and to the gateway's own charges. Flag unmatched requests and differences rather than silently rewriting historical rows. For a reseller model, define whether customers pay a fixed subscription, pass-through usage or a marked-up amount. For an internal enterprise deployment, use showback first: report attributed cost before making teams financially responsible for estimates.
- Reconcile time zones and invoice cutoffs.
- Separate provider credits and refunds from usage.
- Treat missing usage as unknown, not zero.
Compare actual product primitives rather than marketing labels
LiteLLM documents virtual keys, teams and budget scopes; its budget documentation says a database is required for budget enforcement, so a database-less proxy is not equivalent to a managed budget system. Cloudflare AI Gateway documents dynamic routing using request metadata, quotas and budget-limit nodes. Azure API Management documents token limits keyed to a validated subscription or tenant claim. These are examples of different implementation models, not a claim that they all enforce identical isolation semantics.
Before selecting AetherGate, LiteLLM, Cloudflare or another candidate, ask for a demonstration with two tenants and a shared upstream account. Observe the exact authorization decision, counter update, log partitioning and provider call. AetherGate's public BYOK and spending-control positioning is relevant, but independent production tenant-isolation guarantees should not be inferred from marketing copy.
A tenant-isolation acceptance test you can repeat
Build a small harness with two test tenants, two virtual credentials and an upstream provider account with intentionally limited test quotas. Start with a clean state, submit valid calls for each tenant, then attempt cross-tenant credential reuse and forged metadata. Capture gateway decisions and upstream requests. Next, run concurrent bursts that exceed one tenant's limits while staying within the other tenant's allowance.
Finally, exercise failure and recovery: revoke tenant A's credential while requests are in flight, force a provider 429, restart a gateway instance, and export usage for both tenants. Verify that a fallback does not silently route a tenant to an unapproved model or region. Repeat in every deployment region because per-instance counters and caches may differ. The result is an evidence packet, not a vendor score derived from a feature checklist.
- Pass: tenant B cannot read tenant A's request metadata or exhaust B's configured quota.
- Pass: revoked credentials are rejected within the documented revocation window.
- Pass: invoices and request ledgers reconcile within a documented tolerance.
Buying decision: where to spend engineering time
For a small internal tool with one owner and no customer chargeback, a simple proxy may be sufficient. For a customer-facing SaaS with contractual limits, choose the option whose tenant authorization, budget semantics, observability and incident response you can verify under load. The lowest monthly subscription is not automatically the lowest operational cost when a quota incident can affect many paying customers.
Request the exact product edition, deployment topology, quota-consistency behavior and retention terms in writing. Use the broader enterprise gateway checklist for security procurement and the pricing guide for total cost. If a vendor cannot demonstrate isolation using your own two-tenant test, treat the requirement as unproven rather than accepting a slide that says multi-tenant ready.