Security and privacy
Where your data lives, what is encrypted, what we log, and what the assistant can and cannot see.
Your data is yours, and it is separated
Every row that belongs to a workspace carries its workspace id, and every query the product makes is scoped by it. That is not a convention we try to follow -- data access goes through helpers that take the workspace as an argument, so a query that forgets it does not compile. There is a test that builds two workspaces and fails if either can reach the other's rows.
Credentials are encrypted and not readable
Every secret you give us -- a WordPress application password, a Webflow token, a CRM key, your own Anthropic key -- is encrypted with AES-256-GCM before it is stored, and it is never sent back to the browser. Not to you either. To change one you replace it; there is nothing to read.
API keys we issue work the other way round: we store only a hash, so the key itself is shown once at creation and never again. Revoking one takes the hash with it, so a revoked key cannot be verified at all rather than being refused by a check.
What the assistant can see
An assistant answers from the knowledge base it is attached to and nothing else. It cannot read your other knowledge bases, your conversations, your leads, or anything about your workspace. If a passage is not in the content you gave it, it is not in the answer.
The widget also sends a small amount of context about the page it is on -- the URL, the title, the headings -- so the answer can be relevant to what the visitor is reading. You control this: page excerpts, selected text and headings can each be switched off per widget, and personal data in the page can be redacted before it is sent.
What we log, and what we do not
We record what an assistant was asked and what it answered, because that is the conversation you came to read. We record who changed what in your workspace, in the audit log.
We do not store visitor IP addresses. Where an address is needed -- for rate limiting, or so an audit entry can be tied to a location -- we store a hash of it. You can still filter the audit log by an address, because the filter hashes what you type before it compares, but the log itself is not a record of where anyone works from.
Bug reports capture the page and recent activity to make a report useful, and everything that looks like a credential is removed before the report is stored -- by name and by shape, so a token in a field nobody thought to exclude is caught anyway.
Files
Uploaded files live in object storage, never in the database, under a key prefixed with your workspace id. Deleting a document removes the file. Deleting a workspace removes every file it ever uploaded, not only its rows -- the objects go first, so a storage failure cannot leave them orphaned.
Retention
A deleted workspace is recoverable for 180 days and then permanently purged. A deleted document, chunk or conversation is removed immediately. Analytics are kept for the window your plan includes.
Sub-processors
Model inference goes to Anthropic and OpenAI. Payments go to Lemon Squeezy, who are the merchant of record. Email goes to Resend. On the Bring Your Own plan the model inference goes to your own provider accounts instead, under your agreement with them.