Concepts

Sovereign routing

Regulated personal data is detected per request and hard-locked to in-region providers. This is the capability nobody else ships.

When a request carries regulated personal data, detected by the gateway's classifier (Aadhaar, PAN, email, phone today), and a residency jurisdiction applies, routing is hard-locked to providers resident in that jurisdiction. No client header and no routing config can widen the lock.

The jurisdiction comes from the x-routeplane-residency header or the key's server-side default. The header can narrow but never disable that default.

bashresidency lock
curl https://<gateway-host>/v1/chat/completions \
  -H "content-type: application/json" \
  -H "x-routeplane-api-key: rp_..." \
  -H "x-routeplane-residency: IN" \
  -d '{"model":"gpt-4o","messages":[{"role":"user","content":"..."}]}'
Fail-closed. If the request carries regulated data and no jurisdiction-resident provider is eligible, Routeplane refuses with 422 rather than silently letting the data leave the region. Residency is enforced per request, not per deployment.

How-to: Enforce data residency for a region → the step-by-step recipe.