Data residency: Swiss-only mode
Laya Studio answers your questions on GPUs located in Switzerland, keeps its account database in Zurich, and never writes the content of a request to disk. Turn on Swiss-only mode and a request can never leave the country, not even as a failover.
Where does my request go?
Flip the switches to see what happens to a request in each case.
Your request
Authorization: Bearer lsk_live_… x-laya-residency: ch
API gateway
TLS in transit. Content is not stored.
Result
Answered in Switzerland
x-laya-region: ch
The primary inference pool runs on dedicated GPUs located in Switzerland.
Per request: the x-laya-residency header
One switch per workspace (or the x-laya-residency: ch header per request) and requests are only ever answered in Switzerland. If the Swiss pool is unavailable you get an error, never a silent detour abroad. It is an add-on: +15% credits per request, still about 20% below Jev.
The header can only make a request stricter. If your workspace already has Swiss-only mode on, every request is Swiss-only whether or not you send it.
Per workspace: the dashboard toggle
To make every request from a workspace Swiss-only, open Dashboard → Settings → Data residency and switch it on. Owners and admins can change it. No code changes are needed.
Verify: the x-laya-region response header
Our primary inference pool runs on dedicated GPUs located in Switzerland. Every API response tells you where it was processed in the x-laya-region header.
The free demo on the quickstart always runs Swiss-only, and shows this header next to every answer.
What we store, and where
GPUs in Switzerland
Our primary inference pool runs on dedicated GPUs located in Switzerland. Every API response tells you where it was processed in the x-laya-region header.
Swiss-only mode
One switch per workspace (or the x-laya-residency: ch header per request) and requests are only ever answered in Switzerland. If the Swiss pool is unavailable you get an error, never a silent detour abroad. It is an add-on: +15% credits per request, still about 20% below Jev.
Zero content retention
The text and questions you send are processed in memory and discarded when the answer is returned. They are never written to a database or log, and never used to train anything. One exception to know about: the optional chat agent (POST /v1/ask, the MCP ask tool, dashboard Chat) first passes your prompt to a third-party language model to plan the questions, in the US by default and in Switzerland under Swiss-only mode.
Account data in Zurich
Accounts, API keys (stored only as SHA-256 hashes), credit balances and usage metadata live in a Postgres database in the AWS Zurich region (eu-central-2).
Minimal metadata, 30 days
For billing and debugging we keep request metadata only — time, status, number of questions, latency — for 30 days. Daily totals are kept for invoicing.
Encrypted end to end in transit
All traffic uses TLS. The API gateway runs on Cloudflare’s network, which forwards requests encrypted and does not store their content; the GPU servers accept requests only from our gateway.
Built for sensitive data
No retention plus Swiss processing makes Laya Studio a fit for sensitive text such as patient messages, clinical intake notes, HR cases or financial correspondence — the kind of data that should not sit in a US AI provider’s logs.
- Patient message triage
- Clinical intake routing
- Pharmacovigilance signal screening
- HR and legal case sorting
- Insurance claim classification
Legal basis and limits
| Topic | Meaning |
|---|---|
Frameworks | Designed to support compliance with the Swiss Federal Act on Data Protection (nFADP, in force since 1 September 2023) and the EU GDPR. |
DPA | Our Data Processing Agreement (laya.studio/dpa) is part of the Terms and applies automatically when you send personal data; a signed copy is available on request: privacy@laya.studio. |
Limits | You remain responsible for your legal basis to process personal and health data. Laya Studio holds no formal certification (such as ISO 27001) today and does not sign HIPAA BAAs. |
Retries under Swiss-only mode: see errors and retries.