Data residency is usually sold as a property of the model endpoint. Operationally it is a property of the whole path: where state is assembled, which gateway forwards it, where the model runs, where traces and backups live. A regional endpoint with a global log pipeline is not a regional deployment.
That matters more for decision models than for text generation: the state is often the sensitive part, and the answer is a small set of probabilities.
Residency is a path, not a checkbox
Map the path before you map the vendor. The state is built in your application, goes through a gateway that may add routing and logging, reaches a model provider that may run inference in more than one region, and returns to a trace store somewhere else.
Each hop needs a residency answer. The model endpoint is only one of them.
The Data Processing Addendum establishes the contractual frame: for customer personal data, the customer is the controller and TypeSafe is the processor, and the DPA forms part of the agreement. Updated 24 April 2026, it is the document for subprocessors and breach notification, not the marketing page.
What the contract actually says
The DPA says TypeSafe will give reasonable advance notice before a new subprocessor gets access to customer personal data. A customer may object within 15 days on reasonable privacy or security grounds, and the parties work in good faith to address it. It also says TypeSafe will notify the customer of a personal data breach without undue delay and in any case within 72 hours after becoming aware of accidental or unauthorized access, disclosure, or use.
Those are process commitments; they do not say which region processes the data. For that you need the subprocessor list, the data plane documentation, and a contract that names the region.
The privacy policy covers typesafe.ai, the web playground, and APIs that link to it. Updated 19 November 2025, older than the September 2026 terms, it says TypeSafe will not train or fine-tune models on your prompts or other input, and will not disclose it to third parties other than service providers. The legal hub repeats the no-training commitment and says zero data retention is available for enterprise through sales.
The enterprise page adds SOC 2 Type II, zero data retention, and higher rate limits, with a sales contact for throughput, data, and VPC questions. It is a marketing page: the 88% and 98.7% cost case studies are headlines without methodology. Verify the compliance claims in the Trust Center and the contract.
Multi-region topology
Three common topologies fail differently.
The first is a single global endpoint, the default. Residency depends entirely on the provider's data plane, and you may not be able to choose the region per request.
The second is a regional gateway. It terminates the request in the region, applies policy, and forwards to a provider endpoint, giving you regional logging and key management, but the model call may still cross a border. Vercel's AI Gateway evaluation path can constrain the provider with only: ['typesafe-ai'] and request zero data retention with zeroDataRetention, while still noting that your use remains subject to the model provider's terms and privacy policy. A gateway setting is not the whole answer.
The third is a regional or self-hosted model: the compute is in the region you chose and the data path is yours, but you own serving, upgrades, and evaluation. Decision Models offers a middle version: an EU tier that runs only on contracted EU operators, includes a DPA at signup, and never uses the peer-to-peer network or stores payloads. Its Peer-to-Peer tier can draw on rented worldwide GPUs whose providers may see and store content. The price difference is small, $0.019 versus $0.021 per million input tokens for s1-fast, but the data path is not.
EuLLM is the self-hosted end of the spectrum: one Rust binary with OpenAI- and Ollama-compatible APIs, no telemetry, and an audit trail designed for the EU AI Act. It reports 64 questions about a page in 0.66 s, about 10 ms each, on one RTX 5070 Ti, and a RAG gate for Italian law at AUROC 0.90 against 0.79 for embeddings, blocking 2.5x fewer good answers. Those are the project's own figures, and the README shows no TypeSafe dependency, so treat it as a member of the same class rather than a drop-in replacement.
Data gravity and model availability
A regional deployment is only useful if the model is available there. The models page describes one API endpoint and a model catalog; the captured pages do not lay out a region menu. If residency is a hard requirement, ask for the data plane, the subprocessor list, and the region of inference and storage. Do not infer it from the CDN.
The same question applies to tracing. A regional model call with a global Langfuse or Braintrust project moves the state to the trace vendor's region. If the trace includes raw state, the trace store is part of the boundary; use hideInputs/hideOutputs or a regional backend.
Capacity is the other constraint. A self-hosted model gives you residency and control, but you own the GPU sizing, quantization, and throughput.
Language and locale are part of the region
A multi-region deployment is also a multilingual one. The models page says English is primary and non-English accuracy is lower, so test before relying on it elsewhere. That is not a residency issue, but it changes what "the same decision in another region" means.
A pre-registered study of Indonesian regional languages found Jev more accurate on sentences lexically closer to Indonesian, and a human Indonesian translation raised accuracy by up to 37.2 points, most in distant languages. Calibration error did not grow, but Jev's ability to rank its own errors degraded. The study covers sentiment and emotion on NusaX and NusaTranslation, so it is not a general multilingual benchmark: a concrete reason to run a local eval rather than assume the global average transfers.
Residency is not just where the bytes sit. It is also whether the model's judgment is calibrated for the population whose data it is.
Provenance is not residency
A dataset can be legally usable and still unsuitable for a regional deployment. JEV-Contrast is an example: 29,225 train records, 430 validation, and 1,951 test, 4.2 GB. The annotations are CC BY 4.0, but the images and source annotations keep their original terms: Visual Genome and GQA under CC BY 4.0, COCO under Flickr per-image terms, LVIS v1 under CC BY 4.0, VAW per its repository. The card limits it to research and development.
That is a licensing map, not a residency map. A dataset can be hosted in the EU while carrying licenses that restrict commercial use. Provenance asks "may we use this?" Residency asks "where may this live and be processed?" You need both.
A residency checklist
Start with data classification: which fields are personal, regulated, or sensitive, then map every hop that sees them. Ask for the DPA, the subprocessor list, the regions of inference and storage, the retention window, the support-access path, and the deletion procedure. Test the failure mode: if the regional endpoint is unavailable, does the gateway fail over to another region, and is that allowed?
Put the region in the decision record next to the model alias and resolved version; a replay that ignores the region is not faithful. Write down the exit: if the provider cannot meet the requirement, can you move the workload to a regional host or a self-hosted model without changing the question set?
The data retention and compliance article covers the retention side; PII retention and zero data covers minimisation; records at rest covers storage. Residency is the architecture that connects them.