> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inboxmate.psquared.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# AI models & EU data

> Restrict all AI processing to the EU, or point InboxMate at your own OpenAI-compatible endpoint.

Open **Settings → KI-Modelle** (admins and the Owner only — everyone else sees a read-only summary). This tab controls two independent things: whether AI processing is allowed to leave the EU, and whether InboxMate should use a customer-run model endpoint instead of the built-in one.

<Note>
  This is the detailed, mechanics-level page. For the plan-level overview of EU hosting and Advanced compliance mode, see [Workspace settings → Advanced compliance mode (EU)](/user-guide/workspace/settings#advanced-compliance-mode-eu).
</Note>

## EU-only processing

**Datenschutz & Verarbeitungsstandort** — "Restrict AI processing to EU data centers. When enabled, only EU-hosted models are available." Toggling it on shows a confirmation banner, **EU-Datenschutz aktiviert** — "All AI processing is restricted to European data centers."

<Warning>
  This setting fails **closed**, not open. If a model or feature has no EU
  route, InboxMate refuses the request rather than quietly sending it to a
  US provider.
</Warning>

What "fails closed" means in practice:

* **Chat and draft models** are remapped to their EU equivalent (Azure, hosted in Sweden). If a requested model has no EU deployment, the request is rejected with an error rather than falling back to OpenAI in the US.
* **Embeddings** (used for knowledge-base search) work the same way: EU-only accounts get the EU embedding deployment, or the request fails if none is configured — never a silent US fallback.
* **Voice transcription (ElevenLabs)** processes audio outside the EU, so it is **blocked outright** for EU-only accounts. Trying to use it returns an error explaining that this account enforces EU-only processing.
* **Web search (Tavily)**, used by agents that need to look something up online, is **not** blocked by this setting — it only sends the search query itself, not customer or contact data, so it doesn't fall under the same restriction.

If you turn EU-only on while any agent is still configured with a US model (or has no model set), InboxMate shows a migration dialog first — **Zu EU-Modellen migrieren** — that walks through:

1. Alle Agents mit US-Modellen werden auf GPT-4.1 (EU) umgestellt
2. Agents ohne eingestelltes Modell werden mit GPT-4.1 (EU) konfiguriert
3. Künftig stehen nur noch EU-Modelle zur Auswahl zur Verfügung
4. Dies stellt sicher, dass die gesamte KI-Verarbeitung in europäischen Rechenzentren erfolgt

Only after confirming the migration (or if there was nothing to migrate) does the toggle actually switch on.

<Tip>
  Non-admins on the account still see this tab, but read-only: a note showing whether EU-only is currently on or off ("Nur EU-Rechenzentren" / "Alle Regionen verfügbar"), plus a hint that only admins can change it.
</Tip>

## Bring your own model endpoint

Below the EU toggle, **Eigene Modell-Endpunkte** lets an admin point InboxMate at a **customer-run, OpenAI-schema-compatible endpoint** instead of the built-in routing — separately for the two things InboxMate needs a model for:

| Field                                 | Purpose                                             |
| ------------------------------------- | --------------------------------------------------- |
| **LLM-Endpunkt (Chat & Entwürfe)**    | Used for all text generation: triage, drafts, chat. |
| **Embedding-Endpunkt (Wissenssuche)** | Used for knowledge-base indexing and search.        |

Each endpoint has its own switch and, once enabled, its own fields:

* **Base URL** — the OpenAI-compatible API base, e.g. `https://llm.example.at/v1`
* **API-Schlüssel** — the bearer token for that endpoint
* **Modellname** — the model identifier to request at that endpoint
* **Embedding-Dimensionen** *(embedding endpoint only)* — must stay at 1536 to remain compatible with existing knowledge entries

<Info>
  **Eigene Endpunkte haben Vorrang vor unserer Standard-Verarbeitung und erfüllen auch die EU-Only-Einstellung.** A configured custom endpoint always wins over both the default routing and the EU-only toggle — since it's the customer's own infrastructure, it automatically satisfies "EU-only" regardless of where it's actually hosted.
</Info>

This is how InboxMate supports bringing your own OpenAI-compatible model — whether that's a self-hosted open model or a third-party inference provider your organization already trusts.

<Steps>
  <Step title="Enable the endpoint">
    Flip the switch for LLM, embedding, or both.
  </Step>

  <Step title="Fill in Base URL, API key, and model name">
    For the embedding endpoint, also set the dimensions (1536).
  </Step>

  <Step title="Save">
    Click **Endpunkte speichern**. The button shows **Gespeichert** once the save completes.
  </Step>
</Steps>

<Warning>
  API keys are **encrypted at rest** and never sent back to the browser in
  plain text — the field shows a masked placeholder after saving. Leaving the
  API key field untouched on your next edit keeps the previously stored key;
  you only need to re-enter it to change it.
</Warning>

Only admins and the Owner can edit these fields — other roles see them disabled.
