Privacy
Last updated 28 October 2026. D2Reminder is in an early test (alpha); this page will change with it, and changes will show here.
D2Reminder speaks timing reminders for your Dota 2 games. To do that it needs to know who you are (through Steam) and your game clock (through Dota 2's Game State Integration). This page lists everything it keeps, why, and for how long.
What we keep
| What | Why | How long |
|---|---|---|
| Your Steam ID, Steam display name and avatar link, from Steam when you sign in, and when you first and last signed in | To know which reminders and settings are yours | Until you delete your account |
A login cookie (d2r_session); the server stores only a hash of it | To keep you signed in | 30 days, or until you sign out |
| Your personal code, the token inside your cfg file | To match the game data Dota 2 sends to your account | Until you reset it or delete your account |
| Your settings: which reminders are on, their timings, phrases, volumes, presets, the preset each hero uses, and your language | To remind you the way you set it up | Until you delete your account |
| Your match history: when you played, your hero, team, mode, result, match length, and how often each reminder spoke | For the History page | A year, or until you clear it |
| Messages you send from the Contact page, with the patch, your language and your last game mode | To answer you and fix what you report | A year |
| Notifications: our answers to your messages, and announcements | For the bell and the list in Account settings | A year |
| Roshan, aegis, Tormentor, glyph and scan events from a match | So running timers survive a restart of our server mid-game | 24 hours |
| Test phase only: the raw game data Dota 2 sends, with the IP address it came from | To check our timings and clock against real games while we test | 30 days. Recording stops before the public launch. |
| A server log line when your game state changes and when a reminder is spoken, with a shortened account id (no IP address) | To find and fix problems | Rotated automatically by the server's system log |
Game data
The cfg file decides what Dota 2 sends. It switches on only these parts of Game State Integration: provider, map, player, hero and events. That is your game clock and game state, your own team, hero and the stats Dota 2 puts in the same block, and public events such as Roshan kills. Items, abilities, the minimap and everything else stay off. You can read the file in Notepad; its public copy and a description of each part are at github.com/d2reminder/gsi-config.
The server keeps this data in memory to time your reminders, and drops it once the D2Reminder tab has been closed and no game data has arrived for 6 hours. Apart from the match history and test recordings above, it is not written anywhere. Dota 2 gives players no hidden information about opponents through Game State Integration, and D2Reminder does not look for any.
Contact messages
A message from the Contact page is stored with your account and also filed as a ticket in our private issue tracker on GitHub, together with your Steam name and profile link, so we know whom to answer. GitHub keeps that copy under its own terms. When we answer there, the answer reaches you as a notification in D2Reminder; we do not need your e-mail address. Deleting your account deletes the D2Reminder copies at once; ask us and we delete the ticket on GitHub too.
Steam status
Dota 2 sends nothing while it sits in the main menu. So while a D2Reminder tab is open and no game data is arriving, our server looks at your public Steam profile about every 30 seconds to see whether you are playing Dota 2, and shows "Main menu" when you are. The answer is only kept in memory and never stored. With a private profile or private game details, Steam does not say, and the page simply waits for the first game.
Voice
Reminder phrases, including any custom text you write, are sent to ElevenLabs to be turned into speech. Only the text goes, not who you are; the resulting audio is cached on our server and reused for everyone who uses the same phrase. Keep personal details out of custom phrases.
In your browser
Besides the login cookie, signing in uses a short-lived cookie (d2r_login_state, 10 minutes) that protects the Steam login. The app keeps a few small notes in your browser's local storage: your theme and language, and whether the menu, its groups and the tour were opened or closed. Clearing your browser data removes them. There are no ads, analytics or tracking scripts on this site.
Images from Valve and Steam
Hero portraits and item icons load from Valve's image servers, and your avatar from Steam's, the same way other Dota 2 sites show them. Your browser asks those servers for the pictures directly, so they see your IP address like any site you visit. Fonts and everything else come from our own server.
Where it is kept
- The server and its database run on a virtual machine in Turkey.
- Database backups are kept for 7 days.
- Speech is made by ElevenLabs.
We do not sell or share your data with anyone else.
Your choices
- Reset your code in Account settings. The old cfg file stops working at once.
- Sign out to end the login on this browser.
- Clear your match history on the History page.
- Delete your account in Account settings (the gear at the top right). Your account, code, settings, presets, match history and match events are deleted immediately. Test recordings that include your games age out within 30 days.
- Stop sending game data at any time: delete the cfg file from Dota 2's
game\dota\cfg\gamestate_integrationfolder and remove the-gamestateintegrationlaunch option.
Questions
Sign in and write to us from the Contact page. Without an account, you can open an issue at github.com/d2reminder/gsi-config/issues; issues there are public, so never post your personal code.