Privacy
Dota Translator uses email-code accounts and hosted translation. Here is what leaves your PC and what we keep.
Last updated: 28 October 2026
Who is responsible
Dota Translator is operated by Kristjan Ranna in Estonia. Contact support@dotatranslator.live for support or a request about your data.
Your account
We store your email, account creation time, trial deadline, subscription expiry, payment references and a hash identifying the PC bound to your account. The machine identifier itself is not sent. Login codes and session tokens are stored as hashes on the server. Resend sends the login email.
Your chat
Only lines needing translation and the language requested are sent through our Netcup server to Google's paid Gemini API. We do not save chat text in server logs or the account database. A temporary in-memory cache remembers repeated translations. Text you choose to send with Ctrl+Enter is also sent for translation. Google's Gemini API terms apply to its processing.
Usage counts
While Dota is in front, the signed-in app sends a heartbeat about once a minute. The private stats page counts distinct accounts seen in the last three minutes, daily and monthly activity, translated lines and API usage. These are app activity observations, not proof that a match was played. Your network address is used for rate limits and abuse prevention.
Payments
Translator access costs EUR 7 for three months after the three-day trial. Card checkout is handled by Swapped; direct crypto payments use USDC on Polygon. Payment providers process their checkout details under their own policies. We retain order and confirmed transaction references to grant access and prevent the same payment being used twice. Skin Changer and Translator purchases grant access to their respective products separately.
What stays on your PC
- Your settings and encrypted sign-in session, protected with Windows encryption when available.
- said.json, the translated replies you sent, so they can be reused or corrected locally.
- Small screen captures used to identify heroes or the chat channel are processed locally and discarded.
How the app works
Chat comes from Valve's Game State Integration feed. The app does not read Dota's memory or inject code. It presses keys only when you ask to send a translated reply. Updates come from GitHub; missing hero portraits can come from Valve's image server. API credentials remain on our server.
This website
Google Analytics measures page visits and button clicks only if you accept Website analytics. Reddit ad measurement is a separate optional choice. If you accept it, the Reddit Pixel measures page visits, download-page visits, installer-link clicks and completed first-time email-link signups. It uses browser identifiers, ad click information and connection information such as your IP address and browser to match activity to Reddit ads. These identifiers may be personal data. We do not send Reddit your email, device hash, login code or session token. Downloads are measured as clicks, not proof that installation completed.
Both choices are off until you accept them. Previous consent to Google Analytics does not enable Reddit measurement. Use Privacy choices to change either setting or reject both. Rejecting does not affect downloads, sign-in or translation. Withdrawing Reddit consent removes its cookies from this site and reloads the page to stop the loaded pixel; it does not erase data already sent to Reddit. You can also remove site cookies in your browser. Reddit processes received data under its Privacy Policy.
A sign-in link opens a confirmation page on this website. Its secret is removed from the address bar immediately and consumed before analytics or ad scripts load. A temporary receipt lets that page check whether the waiting app completed sign-in. Only a newly created account produces a random conversion identifier; returning-user logins are not signups. Measurement requires the confirmation page to remain open until sign-in completes. Code-only sign-ins and sign-ins in a different browser may not be attributed. The receipt contains no session credentials and expires with the login challenge after 15 minutes.
GitHub Pages and Cloudflare serve the site and process connection information. Website analytics and ad measurement are separate from the app's account activity counts.
Retention and your requests
Account and payment records are kept to provide access, reconcile payments and handle support. Hashed device trial history prevents repeated free trials. Login codes expire after 15 minutes; sessions expire after 90 days without use and can be ended by signing out. Contact support to request access, correction or deletion of your account data, or ask about records retained for payments and trial abuse prevention.