FAQ
Short answers to the questions we get most from developers and product teams.
Product
Do you charge for model usage? No. You bring your own key and pay the provider. Kletso charges a flat platform fee.
Which models work? Anthropic (Claude), OpenAI, Google and Groq through their chat APIs, plus any OpenAI-compatible endpoint. Pick provider and model per agent; the key is a project secret.
Which platforms? Flutter on Android, iOS, web (JS and Wasm) and desktop through a pure-Dart SDK. Native SDKs and a JavaScript widget are planned and use the same runtime.
Can a human take over? Yes. The built-in handoff tool marks the conversation as handed off and the assistant stops answering; your team continues from the Kletso inbox. Slack and Teams destinations and handing back to the assistant are planned.
Can the assistant start a conversation on its own? Only through rules. App events (track, screen) are matched against triggers you define; a match can show a notification, post a prepared turn or run a workflow. See Triggers and notifications.
Development
Do I need a backend? No for anonymous users. For signed-in users your backend issues a short-lived JWT so tools can act as that user.
Can I develop without the runtime? Yes. KletsoFakeBackend runs the protocol fixtures in-process, including tool calls, surfaces, confirmations and notifications. The example app ships with it.
How do I add my own widgets? Register a builder per component type and run dart run kletso_flutter:sync so the dashboard and the model know the props. See Custom components.
What if the model renders something wrong? Unknown types fall back to text; disallowed types are rejected by the runtime before they reach the app; malformed surfaces fail validation and the model is asked to fix them. Your app never crashes because of a model mistake.
Does it work offline? The SDK queues outbound frames while disconnected and replays server events after the last sequence it saw when the socket returns.
Operations
Where is data stored? On Cloudflare: conversation logs in Durable Objects, configuration in D1, secrets encrypted with per-organisation keys. See Security model.
How do I rotate a key? Create a new key, deploy, revoke the old one. Several keys can be live at once.
How do I test rules without real users? Triggers → Simulate an app event, in the development environment.