Sovereignty and transparency
Two of the practical reasons teams move from a single LLM provider to a gateway are sovereignty (where the request goes) and transparency (what’s actually happening). Both deserve concrete answers, not adjectives.
Sovereignty
LowRouter’s control plane is operated from the European Union by Carbonifer SAS. The data plane — the providers that actually run the inference — covers multiple regions: EU (Mistral, Anthropic via EU endpoints, Bedrock EU), US (OpenAI, Anthropic via US endpoints, Bedrock US), and a growing set of regional Vertex AI deployments.
When you send a request without a region preference, the router picks based on availability and the carbon-intensity heuristic described in provider routing. The chosen region is reported in the response.
When you need data residency:
- Pin a region by encoding it in the model ID — append a UN/LOCODE as
the last segment, e.g.
vertex/anthropic/claude-opus-4.6/sg-sin. - Region resolution fails closed: if the model isn’t served in the requested region, the request returns an error rather than silently falling back to another region.
We do not run inference on user prompts inside our own infrastructure beyond what is required to forward and account for them. Logs are documented in usage accounting.
Transparency
Every API response includes, in its lowrouter_metadata block, a
provider field with the upstream that served it and a region field
with the region it served from, alongside an X-Request-ID header you
can correlate against your own logs. The dashboard shows the same data
per request, per day, and aggregated per model.
The carbon and energy numbers shown on the dashboard are produced by the formula in methodology. The formula’s coefficients, the model parameter counts we use, and the grid-intensity values we apply are documented and dated. When a value changes — for instance, when a new grid-intensity dataset replaces an older one — the change is reflected in the dashboard with the date it took effect.
The platform is operated by a small team. There is no army of unaccounted-for logging or analytics services. The third-party services involved are listed in the privacy policy.
How to verify
- Read methodology and audit the formula.
- Send a request with an
auto/<creator>/<model>ID, then re-send it pinned to a specific provider/region via the model ID. Compare theprovider,region, and eco fields in thelowrouter_metadatablock. - Open the corresponding entries on the dashboard and confirm the numbers match.
If something doesn’t reconcile, that’s a bug, not a feature — please file an issue.
