Kalon is local by default. With a local model, a conversation is processed on your device and stored there. Kalon has no account, no server of its own, no analytics, no crash reporting and no automatic update check.
The two switches
| Switch | Default | Effect |
|---|---|---|
| Use online models | Off | Allows online model providers. Off means local only. |
| Block all network access | Off | Blocks all of Kalon's own outbound connections, including model downloads and online models. It works even when online models are off. |
On the Mac both are in Settings › Online models. On iPhone, Block all network access is in the Privacy section of Settings, and the online-models switch is inside Online models in the same section.
Both are enforced in Kalon's core, not only in the interface. Every request to an online provider must first obtain a permit from a single network gate, which checks these settings on every request. If the stored value is missing or unreadable, the gate refuses.
What blocking network access does not cover
- Your own tools. Commands the agent runs with
bash, and MCP servers you configure, are programs you chose, and they keep whatever network access macOS gives them. - Listening servers on the Mac. The local API server and Kalon Link accept connections from other devices if you turned them on. Both are off by default.
- Speech recognition on iPhone, which is provided by iOS. See below.
Every connection Kalon can make
| Connection | When | Allowed when blocked |
|---|---|---|
| Model downloads from Hugging Face, and Moonshine speech models from Moonshine's download server | Only when you start a download | No |
| Online model providers | Only when online models are on and you choose an online model | No |
| Realtime voice with OpenAI, xAI or Google (Mac) | Only in voice mode with an online model from one of these providers | No |
| MCP servers over HTTP, and their OAuth sign-in (Mac) | When a server you added is used or you sign in | No |
| Media links in replies (Mac) | When a reply contains a link to an image, video or audio file, Kalon loads it to show it inline | No |
| Kalon Link (iPhone to Mac) | When a paired phone uses the Mac's models, on your local network only | No, on the phone |
| Apple speech recognition (iPhone) | While you dictate or use voice mode | Not affected |
Links you click in a reply open in your browser.
Online models
Online models are off until you turn them on and add a provider. Kalon includes 13 providers: OpenRouter, Anthropic, OpenAI, DeepSeek, GLM (Zhipu), Together, Fireworks, Mistral, xAI (Grok), Google (Gemini), Perplexity, gitlawb and NVIDIA. You can also add your own OpenAI-compatible or Anthropic-compatible endpoint, such as a server on your own network.
When a turn uses an online model, that provider receives:
- The conversation's messages and Kalon's instructions for the model.
- Text extracted from attached documents, and attached images or the text recognized in them.
- In agent mode, the tool definitions and each tool's result, which can include file contents and command output.
- Saved memory notes only if you turned on Share memories with online models (Mac) or Let online models see your notes (iPhone). Both are off by default.
What the provider does with that data is governed by its own terms. Local models are unaffected by any of this.
API keys are stored in the Keychain on the device, are not synced to iCloud, and are read only by Kalon's core when a request is allowed.
Realtime voice
On the Mac, voice mode with an online model from OpenAI, xAI or Google streams your microphone audio to that provider for the length of the call, together with Kalon's standard instructions. The provider transcribes it and speaks the reply. With a local model, voice mode runs on the Mac.
Where data is stored
| Data | Mac | iPhone and iPad |
|---|---|---|
| Chats, settings, memory, usage and profiles | ~/Library/Application Support/Kalon/kalon.sqlite | Kalon's Application Support folder in the app container |
| Models | ~/Library/Application Support/Kalon/models | The same folder, excluded from device and iCloud backups |
| Attachment previews | ~/Library/Application Support/Kalon/attachments | The same folder |
| Build workspaces | ~/Library/Application Support/Kalon/workspaces | Not applicable |
| Skills | ~/Library/Application Support/Kalon/skills | Kalon's own storage |
| Cloned voices | ~/Library/Application Support/Kalon/voices | Not applicable |
| API keys, MCP sign-in tokens, Kalon Link credentials | Keychain | Keychain |
Settings › Account › Data folder › Reveal opens the Mac folder in Finder.
Kalon does not encrypt the database itself. Use your device's disk encryption, such as FileVault on the Mac, to protect it at rest. On iPhone, chats and attachments are part of the device's own iCloud or computer backups; downloaded models are not.
The app passcode
Settings › Security › App passcode locks Kalon at launch with a numeric passcode: four to eight digits on the Mac, at least four on iPhone. The passcode is stored only as a salted hash, never as text. After five wrong attempts, Kalon waits before accepting another, doubling the wait up to one minute. The passcode is a lock on the app's interface; it does not encrypt your data. On iPhone, when a passcode is set, Kalon also hides its content in the app switcher.
Voice and the microphone
- On the Mac, dictation, voice mode with a local model, and voice cloning are processed on the Mac.
- On iPhone, Kalon asks iOS to recognize speech on the device. If on-device recognition is not available for your language, iOS may process the audio with Apple's speech service.
- The camera in voice mode is a preview for you. Frames are not sent to any model.
Children
In a child profile, Kalon makes no network connections at all, whatever the household's settings.