Security
An honest security posture.
Self-hosting is the strongest privacy control there is: your data sits on infrastructure you run. Here is what we enforce in the software, how credentials and inference are handled, and the decisions that back it.
What the software enforces
Controls, not promises.
- Append-only audit log. The audit table accepts inserts only — no UPDATE, no DELETE — and a test enforces it.
- Multi-tenant isolation contract. A load-bearing integration test blocks any cross-tenant read, across every entity type, and fails CI if it ever regresses.
- Credentials as env-var names. The codebase references credential names, never values. Secrets live in your environment, not in the repo.
- Operator-confirm gates. Agent actions that reach the outside world stop for human approval by default (ADR 0021).
- Zero-data-retention inference proxy. On the SF-default tier, prompt content is not retained and your persistent data never transits Solutions Factory.
- EU-sovereign and self-hosted options. Deploy on your own EU cloud, your own GPU, and your own database — the Sovereign tier keeps inference local too.
Data residency and inference
Where your data is, and where it is not.
Persistent data — contacts, deals, itineraries, money records, agent telemetry, audit logs — sits in your database, on infrastructure you control. It does not phone home, and there is no shared multi-tenant cloud holding it.
Inference is the one component that may leave your network, and only if you choose the SF-default or BYOK tier. On the SF-default tier, prompt content passes through a zero-data-retention proxy and is not stored. On the Sovereign tier, nothing leaves at all: the model runs on your own GPU. DPA and SCC paperwork is available for the managed and SF-default tiers; the Sovereign tier sidesteps most of it by keeping inference in-house.
The decisions behind it
Architecture decision records.
The posture above is recorded as ADRs in the product repositories. Links activate once the public GitHub org is confirmed.
- ADR 0013
- Three-tier compliance posture (sovereign cloud, EU residency, self-hosted LLM).
- ADR 0017
- Operator-zone secrets — credentials referenced by name, values held in the environment.
- ADR 0021
- Operator-confirm gates on outbound agent actions.
- ADR 0023
- Read-only dashboard — the control plane observes, it does not act unsupervised.
- ADR 0042
- Single-operator credential vault.
- ADR 0001
- Substrate baseline — append-only audit log and tenant-scoped data plane.
- ADR 0006 (this site)
- Three-tier inference model, including the zero-data-retention proxy posture for Tier 1.
Due diligence welcome
Send the security questionnaire.
We answer security questionnaires, and we would rather you read the ADRs than take our word for it. Start a conversation and we will route it to a named human.