Privacy Policy
Last updated: 22 June 2026
RuneTranslate is built so that your translation work stays on your computer. The website at runetranslate.com exists for two things: signing you in (so we know whether you're a Patreon supporter and translation runs at full speed), and shipping desktop updates. This page describes exactly what we collect for those purposes, and what we don't.
What stays on your computer (never sent to us)
- The game files you load (Japanese by default; any supported source language).
- The translated text you produce, your edits, and your project files (
.rtproj) — unless you turn on cloud translation memory or use a collaborative project, both described below. - Your translation-provider API keys (DeepL, OpenAI, Anthropic). They live encrypted on your Windows user account via DPAPI; they go directly from your machine to the provider you choose. RuneTranslate never proxies these requests.
What we do collect
Account data (only if you sign in with Patreon)
- From Patreon, on your authorization: your Patreon user id, the email on your Patreon account, your display name, your avatar URL, and the active membership tier + next-charge date of your pledge to our campaign. We use this to figure out whether you're a Free / Supporter / Pro tier user.
- Patreon OAuth access + refresh tokens, needed to re-check your tier on a 4-hour heartbeat without making you sign in again. These are encrypted in our database with AES-256-GCM (per-column key) so a leaked database dump doesn't directly expose your Patreon access.
- A stable machine id (a random UUID generated locally on first sign-in) that pins each auth token to one device, so a stolen token can't be reused on a different computer.
If you never sign in, we collect none of the above. The desktop app is fully functional signed out — translation just runs slower (free tier throttle).
Cloud sync (paid features — only if you opt in)
- Cloud translation memory — if you're signed in on a paid tier and use cloud translation memory, the source-text → translation pairs your app caches are synced to a private, per-user store on our server so they're available across your devices. They're yours alone — never shared with other users — and are deleted when you delete your account. Review or clear them at /account/translation-memory.
- Collaborative projects — if you create or join a shared project, that project's source and translated text plus each member's edits are stored on our server so invited collaborators see changes in near real time. They're visible only to members you invite, and are deleted when the project or your account is deleted.
Both are off unless you turn them on. With cloud sync off, your translation memory and project text never leave your computer.
Desktop update channel
- The desktop app polls
/api/releases/<channel>/latest.ymlroughly every four hours to check for a new version. The request carries no identifying data beyond what your browser/HTTP client normally sends (IP, User-Agent). - When you download an installer, we record an anonymous download stat: SHA-256(IP + daily-rotating salt), the country (Cloudflare-derived), the User-Agent string, and a timestamp. The salt rotates daily, so we can count unique downloads per day without ever storing your IP address.
Patreon webhook events
When Patreon notifies us that you've pledged, updated, or cancelled, we store the raw webhook payload along with the event id (for de-duplication). This contains the same identity + membership data Patreon sends us during sign-in.
Standard web infrastructure logs
Our web server writes a routine access log for every HTTP request hitting the server. Cloudflare sits in front of our origin and may log requests independently per their own privacy policy. We don't retain or analyze these logs beyond troubleshooting.
Who we share with
- Patreon — when you click "Sign in with Patreon", you go to Patreon directly. They send us back the data above. Their privacy policy applies to anything that happens on patreon.com.
- Cloudflare — our DNS + edge CDN. Requests to runetranslate.com pass through Cloudflare before reaching our origin.
- No one else. No ad networks. No analytics SDKs. No data brokers. We don't sell, rent, or share your data.
Cookies
__rune_session— HttpOnly, Secure, SameSite=Lax. Holds your signed JWT so you stay logged in on the website. Expires 30 days after last issue. Set only after you complete the Patreon OAuth flow.- No third-party cookies. No tracking pixels.
Your controls
- Sign out at any time from /account or the desktop's Settings → Account. Sign-out revokes the JWT server-side, so stolen tokens stop working at the next heartbeat (within 4 hours).
- Delete your account / data: email [email protected] from the address tied to your Patreon and we'll erase your account row + every associated subscription/token/webhook record within 14 days. Anonymous download stats (which already don't contain your IP) are kept for product analytics.
- Cancel your Patreon pledge at any time from patreon.com. Your access stays at the higher tier until the end of the current billing period, then drops to free.
Data location + retention
- Your data is stored on servers in the European Union (Germany).
- JWT auth tokens expire 30 days after issue (and refresh on the desktop's 4h heartbeat). Revoked tokens are kept until natural expiry so you can audit them at /account/sessions.
- Patreon access/refresh tokens are kept as long as your account exists; deleted when you request account deletion.
Security
- Auth JWTs are signed with ES256 (P-256 ECDSA). The signing key is on the VPS only; the desktop verifies signatures offline using a baked-in public key.
- Patreon access/refresh tokens at rest are encrypted with AES-256-GCM via a server-side column key.
- Communication between your browser and our origin uses TLS (Cloudflare-terminated at the edge; origin certificate behind it).
- If we ever suffer a security incident affecting your data, we'll email the address on your account within 72 hours of confirming the breach.
Children
RuneTranslate is not directed at people under 13. We don't knowingly collect data from children. If you believe we have, email us and we'll delete it.
Changes
When we make a material change to this policy, we update the "Last updated" date at the top of this page and notify currently-signed-in users on their next sign-in.
Contact
Privacy questions, account deletion requests, or anything else: [email protected].
