Built like the AI products you actually want to use.
Six core capabilities engineered for production from day one — strict retrieval grounding, real operational analytics, surgical multi-tenant isolation, and provider flexibility.
Retrieval-grounded answers, not improvisation.
Every chat is anchored to your data. We chunk your knowledge with sentence-boundary awareness, semantically embed each chunk, and store vectors in a dedicated namespace per chatbot — strict tenant isolation at the vector layer.
- Smart chunking with sentence-boundary overlap
- Semantic embeddings tuned for retrieval recall
- Top-K semantic search at query time (configurable)
- Strict 'no fabrication' system prompt — falls back if unsure
Operational metrics, not vanity numbers.
We track what actually tells you whether your bot is working: per-bot fallback rate, latency p50/p95, hour-of-day activity, embedded-site breakdowns, conversation transcripts with replay. Built for product teams who measure outcomes.
- Fallback rate per chatbot — the #1 'is it useful?' signal
- Latency histograms with p50 / p95
- Per-embedded-site usage breakdown
- Full conversation logs with source URL + transcripts
Pick the model. Bring your key. Switch live.
Provider-agnostic dispatcher. Multiple leading LLM providers supported out of the box, each with a curated model list. Bring your own provider key — we validate it live before saving and the chats route through your account instead of ours.
- Multi-provider model routing
- Live API-key validation (test before saving)
- Tone, temperature, max-tokens controls
- Per-chatbot fallback message — 100% enforced
One snippet. Any framework.
Vanilla-JS widget, zero dependencies, themed from your dashboard. Drop a <script> tag into HTML, paste a React component into JSX, or use the iframe variant for pinned in-page placement. Every load registers an origin so you see exactly which sites are using the bot.
- Script tag, React component, or iframe — your choice
- Domain whitelist + per-origin activate/deactivate toggle
- Auto-themes with your brand colors
- Heartbeat tracking — know when a site removes the snippet
<script src="https://knot.ai/widget.js" data-chatbot-id="bot_..." data-api="https://api.knot.ai" defer ></script>
Built for SaaS scale on day one.
Two layers of tenant isolation by design. Row-level isolation on every database table scopes data by user identity. Each chatbot gets its own vector namespace — vectors can't bleed across tenants even at the storage layer.
- Row-level isolation on chatbots, knowledge, conversations, messages, embeds
- Per-chatbot vector namespace — strict semantic isolation
- Server-side ownership re-verification on every write endpoint
- Admin credentials never leave the backend — public-side key is safe for the browser
Audited boundaries. Yours alone.
Managed Auth with OAuth + magic-link, encrypted at rest, JWT verified on every backend call. Plan-aware limit enforcement at every write endpoint — chatbots, knowledge, embedded sites, monthly messages — all gated server-side, never trusted from the client.
- JWT verified on every protected route
- Plan limits enforced server-side (chatbots, knowledge, sites, messages)
- Per-origin deactivation — kill an embedded chatbot instantly
- Bring-your-own LLM key — your tokens never proxy through us
Try every feature, free.
One chatbot, 1,000 messages a month, no card. Upgrade only when you need volume.