Regions & residency
Where your inference runs and where your data sits. EU at launch; Lagos and Nairobi POPs land in H2 2026.
Launch regions
At launch:
| Region code | Location | What runs there |
|---|---|---|
eu-helsinki1 | Helsinki, Finland | Full catalog. |
eu-frankfurt1 | Frankfurt, Germany | Full catalog. |
Both are EU-resident, GDPR-default, and operated under Finnish/German data-protection regimes.
Roadmap
| Region | Status | Target |
|---|---|---|
af-lagos1 | Planned | H2 2026 |
af-nairobi1 | Planned | H2 2026 |
af-johannesburg1 | Evaluating | 2027 |
trust.tomoul.com tracks the live ETA — these dates move.
Pinning a region
Add X-Tomoul-Region: <code> to any request to force a region. If the model
isn't available there, you get a 409 response with the regions that do
serve it. No silent cross-region routing.
curl https://api.tomoul.ai/v1/chat/completions \
-H "Authorization: Bearer $TOMOUL_KEY" \
-H "X-Tomoul-Region: eu-frankfurt1" \
-H "Content-Type: application/json" \
-d '{ "model": "microsoft/phi-4", "messages": [...] }'
Data residency
By default, Tomoul does not train on your data and does not retain prompts or completions beyond the immediate request. Logs are kept 30 days for abuse and debugging, in the same region the request was served. Full commitments: trust.tomoul.com.
For contractual no-retention, single-tenant deployment, or a DPA with region-locking, contact us.
Failover behaviour
If a region is degraded, requests without an explicit X-Tomoul-Region
header may fail over to a sibling region in the same residency zone (e.g.
Helsinki → Frankfurt). Pinned requests never fail over — they fail loud.
Watch status.tomoul.com for live region status.