One client, one deployment, one boundary, what that means concretely: containers, database, credentials, the AI boundary and the audit chain.
Tenancy
Each client runs their own complete instance: application, worker, database and document store in isolated containers on a machine that serves no other client. There is no shared platform, no pooled database, no cross-tenant anything, isolation is the deployment model, not a configuration option.
Data at rest
- Store
- One PostgreSQL database per deployment: documents, search index, conversations, audit log, job queue.
- Credentials
- Connector and channel secrets are write-only after entry: accepted, used for syncing, never displayed again, and redacted from every API response.
- Webhooks
- Every messaging platform's signature scheme is verified; unsigned or mis-signed calls are rejected before any processing.
The AI boundary
Indexing (reading and preparing documents for search) runs entirely inside the deployment. Generation follows the deployment's configuration: the fullest posture is a self-hosted deployment that answers entirely on its own hardware, where nothing leaves the boundary at all. Deployments using the Naxis AI service send the question and the permission-filtered excerpts (zero-retention terms, see sub-processors); the model never sees documents the asking person cannot see, because permission filtering happens before the request leaves.
In every configuration: your data is not used to train models, and nothing is retained after the answer returns.
Permissions
Access is group-based and settled before a question is even considered, everywhere the assistant answers, never in any one surface. Accounts activate by invitation link; administrators never see or set a password. Channel guests receive nothing until groups are explicitly opened to them.
The audit chain
Every consequential event, questions, answers with their citations, administrative actions, syncs, erasures, lands on an append-only, hash-chained log. Verification recomputes the whole chain on demand from the console; a broken link is impossible to hide. Rows cannot be edited or deleted; retention prunes whole aged spans and records that it did.
Updates
Releases are versioned images; deployments install them in a quiet window after a safety backup and roll back on their own if the health check fails. What changed in each release is shown in the console in plain language.
Request to see
An account action, the request files under
your Naxis account, and the answer arrives on its thread.