Privacy Policy
RusClip · Last updated: 11 October 2026 · support@rusclip.app
RusClip is an app for learning Russian through graded texts, vocabulary practice and spaced-repetition review. This policy explains what we collect, why, and what you can do about it. It describes what the app actually does - not what it might do one day.
The short version
- Most of the app works entirely on your device, with no account and nothing sent to us.
- The app contains no analytics or advertising SDKs. We do not track how you use it.
- Text you send for AI analysis is processed by Google’s Gemini, reached through OpenRouter. Those two, and nobody else.
- An account is optional. It exists so your learning can sync between devices - and it can be deleted in the app, immediately and completely.
- We do not sell your data and never will.
1. Who we are
RusClip (“the app”, “we”, “us”) is operated by Ilya Mikhaylov, Belgium. For any question about this policy or about your data, write to support@rusclip.app. Under the GDPR and similar laws, we are the controller of the personal data described here.
2. What works without an account
Reading, saved words, phrases, collections, the labs and the whole spaced-repetition review cycle run on your device. Without an account, that data stays there. We cannot see it, and it is not backed up by us - uninstalling the app deletes it.
Two things still involve the network even when you are signed out:
- Downloading content - bundled texts and pronunciation audio are fetched from our CDN. As with any download, the CDN provider sees your IP address.
- Nothing else when monitoring is off - no usage statistics, advertising identifiers, or behavioural analytics leave the app. If a crash-monitoring key is built into the app, crash reports may leave the device (see section 5).
3. What needs an account
An account is required for the features that run on our server: analysing a text you add and syncing. This is partly a cost control - analysis calls a paid AI service - and partly abuse prevention.
When you create one, we process:
- Your email address - to send a one-time sign-in code and to identify your account. We never use it for marketing and we do not have a mailing list.
- The learning data you sync - your texts, saved words, phrases, decks, collections, review scheduling, lab progress and review statistics, plus reading progress and bookmarks, recently opened items and interface settings (card colours and pins, section order and collapsed sections, markers of which new items you have already seen). This is a copy of what is on your device, kept so another device can pick it up.
- Your subscription status, if you subscribe - plan, expiry date, transaction number and the latest notice about it from RevenueCat. We need this to unlock the paid shelves for you. There are no card details here: only Google Play sees those.
- A bug report, if you send one - tapping the bug icon emails us your address, your message and the sentence you are reporting. Without the address we would have nowhere to reply. The email is delivered by Brevo, the same service that sends sign-in codes. If you never send a report, none of this happens.
4. Text you send for analysis
When you add a text, it is sent to our server and from there to Google’s Gemini, which produces the linguistic analysis. Word cards are no longer written by the model: what you see in them comes from dictionaries built into the app. We reach it through OpenRouter, a routing service that passes the request on to Google. Those are the only two companies involved in analysing your text.
- Both are used on paid terms, under which neither trains on the text you submit. Prompt logging is switched off in our OpenRouter account.
- Analyses are cached on our server for up to 90 days so the same sentence is not paid for twice. The cache is keyed by a hash of the sentence, and the stored result contains the words of that sentence. After 90 days it is deleted.
- Requests are subject to a daily limit and a maximum text length.
Please do not paste sensitive personal information - medical details, financial data, other people's private correspondence - into texts you send for analysis. It is a language-learning tool, and this is not the place for it.
5. Collected automatically by our server
- IP address and request timing - held briefly to enforce rate limits and prevent abuse, such as someone requesting thousands of sign-in emails. If an address abuses sign-in, it is blocked for up to a day.
- A "human, not a script" check at sign-in - before sending your code, the app quietly runs a Cloudflare Turnstile check. Cloudflare sees your IP address and technical characteristics of your device and its built-in browser, and tells our server only the verdict: does this look like a person. The check happens only at sign-in, and we do not store its result.
- Server error diagnostics - if error monitoring is enabled on our backend, we receive error details with personal data stripped out. The app may also send crash reports when a monitoring key is configured in the build; those reports do not include your texts, email, or learning content by default.
We do not collect: contacts, location, photos, advertising identifiers, or behavioural analytics. We do not collect or store device fingerprints ourselves; the one exception is the single Cloudflare Turnstile check at sign-in described above.
6. Who else processes your data
| Provider | What they receive | Why |
| Google (Gemini) | Text you submit for analysis | Produce the linguistic analysis |
| OpenRouter | The same text, in transit | Route the request to Google |
| Brevo | Your email address, sign-in code and, if you write to us, the text of your report | Deliver the sign-in email and your bug report |
| Fly.io | Everything our API processes, as our host | Run the backend |
| Neon (PostgreSQL) | Your email and synced learning data | Store accounts and sync data |
| Cloudflare R2 | Your IP address when downloading content | Deliver texts and pronunciation audio |
| Cloudflare Turnstile | Your IP address and technical device and browser characteristics - at sign-in only | Tell a person from a script sending sign-in emails |
| Sentry (if enabled) | Server and optional app crash events, personal data stripped / not attached by default | Diagnose faults |
| Google Play | Your payment, handled entirely by Google - we never see card details | Sell and renew the subscription |
| RevenueCat | Your account number in our system and the state of your subscription | Verify the purchase and tell our server what you are entitled to |
Pronunciation is played from audio files prepared in advance, or by the voice built into your phone. Nothing is sent anywhere to produce it.
The word card offers links to outside dictionaries - Wiktionary, Reverso, Glosbe. They open only when you tap them, in your browser, and from that moment you are on someone else's site: it sees the word you looked up and your IP address, and their own rules apply, not ours.
These providers may process data outside your country, including outside the European Economic Area. Where that happens, it relies on the transfer safeguards those providers offer, such as the European Commission's standard contractual clauses.
7. How long we keep things
- On your device - until you delete it or uninstall the app.
- Account and synced data - while your account exists. Deleting the account removes your email, all synced data and your subscription record from our database immediately; there is no grace period and no archived copy. It does not cancel the subscription itself - that is done in Google Play.
- Cached analyses - up to 90 days.
- Sign-in codes - stored hashed, valid for 10 minutes, and invalidated after three wrong attempts.
- Session tokens - refresh tokens stored hashed, expiring after 30 days. You can sign out of all devices at once.
- Rate-limit records and IP blocks - two days at most.
8. Your rights
- Use the app without giving us anything - no account, no email, no server.
- Delete your account in the app, at any time. This erases your email and synced data from our servers.
- Reset your progress without deleting anything else, in the app's account screen.
- Sign out everywhere if you think a session is not yours.
- Ask us for access, correction, export or deletion by writing to support@rusclip.app. If you are in the EEA or the UK you also have the right to complain to your national data protection authority.
9. Age
RusClip is intended for people aged 16 and over, and is not directed at children. We do not knowingly collect personal data from anyone under 16. If you believe a child has given us data, write to us and we will delete it.
10. Security
Sign-in is passwordless - a one-time code by email, which means there is no password of yours for us to lose. Codes and session tokens are stored hashed, never in readable form. Traffic to our API uses HTTPS. Access to the account database is limited to the service itself. No system is perfectly secure, so we also limit what we collect and how long we hold it.
11. Changes to this policy
If we change this policy we will update the date at the top, and for anything significant we will say so in the app rather than hoping you re-read this page.
12. Contact
support@rusclip.app
Other languages: Русский · 中文