KalCode is in private development. This page lists the controls in current development builds and the ones planned before release.
Security
KalCode controls powerful tools on your machine, so security is part of its architecture, not a feature added later.
Commitments in current builds
- Local-first
- Projects, threads, events and settings are stored on your device. Current development builds send no user data off the device.
- No telemetry
- Current builds include no telemetry or analytics of any kind.
- IPC allow-list
- The app's interface can call only an explicit allow-list of KalCode commands, each of which validates its input natively. The interface cannot pass file paths, shell arguments or SQL to the native side, and generic file-system, shell and HTTP plugins are not available to it.
- Strict content policy
-
The app's interface runs under a strict Content-Security-Policy: no remote scripts, no
remote content, and no
eval. Developer tools are disabled in release builds. - OS keychain for secrets
- Credentials are stored in your operating system's credential store. Secret values are redacted from debug output, cleared from memory when dropped, and never written to the database, logs, events or interface.
- Redacted local logs
- Logs stay local and pass through a redaction step for credential patterns.
- Safe database handling
- Parameterized SQL only, checksummed migrations, a backup before each upgrade, and a refusal to downgrade.
- Memory-safe native code
- Unsafe Rust is forbidden across the native codebase.
- Supply chain
- Lockfiles are committed, and dependency audits run in continuous integration.
Zero company AI cost: your provider, your account
KalCode connects Claude Code, Codex and Gemini CLI through their documented integration methods, using your own accounts. Model usage is billed by each provider under your account. KalCode holds no company provider credentials for your use, does not charge for, resell or meter provider usage, and never falls back to a KalCode-paid service. Your provider credentials stay in your operating system's credential store.
Local voice
KalVoice, in development, transcribes dictation with a speech model that runs on your own computer. Audio is held in memory only while it is transcribed, then discarded: it is not stored and not uploaded. The speech model is downloaded only with your consent and its checksum is verified. Events record that a dictation or request happened, never its words.
The permission model
Every action an AI agent wants to take is checked against the permission mode you choose. Providers and their output are treated as untrusted input. KalVoice is not above the model: it cannot raise its own authority or enable Bypass. Consequential decisions are recorded in an audit log. Read the permission documentation for details.
Planned before release
- Workspace containment: path canonicalization and symlink-escape detection.
- Provider isolation with sanitized environments and scoped credentials.
- The permission engine with an audit log of consequential decisions.
- Code-signed installers and signed updates.
- Server-side plan and usage checks, and verified billing webhooks, when paid plans launch.
This website
kalcoded.com is served with a strict Content-Security-Policy, HSTS, and headers that block framing, MIME sniffing and access to your camera, microphone and location. The early-access endpoint accepts only small JSON requests, validates every field, and is rate-limited. It stores only the email addresses people submit; see the privacy notice.
Reporting a vulnerability
If you find a security issue in KalCode or this site, email kalcodebuilds@gmail.com with the details and steps to reproduce. Please give us a chance to fix it before sharing it publicly.