Privacy

Last updated: 2026-06-21

XKG Desktop is local-first software. We have no servers, no cloud, no telemetry, no analytics, no cookies, no third-party trackers, and no account system. This page explains exactly what data the app handles and where it goes.

The five principles

1. Your data lives on your device

All conversations, captures, and settings are stored in a SQLite database at ~/.local/share/xkg-desktop/xkg-desktop.db (Linux/macOS) or %APPDATA%\xkg-desktop\xkg-desktop.db (Windows). You can open it, back it up, or delete it with standard tools.

2. The only network calls are the ones you make

The app calls out to a provider (Grok/Claude/ChatGPT/Gemini) only when you explicitly trigger a chat. Capture-and-sync calls go to XKG_HUB_URL (default http://127.0.0.1:8090) — that's your local cluster-hub, not a third-party server.

3. No analytics, ever

There are no Google Analytics, Sentry, Mixpanel, PostHog, or any other tracking SDKs in the binary. We don't even know how many people are using the app.

4. No account required

The Free tier requires nothing. Pro/Team are paid once and tied to a license key, not to your email or identity. We don't store customer records beyond the bare minimum to deliver the license.

5. You can verify everything

The entire codebase is open source (MIT) on GitHub. You can read every line of Rust, Dart, Python, and HTML. Build the binary yourself if you don't trust our releases.

What data is in the SQLite database?

Tables: providers, conversations, messages, sync_log. Provider API keys are stored encrypted (AES-256-GCM, key derived from a passphrase you set in the settings panel). All other fields are plaintext — they're your data.

What goes to the AI provider?

When you send a message, the message text and conversation history are sent to the provider you selected. This is the same as using the provider's web UI directly. The provider's own privacy policy applies once the data leaves your machine.

What goes to the cluster-hub?

When you capture via the global shortcut, the capture {text, title, tags, source: "xkg-desktop"} is POSTed to XKG_HUB_URL. The hub is a Python script you run on your own machine or a server you control. It writes the capture to xkg-user-imports.json and appends a line to from_desktop.jsonl for the mobile app to pick up.

What happens when you pay for Pro?

Stripe processes the payment. We receive your email and a license key. We don't receive your credit card number, billing address beyond what's required for tax, or any of your conversation data. The license key unlocks the Pro features in the app via an online check against the Stripe customer portal.

Cookie usage on this website

This site (seele.agency) sets one cookie: xkg_download_token, which is set when you enter the freeXKG coupon code on the downloads page. It contains an HMAC-signed token that authorises your browser to fetch the release files. It expires in 30 days and is deleted when you clear cookies.

Children's privacy

XKG Desktop is not directed at children under 13. We don't knowingly collect data from children.

Changes to this policy

If we change anything material, we'll bump the version date at the top of this page and post a note on the GitHub releases page.

Contact

Questions? Open a support ticket or file an issue on GitHub.