Single controlled entry point for all model calls, handling provider selection, regional routing and policy enforcement.
Routes every model call through one service that selects the provider and region, applies policy, records what was sent, and attributes cost. Turns provider choice, data residency and retention policy into configuration rather than code scattered across an application.
Any multi-tenant deployment, anything with residency obligations, and any system likely to change model provider — which is all of them.
A single-user prototype, where the abstraction costs more than it returns. Even then, keeping calls in one module makes the later migration trivial.
The gateway is where residency and no-retention obligations are actually enforced. It becomes a critical-path component and needs its own availability and failover treatment.
Bypass. One team calls a provider SDK directly for a legitimate deadline reason, and the guarantee the gateway existed to provide is quietly no longer universal.
A tenant in Frankfurt whose document extraction calls route to an EU endpoint under a no-retention contract, enforced by configuration rather than by developers remembering.
Two different absences share this shape. Foundational solutions get built whatever the domain, so no domain links them; the rest are solutions this domain genuinely does not reach for. v_ai_solutions_unlinked separates the two.