← Back to homeLegal

Privacy Policy

Last updated: August 15, 2026

The short version

  • Your save files never leave your computer. Parsing happens locally; a structured text briefing is sent to the AI for analysis (see below).
  • The app doesn't have accounts and doesn't track you. No analytics, no telemetry, no ads.
  • You choose the AI provider. Gemini is the default; local Ollama and LM Studio, OpenRouter, and compatible endpoints are also supported.
  • The only data that leaves your machine is what you explicitly choose to send: game briefings to a remote AI provider, Discord relay messages (if you connect Discord), feedback reports (if you submit one), and Chronicle story text (if you publish it).
App Privacy

Stellaris Companion Desktop App

This section covers the desktop application available on Windows, macOS, and Linux.

1. Data that stays on your device

The vast majority of data Stellaris Companion works with never leaves your computer. This includes:

  • Stellaris save files — read directly from your Stellaris save directory. We never copy or upload them.
  • Game history and session data — snapshots, events, briefings, and chronicle narratives stored in a local SQLite database.
  • App settings — window state, preferences, onboarding status, and your save directory path.
  • Application logs — diagnostic logs stored locally with a maximum size of ~20 MB, automatically rotated.

All of this data is stored in your operating system's standard application data directory and is removed when you uninstall the app (behavior may vary by platform).

2. Your AI provider and credentials

Stellaris Companion lets you choose Gemini, Ollama, LM Studio, OpenRouter, or a compatible custom endpoint. A credential is required only when the provider you select requires one.

  • Provider credentials are encrypted at rest using your operating system's secure credential storage (macOS Keychain, Windows Credential Manager, or Linux secret service).
  • A credential is sent only to the provider endpoint you configure. We never receive, store, or have access to it on our servers.
  • Ollama and LM Studio use local loopback addresses by default and do not require an API key. Ollama cloud models process requests remotely.
  • You can replace or delete a saved credential at any time from Settings.

3. Data transmitted to external services

The following data is sent outside your device when you use specific features. Each is detailed below.

Selected AI provider

When you ask the Advisor a question or generate a Chronicle, the selected model receives your question or writing instruction plus extracted campaign context such as economy, military, and diplomacy. The raw save file is not sent. The same selected provider and model power both Advisor and in-app Chronicle generation.

Local Ollama and LM Studio models can keep inference on your device. Gemini, OpenRouter, Ollama cloud models, and other remote endpoints process the submitted context under that provider's terms and privacy practices. We do not control how a selected provider processes data sent to it.

Discord (optional)

If you choose to connect Discord, we request access to your basic profile information (user ID, username) and server list. Authentication uses the OAuth2 PKCE flow — we never see or store your Discord password.

When you use the Discord bot to ask questions, your question is relayed through a Cloudflare Worker to your running desktop app, and the response is relayed back. No game data is stored on the relay server. Relay sessions expire after 7 days of inactivity.

You can disconnect Discord at any time from Settings. This immediately deletes all stored tokens and metadata.

Feedback reports (optional)

If you choose to submit a feedback report, the following is always included: an anonymous install ID (a random identifier with no personal information), your description of the issue, app version, platform, and Electron version.

You may optionally attach additional diagnostics (game info, logs, a screenshot, error details, or LLM context). Every optional attachment is off by default and requires you to explicitly enable it before submitting.

Feedback reports are submitted to a Cloudflare Worker, which creates a GitHub issue on our public repository. Your IP address is used only for rate limiting (10 reports per day) and is not stored beyond a 24-hour window.

Chronicle publishing (optional)

When you choose Publish from the Chronicle, the app sends the story title, empire name, language, and structured chapter text to this website over HTTPS. Your Stellaris save file, local save path, prompts, API key, and AI provider metadata are never included.

Publishing does not require an account. The app creates a random publisher identifier and a secret management key. The key is encrypted on your device; the server stores only its SHA-256 hash so you can update or delete your story later.

Stories are unlisted by default and available only to people with the link. If you request discovery, the story remains excluded from search engines and the public archive until it is approved.

Auto-updater & announcements

The app periodically checks GitHub Releases for updates and fetches an announcements file from our GitHub repository. These are passive GET requests — no user data is sent during these checks.

4. What we don't do

Stellaris Companion does not:

  • Collect analytics or telemetry of any kind
  • Use crash reporting services (no Sentry, Bugsnag, etc.)
  • Run A/B tests or feature experiments
  • Track your behavior, record your session, or use heatmaps
  • Include any third-party tracking scripts, ads, or ad networks
  • Use cookies, localStorage, or device fingerprinting
  • Require an account to use

5. Third-party services

Depending on the features and AI provider you choose, the app can interact with the following third-party services. A custom endpoint is governed by the operator and terms you select.

ServicePurposePrivacy policy
Google GeminiDefault AI providerGoogle AI Terms
OpenRouterOptional remote AI providerOpenRouter Privacy Policy
OllamaLocal models or optional cloud modelsOllama Privacy Policy
LM StudioOptional local model serverLM Studio Privacy Policy
DiscordOptional bot integrationDiscord Privacy Policy
CloudflareWebsite hosting, Chronicle publishing, Discord relay & feedback processingCloudflare Privacy Policy
GitHubFeedback issues, updates, announcementsGitHub Privacy Statement

6. Data retention

DataRetention
Local database, settings, and logsUntil you remove individual campaign data or uninstall the app
Encrypted AI provider credentialsUntil you clear the credential or uninstall
Discord tokensUntil you disconnect Discord or uninstall
Feedback rate-limit records24 hours (auto-expires)
Published Chronicle stories and anonymous publisher identifiersUntil you delete the publication from the app. The active story row is removed immediately; Cloudflare D1's automatic Time Travel history may retain a recoverable database state for up to 30 days on a paid Workers plan or 7 days on the Free plan.
Discord relay sessions7 days of inactivity (auto-expires)
Feedback reports (GitHub issues)Permanent (public GitHub repository)

7. Your controls

  • Delete a provider credential — Settings → Intelligence Uplink → clear the relevant key field → Apply Changes.
  • Manage local campaign data — Campaign History lets you rename, trash, restore, reset, or permanently delete previous campaigns.
  • Disconnect Discord — Settings → Disconnect Discord. All tokens and metadata are immediately deleted.
  • Control feedback data — every optional diagnostic toggle defaults to off. You choose what to include each time.
  • Manage a published Chronicle — use the same save's Chronicle page to update, copy, open, or permanently remove its public story.
  • Delete all local data — uninstall the app. This removes the database, logs, settings, and encrypted credentials.
  • Request deletion of a feedback report — contact us (see below) with the GitHub issue number, and we will close and remove it.

8. Children's privacy

Stellaris Companion is not directed at children under the age of 13. Stellaris itself is rated T (Teen) by the ESRB and PEGI 12. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided personal information through the feedback system, please contact us so we can remove it.

Website Privacy

This Website

This section covers the Stellaris Companion marketing website you are currently viewing.

Analytics

This website uses Google Analytics for basic, anonymous usage statistics (pageviews and link clicks). We use this to improve the site. We do not use analytics for advertising or personalization.

Google's use of analytics data is governed by the Google Privacy Policy.

Cookies

This website uses cookies only for Google Analytics. We do not use cookies for advertising or personalization. You can control or disable cookies through your browser settings.

Hosting

This website is hosted on Cloudflare Workers and stores published Chronicle documents in Cloudflare D1. Cloudflare may process standard web request metadata as part of its hosting service. See the Cloudflare Privacy Policy for details.

Changes to this policy

We may update this privacy policy from time to time. Changes will be posted on this page with an updated date at the top. Because Stellaris Companion is open source, all changes to the app's data practices are visible in our public GitHub repository.

Contact

If you have questions about this privacy policy or want to request deletion of a feedback report, use our contact and support guide. It explains what to include in a public request and what sensitive information must not be posted.

Open source · MIT License · Your data, your machine