Security
How workspaces are kept apart, what protects your documents, and what we do not yet have.
Last updated 13 October 2026
Workspace isolation
Documents from all workspaces are stored in one search index, and every passage is labelled with its workspace's fixed internal identifier — not a name someone might later rename. Every search and every write is filtered by that identifier on our servers, so one workspace can never retrieve, change or delete another's documents. The filter is applied in one place, not by each feature, and the browser never chooses it.
Every request to our API is checked twice: the caller's sign-in token is verified, and their membership of the workspace they are asking about is confirmed. Naming a workspace in a request header is not enough to reach it — that check is applied centrally rather than route by route, so a feature added later inherits it rather than having to remember it.
Database access rules deny direct client reads by default. Anything sensitive — billing records, promotional codes, platform settings, the keys behind published widgets — is reachable only by the backend.
How the assistant behaves
- Answers come only from your knowledge. Every answer is drawn from the documents and website pages you added, and shows the source it used. If your material does not cover a question, the assistant says it does not have that, rather than guessing
- It only responds — it never acts on its own. The assistant replies to messages in the current conversation and nothing else. It runs no background or scheduled tasks, and takes no actions in other systems — no orders, refunds or emails on anyone's behalf
- Screened before the model sees it. Abusive or harmful messages can be blocked, and instructions hidden inside a message are always blocked
- Rules you control. Each workspace sets topics the assistant must decline, when to offer a way to reach a person, and daily limits on credits and voice minutes
- Everything is on the record. Every conversation is kept in your console with the sources each answer used and what it cost, until you delete it
- You configure it, without code. Your workspace settings — greeting, reply language, topics to decline, the contact message, whether sources are shown — become the assistant's instructions on every channel, and the knowledge base is whatever documents and pages you add, remove or re-check. There is no fine-tuning: behaviour changes the moment you save.
A step-by-step walkthrough is on How it works.
The website widget
A widget key sits in the HTML of every page you embed it on, so it is public by definition. It is treated that way: the key is restricted to the origins you name, and the backend refuses it on every endpoint except chat, voice connect and the widget's own configuration.
A key lifted out of your page cannot read your conversations, touch your documents, or reach your billing. That restriction is enforced centrally, not per feature.
Encryption and hosting
- All traffic is encrypted in transit with TLS
- Data is encrypted at rest by the cloud providers holding it
- We run no servers of our own; everything is managed cloud infrastructure, primarily in the United States
- Provider API keys are held as server-side environment configuration and are never sent to a browser
The providers that process your data are listed in full, with what each one sees, in our Privacy Policy.
Accounts and access
- Sign-in is handled by Google Firebase Authentication. We never see or store your password
- Each workspace belongs to one account — there are no shared logins or invited members
- Platform staff access is limited to an explicit allow-list, empty by default, so the absence of configuration denies everyone rather than permitting everyone
Payments
We never see or store card details. Payments are handled by Creem as merchant of record, on their systems.
Credits are added only after a payment confirmation whose cryptographic signature has been verified. Confirmations are checked for replay, so a repeated or replayed message cannot credit an account twice, and a confirmation that never arrives is reconciled against the payment provider rather than being taken on trust.
Your data, and your control of it
- Never used for training. Your documents, questions and answers do not train any model, ours or a provider's
- Never sold or shared for advertising or any other purpose
- Kept until you delete it. Nothing expires on a schedule
- Deletable at any time — a document, a conversation, or the whole account. See account deletion
- Call audio is never recorded. Speech becomes text during the call and the audio is discarded
What we do not have
Worth stating plainly, because a security page that lists only strengths is not much use to someone deciding whether to trust it.
- No SOC 2 or ISO 27001 certification. We are a small independent operation and have not been through either audit
- No contractual uptime guarantee. We depend on third-party providers we do not control
- No bug bounty programme — though reports are read, acted on and credited
- No on-premise deployment at present
If your procurement process needs any of these, tell us what you need and we will give you a straight answer about whether we can meet it.
Reporting a vulnerability
Email support@sourceteller.com with enough detail to reproduce it. We acknowledge within one business day and will keep you updated until it is resolved.
Please report privately first rather than disclosing publicly, do not access or modify data belonging to anyone else, and do not run disruptive testing against the live service. Report in good faith and we will not pursue you.
If a breach affects your data, we will tell you what happened, what was affected and what we did about it — without waiting to be asked.