Where is my data right now?
Source-available, self-hostable, no vendor lock-in. lynox is built so that question has a one-sentence answer.
Where your data lives
Two shapes, one principle.
Your business data sits on a host you control. The only thing that leaves that host is the inference call to whichever LLM provider you pointed lynox at — and only for the duration of that single request.
Self-hosted Managed (lynox.ai)
───────────── ──────────────────
Your server Per-tenant container
│ │
├── lynox process ├── lynox process
├── SQLite (conversations, ├── SQLite (same)
│ knowledge graph, vault) ├── Vault: AES-256-GCM
└── outbound: │ encrypted at rest
└── LLM provider API └── outbound:
├── LLM provider API
└── Bugsink errors
(1st-party EU,
PII-scrubbed) Which LLM providers see your prompts
You pick. We never substitute.
You choose the provider at install time. The control plane never swaps one for another and never proxies through a lynox-operated relay.
| Provider option | Self-hosted path | Managed path |
|---|---|---|
| Anthropic (Claude) | Direct from your host to api.anthropic.com. | Direct from your tenant container to api.anthropic.com. No lynox-operated proxy. |
| Mistral (Mistral Large / Ministral) | Direct from your host to api.mistral.ai (Paris, EU). | Direct from your tenant container to Mistral. No lynox-operated proxy. |
| Custom (OpenAI-compatible) | Whatever endpoint you point at — Ollama on localhost, LM Studio, LiteLLM, Groq, vLLM, a corporate gateway. Direct. | Same, configured per tenant. |
Anthropic and Mistral commit (in their paid API terms) not to train on inference inputs. For Custom endpoints, whatever-you-point-at follows that endpoint's ToS — point at a free-tier API and you may be opting into training; point at an on-prem Ollama and nothing leaves your network. Sub-processor details live in the DPA.
The license keeps you free to leave
The point of Managed is convenience, not lock‑in.
lynox ships under the Elastic License 2.0 — source-available, free for any use including production and customer-facing, with one restriction: you may not resell lynox itself as a competing managed hosting service. If Managed ever stops fitting, the migration wizard exports your full instance state — vault, database, knowledge graph — to a Docker volume on a host you control. The data shape is identical either way, so there is no re-import friction.
What lynox keeps off the wire
Three things we deliberately don't do.
- No third-party analytics inside lynox. The only outbound telemetry is error reporting to a first-party self-hosted Bugsink (bugs.lynox.cloud, EU, PII scrubbed): always-on for Managed under Art. 6(1)(f) legitimate interest, opt-in for self-hosted via
LYNOX_BUGSINK_DSN. The marketing site uses Plausible, opt-out via cookie banner. - No automatic cloud backup. Self-hosted backups are encrypted with your own key and go where you point them (Google Drive or a local disk path today). Managed-tier backups stay inside the per-tenant Hetzner volume.
- No “improve our service with your data” toggle. Inference is one-shot. Logs that retain prompt content are opt-in and disabled by default; see AI Transparency.
Dig deeper
- Data sovereignty — which country processes what, sub-processor list, residency commitments.
- EU compliance — GDPR mapping, lawful basis, DPA, data-subject rights.
- AI transparency — EU AI Act disclosure, model list, limitations, human-oversight model.
- Swiss data protection — revFADP compliance for Swiss businesses (operator is a Swiss sole proprietorship in Rapperswil-Jona).
Found a security issue?
Responsible-disclosure path: SECURITY.md on the source repo. Issues land directly with Rafael; expect a first reply within a few working days.