Privacy Policy
Last updated: 2026-06-13
Altros Studios, LLC ("we", "us", "our") makes Game Demon, an AI coaching desktop app for competitive games. This page describes what data we collect when you use our products, where it goes, and the choices you have. Plain English, no dark patterns.
The short version. When coaching-data sharing is on (it is on by default, and you can turn it off anytime in Settings → Coach Feedback → Share My Coaching Data, which stops everything):
- We send your coach calls, the post-match analysis, your Coach Chat and Ruby messages (both yours and the AI's replies), and your voice commands (as text) to our servers.
- The visual coach sends a structured reading of your screen (labels and counts like crosshair position and how many players are visible), never the screenshot image itself.
- We include the relevant game state with each call, plus any rating you give.
- It is tied to an ID that re-hashes every 90 days. Coaching and feedback records are kept for up to 12 months, then auto-delete. A de-identified training archive is kept for up to 24 months, then auto-deletes (details under "How long we keep it").
- We do not collect: the screenshot image, raw microphone audio (it is transcribed, then discarded), your demo or replay files, your in-game team voice chat, your real name, or your IP address.
- Turning the setting off stops all of it, including the screen reading. Your local coaching still works.
What we collect
License key (direct distribution)
Game Demon is distributed directly from Altros Studios via altrosstudios.games. When you purchase, you receive a license key tied to your email. We store only a SHA-256 hash of the key, never the raw key itself. The key is bound to one machine via a hashed hardware fingerprint at first activation; you can revoke that binding any time from your account dashboard.
Customer email (direct distribution)
If you bought Game Demon directly, we hold your email (lowercased) and a Stripe customer ID. Used for: license delivery, sign-in magic links, refund confirmations, and subscription state changes. No marketing email without opt-in.
Steam ID (SteamID64) — legacy
If you originally signed in via Steam (pre-2026-05-15 Steam retirement), we read your SteamID64 and use it to look up your entitlements (free vs Pro tier, token balance) on our backend. We don't sell or share Steam IDs. New customers do not provide a Steam ID; license-key entitlement is the path forward.
In-game state from Counter-Strike 2 (GSI)
CS2's Game State Integration sends Game Demon your match data in real time — round outcomes, your money, weapons, score, position. The desktop client writes the raw stream to a local session log on your computer and uses it to build a post-match summary. The raw GSI feed is not transmitted to our servers. When a coach call fires, the client constructs a coaching prompt from the relevant slice of game state and sends that prompt to a cloud LLM for inference — see "Coaching prompts and outputs" below.
Demo files (.dem)
Demo files are parsed locally on your machine. The match metadata we extract (round timeline, kills, money state, weapon usage) is saved to a local SQLite database in your Game Demon data directory. The demo files themselves are never uploaded to our servers.
Community features (website)
The Game Demon community page on this website (feature requests and trailer voting) lets you take part without an account. To keep out spam and vote manipulation without forcing you to log in, we compute a short-lived, one-way hash of your IP address combined with a secret that rotates daily. We never store your raw IP address, the hash cannot be reversed back to it, and it auto-deletes within about a day, so it cannot be tied to you or correlated from one day to the next. No other personal data is collected for these features. If you submit a feature request while signed in to your account, it is tagged as coming from a verified owner; otherwise it is fully anonymous. Every submission is held and reviewed by us before it can appear publicly.
Coaching prompts and outputs
The prompts we send to language models include in-game state (your money, weapons, score, recent rounds) and a buffer of recent coach output. Outputs from those models are saved to your local session log. When coaching-data collection is on (see "Coaching content and your interactions" below), the coach and Ruby outputs are also uploaded to our backend so we can improve the coach and train future models.
Visual coaching (screen frames)
While you play, the visual coach periodically captures a single frame of your Counter-Strike 2 window and sends it to a cloud vision model (Groq) so the model can produce a structured reading of what is on screen: a small set of labels and counts such as the UI state (gameplay, scoreboard, buy menu), where your crosshair sits, how many players are visible, and your cover state. The model is instructed never to output player names, and the reading carries no coordinates or identities. The frame is used for that inference only; we do not store the screenshot image on our servers.
When coaching-data collection is on (see below), that derived structured reading — the labels and counts, never the image — is uploaded to our backend alongside the rest of your coaching content so we can improve the visual coach and train future models. It is anonymized and auto-deletes on the same schedule as the rest of your coaching records (up to 12 months — see "How long we keep it").
Coaching feedback (v1.0 through v1.6)
When you rate a coach call thumbs-up or thumbs-down, or submit feedback through the in-app form, that gets stored in our database (DynamoDB, AWS region us-east-1) keyed by your player identifier. The associated coach output is included so we can review what you reacted to. This data is retained for up to 12 months, then auto-deletes (a DynamoDB time-to-live).
Coaching content and your interactions (v1.7+)
To improve the coach and train future versions of our AI personas, Game Demon records and uploads your coaching sessions. This collection is on by default and is governed by a single setting (see "Coaching data collection" under Your choices). When it is on, we collect:
- What the coach and Ruby say: every live coaching call, the post-match analysis, and the chat and voice answers they generate.
- What you say to them: the messages you send to Coach Chat and to the Ruby assistant, and the voice commands you speak, which are transcribed to text and stored as text.
- The game state at the moment a call fired: round number, score, your money, your armor, your weapons, what side you're on, what map. We do not collect your raw position coordinates or your teammates' identifiers.
- The visual coach's structured reading of your screen: the labels and counts described under "Visual coaching" above (UI state, crosshair position, visible-player counts, cover state). This is the model's interpretation of the frame, never the screenshot image itself.
- The active persona (Demon, Analyst, Veteran, or Savant), the tone, and any rating or written note you choose to give. From v1.7 the binary thumbs are joined by a six-signal chip selector (Good call, Wrong call, Wrong timing, Wrong tone, Too generic, Not right now); a rating is optional and captured content is uploaded whether or not you rate it.
- A rotating hash in place of your Steam ID (see below).
Records do not include: your email, your IP address, your real name, raw microphone audio, screenshot images of your screen (we store only the structured reading described above, not the picture), your in-game team voice chat, or your replay files.
Anonymization and hash rotation
Your Steam ID is never stored in plaintext alongside coaching data. On our backend, before anything is written, we replace it with a keyed hash (HMAC-SHA256) computed from a server-held secret combined with the current 90-day period. The same player therefore hashes to a different value each period, which means records from one quarter cannot be linked to records from another quarter using only the stored data. Collected records auto-delete up to 12 months after creation (a DynamoDB time-to-live). Because the identifier key rotates faster than records expire, a record older than its 90-day period is no longer linkable to you — by us or by anyone with the stored data — for the remainder of its retention.
Token usage and entitlements
When you spend tokens on cloud LLM calls, we record the spend in our backend tied to your Steam ID. Pro subscriptions are billed via Stripe; payment card data is held by Stripe under their terms — we never see it.
Crash diagnostics
Local session logs (%APPDATA%\game-demon\logs\ on Windows) include event breadcrumbs and stack traces. We don't auto-upload these. You may share one with us when reporting a bug, in which case it becomes part of that bug report.
What we do NOT collect
- Raw voice or microphone audio (your spoken voice commands are uploaded to our speech-to-text provider, transcribed to text, and the audio is then discarded; we collect the transcript as described above, but never store the audio itself)
- Webcam
- Files outside the CS2 replays folder, your Downloads folder, and Game Demon's own data directory
- Real names, addresses, or payment card numbers (Stripe handles those)
- Browser history or system info beyond what Electron auto-reports for crash diagnostics
- Chat messages from CS2, Discord, or other external apps (your messages to Game Demon's own Coach Chat and Ruby assistant are collected, as described above)
Where data goes
Stays on your machine
- Raw GSI event feed
- Session logs (the rolling local record of GSI + coach output)
- Demo files
- Parsed match metadata (local SQLite)
- Coach output history (saved alongside the session log)
Note: coaching prompts (built from a slice of game state) are sent to the cloud LLM for inference. See "Third parties" below.
Our backend (AWS, us-east-1)
- Steam ID (for token balance and entitlement state)
- Token balance and entitlement state
- Coaching content and your interactions, with any ratings — keyed by the rotating hash, not your Steam ID (retained up to 12 months)
- If you answer the optional one-tap survey at purchase ("How did you hear about Game Demon?"), your answer — one of a handful of generic categories — is stored on your license record. It is optional, skippable, and never affects your purchase or features.
Third parties
- Groq — receives coaching prompts via our backend proxy for LLM inference. Prompts include the slice of in-game state relevant to the call (money, weapons, score, recent rounds, map) but not your Steam ID, email, or IP address. For the visual coach, Groq's multimodal model also receives the captured screen frame so it can produce the structured reading described under "Visual coaching"; the frame is used for inference and is not retained by us. Every coach call routes through here — Game Demon does not run a local LLM.
- Groq (fallback model) — if the primary model is rate-limited, the same prompt is retried against a smaller Groq model. We do not currently route inference to a separate third-party provider.
- Leetify (public API) — we may fetch public CS profile data (rank summary, recent matches). Public information only; no auth required.
- Steam Web API (Valve) — we verify your Steam authentication ticket. Valve handles per their privacy policy.
- Stripe — Pro subscription billing.
- Plausible Analytics — cookieless, aggregate-only analytics on altrosstudios.games (the website, not the app). No cookies, no persistent identifiers; visitor IPs are processed transiently with a daily-rotating hash and never stored (see plausible.io/data-policy). No consent banner is required and none is shown.
How long we keep it
- Local data — until you uninstall Game Demon or delete it manually
- Backend entitlements (and the optional purchase-survey answer, if you gave one) — for the lifetime of your license
- Coaching records, thumbs ratings, and feedback — up to 12 months, then auto-deleted
- De-identified training archive — periodically, records that inform coach training are copied into a separate archive (S3) after the identifier de-linking described above; the archive is retained for up to 24 months, then auto-deleted
- Stripe records — per Stripe's retention
Your choices
Coaching data collection (v1.7+)
Coaching data collection is on by default. You can turn it off anytime in Settings → Coach Feedback → Share My Coaching Data. When the toggle is off:
- Nothing is captured, even locally — the off switch stops recording at the source, not just uploading.
- Your personal coach profile (preferences, ratings, tone bias) continues to adapt to you locally — that profile is stored on your machine in the Game Demon data directory and is read by the client to condition each coach call.
- No new records of yours flow to our backend or the training pipeline.
- Records collected before you opted out remain until their scheduled auto-delete (up to 12 months), or until you request deletion sooner (see Data requests below).
There is no penalty for opting out. Game Demon's coaching quality is the same whether you're contributing to the training set or not.
Data requests
You can request a copy of your training data or ask us to delete it at any time, regardless of where you live. Submit either request at altrosstudios.games/privacy/data-request. We confirm the request via the email on file for your license, then either:
- Export request: we package the records tied to your current identifier hash into a downloadable ZIP and email you a 7-day link. Records from earlier 90-day periods cannot be included: the key rotation that protects you also means we can no longer tell which older records are yours.
- Deletion request: we remove all records tied to your current identifier hash — everything from the current 90-day period, which is everything that can be linked to you. Records from earlier periods are already de-linked by the key rotation (no one, including us, can connect them to you using the stored data); they remain in de-identified form until their scheduled auto-delete — up to 12 months for coaching records, up to 24 months for the training archive.
We aim to fulfill both within 7 days. EU and UK customers are entitled to a 30-day fulfillment window under GDPR / UK-GDPR; we hold ourselves to the 7-day standard regardless of where you're based.
Other choices
- Email support@altrosstudios.com for any other privacy question. We respond within 30 days.
- Uninstall to remove all local data
- Cancel Pro at any time via the Stripe customer portal
Children
Game Demon is not directed at children under 13. We don't knowingly collect data from them. If you believe a child has provided us with personal information, contact us and we'll delete it.
Changes to this policy
If we make material changes, we'll update the date at the top of this page. Continued use after changes means you accept them.
Contact
Questions? Email support@altrosstudios.com.