Security & trust

Security you can actually check.

Most businesses can't audit an AI vendor, so they're asked to take it on faith. We'd rather just explain how it works. Here is every protection on your bot, why it exists, and what it does not cover.

1. It answers from your content, or not at all

Before the bot writes anything, we search your content for passages relevant to the question and give it only those. If nothing relevant comes back, it doesn't get to improvise — it tells the visitor it doesn't know and points them to your contact channel.

This is why it won't quote a price you don't publish or promise a refund policy you don't have. It has nothing to invent from.

2. It can't be talked into going off-script

There's a known attack where someone hides instructions in text a bot will read — in a review, a PDF, a page — trying to make it ignore its rules. Two things stop it here.

Your documents are data, never instructions. Retrieved content is fenced off and explicitly labelled as reference material. Instructions found inside it are not followed.

The bot can't do anything. It has no tools, no actions, no access to your systems. Even a successful manipulation has nothing to actuate — there is no booking to cancel, no refund to issue, no database to touch. We keep a suite of known injection attempts as automated tests.

3. Your content is isolated from every other client

Every client's content lives in its own isolated space, enforced by the database rather than only by our application code: each request is scoped so a query that forgot its filter returns nothing rather than someone else's data. The account the application connects with has no privilege to bypass that rule, and the server refuses to start if it ever could.

We have automated tests that attempt cross-client reads and assert they come back empty. They run on every change.

Why the detail matters: "we keep clients separate" is what everyone says. The question is whether separation depends on every query being written correctly forever. Ours doesn't.

4. Public stays public

Content is marked public or internal when it's added. The website widget can only ever retrieve public material — enforced when the data is fetched, not by asking the bot nicely to keep a secret.

So if you later add staff-only documents for the internal tool, your customer-facing bot still cannot see them.

5. It can't run up a surprise bill

Usage-based AI has an ugly failure mode: someone points a script at your widget and you discover it in the invoice. Layered limits prevent that:

  • Per-visitor and per-address rate limits
  • A cap on how long any single answer can be
  • A cap on conversation length
  • A hard daily and monthly usage ceiling per account
  • A platform-wide circuit breaker behind all of it

When a ceiling is reached the bot stays polite and we talk to you. Your bill does not move on its own.

6. It's safe on your page

The bot's replies are rendered as plain text, never as HTML. It cannot inject a script, a tracker or a link into your page, even if something hostile ended up in the content it read.

The widget runs in its own isolated frame, so it can't touch your site's code or styling — and your site can't break it.

7. It only runs where you say

Your widget is locked to the domains you approve. Copy your install snippet onto an unapproved site and the browser refuses to render it. Domains with nothing configured are blocked by default — an unconfigured account is not an open one.

8. Visitor privacy

  • We never store raw visitor IP addresses. They're hashed on arrival.
  • Conversations are retained on a defined schedule, then deleted.
  • You can request an export or deletion of your account's data at any time.
  • We do not sell data, and your content is never used to train anyone's model.

9. We only read what you point us at

Our crawler reads your public pages, respects robots.txt, stays on your own domain, and has strict limits on how much it will fetch. It can't be redirected into internal systems — private and internal network addresses are blocked outright.

You review the list of everything we ingested before the bot goes live.

10. One switch turns it off

If you need the bot gone — a bad answer, a rebrand, a change of mind — one setting disables it everywhere it's installed, immediately. No waiting for you to edit your site, no leftover widget on a page you forgot about.

The honest limits

What this does not protect you from.

Being straight about this is part of the product.

It's still an AI, and it can still be wrong

Grounding makes wrong answers much rarer and traceable — it does not make them impossible. Every answer is cited so you can check.

It's only as good as your content

If your website says your hours are 9–5 and they're not, the bot will confidently say 9–5. Weekly re-crawls keep it in sync with your site; they can't fix your site.

It doesn't give advice

It won't offer legal, medical or financial guidance, and it won't make commitments beyond what you've published.

A public key is public

Your install snippet is visible in your page source — that's how the web works. It identifies your account, it doesn't authenticate it. The domain lock and usage limits are what make a copied key useless.

We're early

We're taking on our first clients. What you're getting is a carefully built platform and a very attentive operator — not a decade of battle-testing. If you need contractual uptime guarantees today, we're not the right fit yet.

Questions we haven't answered here?

Read the FAQ, or ask us directly — we're happy to go into as much technical detail as you want.