configuration-reference
AI & egress integrations
The AI provider (off unless you enable it, self-hosted Ollama when you do, cloud only with a key, a per-org opt-in and the entitlement) and transactional mail — the variables for Kutrion's outbound integrations.
Updated Sep 2, 2026
These variables configure Kutrion’s outbound integrations: the AI assistant and transactional email.
AI is privacy-first by design and it is also off by default: AI_PROVIDER ships empty, so a fresh
install has no assistance at all until an operator enables it. The only provider these variables can
select is a self-hosted Ollama endpoint — there is no value here that selects a cloud model. On a
self-hosted install that endpoint is one you run, so inference stays on your own network. The cloud LLM
is a separate path, reached only when a cloud key is configured, the organization has opted in and its
plan carries the cloud-AI entitlement. Mail is optional; with
no SMTP configured the mailer is a no-op and invite links are shown inline instead of emailed. For the
design and guarantees — including what the hosted service does differently — see
AI privacy model.
AI_PROVIDER=ollama
OLLAMA_URL=http://192.0.2.10:11434
AI_MODEL=llama3
SMTP_HOST=smtp.example.com
SMTP_PORT=465
SMTP_SECURE=true
[email protected]
SMTP_PASS=replace-with-smtp-password
SMTP_FROM="Kutrion <[email protected]>"
AI
| Variable | Type | Default | Description |
|---|---|---|---|
AI_PROVIDER | string | (empty) | LLM provider: empty (no AI at all) or ollama (self-hosted). No cloud value exists. |
OLLAMA_URL | string | (empty) | Self-hosted Ollama endpoint; required when AI_PROVIDER=ollama. |
AI_MODEL | string | llama3 | Local model name at Ollama. |
ANTHROPIC_API_KEY | string | (empty) | Cloud LLM key (Claude). A key alone does not enable cloud egress — the organization must also opt in and hold the cloud-AI entitlement. Empty disables cloud. |
CLOUD_AI_MODEL | string | claude-haiku-4-5-20251001 | Cloud model id for the opt-in cloud fallback. |
AI_RATE_MAX | number | 60 | Max AI requests per window. |
AI_RATE_WINDOW_MS | number | 60000 | AI rate-limit window. |
AI_PROVIDER is empty as shipped, which is no AI at all. Set it to ollama and point OLLAMA_URL at
an endpoint you run, and all inference happens on that host — terminal output never leaves your network
in this configuration, and it is this configuration, not a product default, that keeps it there. These
variables belong to whoever operates the deployment, so on the hosted service they are Kutrion’s and
not yours; the tenant-side equivalent is the per-organization AI setting described in
AI privacy model. The cloud path needs three things
together: ANTHROPIC_API_KEY empty disables cloud entirely, and even when a key is present the cloud
model is invoked only for an organization that has opted in and whose plan carries the cloud-AI
entitlement. Secrets are stripped from anything that does go out, but that step is a filter rather than
a gate — see AI privacy model for what it removes and what it sends.
OLLAMA_URL is operator configuration, so the server calls it directly without passing it through the
private-network egress guard: a LAN or localhost Ollama works without
EGRESS_ALLOW_PRIVATE. The guard does apply to an Ollama endpoint an organization sets in its own AI
settings, which is checked when it is saved and again on every call; if your organizations point those
at private addresses, set EGRESS_ALLOW_PRIVATE=1 (see
Core & database configuration). For setup, see
Self-hosted AI setup.
Mail (transactional)
| Variable | Type | Default | Description |
|---|---|---|---|
SMTP_HOST | string | (empty) | SMTP server; empty makes the mailer a no-op (invite links shown inline). |
SMTP_PORT | number | 465 | SMTP port. |
SMTP_SECURE | boolean | true | Use TLS/SSL. |
SMTP_USER | string | (empty) | SMTP username. |
SMTP_PASS | string | (empty) | SMTP password. |
SMTP_FROM | string | (example sender) | Envelope sender and display name. |
Transactional email is used for invitations and verification. If SMTP_HOST is empty the mailer is a
no-op and the relevant links (for example an invite link) are surfaced inline in the UI instead of being
emailed — useful for an air-gapped install with no mail server. To send mail, set SMTP_HOST,
credentials, and a SMTP_FROM address. Use SMTP_PORT=465 with SMTP_SECURE=true for implicit TLS, or
adjust both for your provider’s STARTTLS port.