Contents18 sections · 35 min
This Privacy Policy ("Policy") explains how Oleh Herasymenko ("we", "us", "our") collects, uses and protects your personal information when you use the mobile application Eduvia (the "App").
We wrote this Policy in plain language on purpose. Many of our users read it through a translator, and a privacy policy is only useful if you can understand it.
This Policy complies with the EU General Data Protection Regulation (GDPR).
Data Controller
Oleh Herasymenko
Röntgenstraße 5
88048 Friedrichshafen
Deutschland
Email: thevaltorna@gmail.com
Website: https://geteduvia.com
The short version
1 min read- Eduvia is a speaking practice app with an AI voice tutor. To work, it must process your voice and remember what you talk about.
- We never store your voice. Audio goes to Google's Gemini AI so the tutor can understand you. We never write it to files or to our database; at Google it may sit in a cache for up to 24 hours (Section 4). Only text transcripts are saved.
- Conversations are saved as text for as long as your account exists. You cannot delete a single conversation, but you can delete your whole account in the App at any time, and everything is erased with it.
- The tutor remembers you. After each free conversation, the AI saves short personal facts you shared (for example, about your job or family) so the next conversation can continue naturally.
- Your data lives in Frankfurt, Germany (EU). Understanding your speech with Google's Gemini model happens in the EU too. Google does not train models on it.
- Analytics are off until you switch them on. Crash reports are on by default, and you can switch them off.
- The website uses the Meta Pixel only if you agree in its cookie banner, to measure our ads. The App does not use it.
- Reminders are local. They are scheduled on your phone. Nothing is sent from our servers, and there are no push tokens.
- We never sell your data, and we never share it with examination organizations, language schools or authorities.
- You can export your data as a JSON file and delete your account directly in the App.
1The words we use
- Personal Data: any information relating to an identified or identifiable person.
- Processing: anything done with personal data: collecting, storing, using, disclosing or deleting it.
- Controller: Oleh Herasymenko, who decides why and how personal data is processed.
- You, User: any person who uses the App.
- App: the mobile application Eduvia, available on the App Store and on Google Play.
- AI Tutor ("Thorsten"): the automated voice tutor in the App. It runs conversation practice in German and generates feedback using Google's Gemini models. Thorsten is software, not a human.
- Practice Session: a spoken exercise with the AI Tutor: a free conversation or one of the role-play scenarios.
- Voice Data: the audio of your speech captured during a Practice Session.
- Transcript: the text record of a Practice Session: your utterances as recognized by the AI, the tutor's replies, and the corrections, hints and translations shown to you.
- Tutor Memory: short personal facts that the AI automatically extracts from your conversations so the tutor can remember you between sessions.
- Learning Profile: your native language, interface language, self-assessed level, interests and learning goal.
2What Eduvia is
Eduvia is an app for practicing spoken German with an AI voice tutor. It offers free conversation, 202 role-play scenarios from A1 to C1, live corrections, an analysis after each session in your own language, a long-term tutor memory, a vocabulary trainer with spaced repetition, progress statistics, short reading texts, and translation of any tutor phrase. The interface and content are available in ten languages.
Eduvia is an independent practice tool. It contains no exam simulations and is not connected to any examination provider. Details are in the Terms of Use.
3What data we collect
3.1 Account, profile and settings
- Your Firebase user ID, your email address, your display name from your Apple or Google profile, and your profile photo URL.
- A "pronounceable name": a simplified version of your name that the German voice can pronounce, for example transliterated from Cyrillic to Latin letters.
- Your interface language, time zone, tutor voice, daily learning goal in minutes, and the adaptive learning pause setting.
- Your reminder settings: whether reminders are on, the daily reminder with its hour and minute, streak reminders, weekly progress, and words due for review.
- Your tutor settings: speech speed, automatic audio for word cards, and microphone mode (hands-free or push-to-talk).
- Your two privacy decisions with their dates: analytics on or off, and crash reports on or off (Section 7).
- Your interests. They shape the topics of your conversations.
- Your learning goal: the type of goal you pursue (everyday life, work, exam, or maintaining the language); if you add a description or an exam name, they are stored too. The exam name only guides conversation topics; the App contains no exam simulations.
- An internal customer identifier for RevenueCat (rcAppUserId) that we create. It is not your name or email.
3.2 Tutor Memory: what the tutor remembers about you
After each free-conversation session, the AI automatically extracts stable personal facts from what you said and saves them. This is what lets the tutor ask next time "How did the move go?" or "How is your daughter doing at school?".
Each memory entry contains:
- a topic, such as home, work, family, hobby or plans; if you raise them yourself, notes can also touch sensitive areas such as your health or residence status (Section 3.5),
- a short note in your native language.
The AI also keeps "open topics": things worth asking about in the next conversation.
These facts are sent back to Google Gemini at the start of each following session, so the conversation can continue where it left off.
Important things to know:
- Tutor Memory is created automatically from your conversation, not from a form you fill in.
- It is deleted together with your account. There is currently no way to delete an individual memory entry or an individual conversation. If you want the tutor to forget something, the available control is deleting your account; you can export your data first.
- Practical advice: do not tell the tutor things you do not want stored.
3.3 Practice sessions and learning data
- The full text Transcript of every conversation: each utterance with its time, plus hints, translations, corrections, rewritten phrases and the rating of each utterance.
- Session details: mode, scenario, duration, when it happened, and the number of utterances.
- The notes of our own grammar checker on each of your utterances: which part of the sentence is affected, the kind of mistake and a suggested correction. They are stored with the utterance and used for the post-session analysis.
- The post-session analysis: a summary in your native language, mistakes grouped by category, an accuracy percentage, how much you and the tutor each spoke, new words, a CEFR level estimate, and which scenario goals you completed.
- The "frozen" session prompt: the exact context that was sent to the AI model for that session.
- A short summary of older conversation turns, which the AI writes during the session so the context stays short (Section 4).
- The decision whether we may ask you for a rating on the App Store or Google Play after this session: whether the session qualified, the reasons for or against, the kind of session (placement conversation or regular session), whether you had a subscription at that moment, and the time.
- Your recurring weak spots: mistake categories, how often they occur, in which sessions, the trend, and how many times we showed them to you.
- Your vocabulary: each saved word with its translation, status, part of speech, gender and article, pronunciation, the first sentence you met it in with its translation, the session it came from, and the spaced repetition data (repetitions, ease, interval, lapses, and the next review date).
- Your progress: CEFR level and its history, session counters, streaks, statistics per scenario, and an estimate of the time to your next level.
3.4 Technical and service data
- AI usage records: the number of AI calls, tokens, and the estimated cost per session, per month and in total. We use them only to protect the service from abuse and to control our own costs. They are internal service records and are not part of your data export.
- Subscription records: your subscription state and whether it will renew, the start of the current usage window, the time of the last check with RevenueCat, the usage counter for the window, and related technical details reported by RevenueCat (such as the store and environment of the purchase).
- Server logs: see Section 3.6.
- Push tokens: none. Eduvia sends no push notifications from servers (Section 6).
3.5 Sensitive information in free conversation (Art. 9 GDPR)
We do not ask you for sensitive data, and the App has no fields for it. But Eduvia is free conversation: you decide what to talk about. If you tell the tutor about your health, your origin, your religion, your residence status or other sensitive matters, that information becomes part of the text Transcript and may become part of Tutor Memory.
We process such information only to hold the conversation and teach you the language. Never for profiling. Never for advertising. Never to pass on to anyone.
The legal basis is your explicit consent under Art. 9(2)(a) GDPR. We do not ask you for this information and the App has no field for it. With the next App update (version 1.0.3) we are introducing a step of its own for this in the App: it explains that conversations are stored as text and that sensitive topics, if you raise them, become part of the Transcript and of Tutor Memory; you confirm this actively, and we store the time of your confirmation. Until then, what is written here applies: we tell you plainly, here, that anything you choose to say becomes part of the stored Transcript and may become part of Tutor Memory, and you decide what you say. You can withdraw your consent at any time by deleting your account, which erases every conversation with it, and you can export your data first.
If you would rather not rely on that, the practical control is in your hands and costs you nothing: do not raise these topics. The tutor works exactly the same without them.
You can get a copy of all your data at any time, and you can delete your account, which erases all conversations with it. A single conversation cannot be deleted separately: transcripts are stored for as long as your account exists. If you want to remove something you said, the available option is deleting your account, which erases all conversations together with it.
Practical advice: do not say things you do not want stored.
3.6 Server logs and IP addresses
Our servers keep technical logs so we can find errors and protect the service. Besides the time of a request, the type of operation, error codes, your user ID, session identifiers and technical usage figures, the logs may contain short excerpts of your conversation with the tutor. We do not use logs to study you or build a profile of you: they exist only for diagnostics. Logs are deleted automatically within 7 days, including after account deletion.
Our own servers neither store nor log IP addresses. The load balancer run by our hosting provider Hetzner in front of our servers may process IP addresses in its technical logs for a short time under its default settings. Legal basis: our legitimate interest in security and diagnostics (Art. 6(1)(f) GDPR).
3.7 Processing on your device
- Voice activity detection runs entirely on your phone. A small neural model (Silero VAD) only decides when you start and stop speaking. It does not recognize words and sends nothing anywhere. On iOS it runs through the FluidAudio library, on Android through ONNX Runtime; in both cases it stays on the device.
- Reminders are scheduled locally on your phone (Section 6).
3.8 Children
Eduvia is intended for users aged 16 and older. We do not knowingly collect data from children under 16. If we learn that we have, we will delete it promptly.
3.9 The geteduvia.com website
This website (with the Privacy Policy, the Terms of Use, the Impressum, the deletion form and the contact form) is hosted on GitHub Pages, a service of GitHub, Inc. in the USA. When you visit the website, GitHub logs your IP address for security reasons. GitHub is responsible for this itself, not us; the GitHub General Privacy Statement applies, and GitHub is certified under the EU-US Data Privacy Framework. Our own legal basis for hosting the website with GitHub is our legitimate interest in reliable, secure hosting (Art. 6(1)(f) GDPR); the website holds no account data, and visiting it does not require you to provide any data.
The website loads no external fonts. Without your consent it sets no cookies and contains no analytics or tracking tools; the only analytics tool, the Meta Pixel, runs only if you agree in the cookie banner (Section 3.11). When you submit the deletion form or the contact form, data goes to our own server (Sections 10 and 3.10). The App Store and Google Play buttons carry a campaign label (the name of the ad that brought you to the website, otherwise the website language), so that Apple and Google can tell us how many installs came from the website or from an ad; the label names a campaign, not you, and nothing is stored on your device for it.
3.10 Contact form
On the Contact page you can send us a message, as a second way to reach us next to email. What that form stores, and nothing else: your name if you give one, your email address, your message and the time you sent it. We use these only to answer your request. The legal basis is Art. 6(1)(b) GDPR where your request concerns your account, your subscription or another contract with us, and otherwise our legitimate interest in answering requests sent to us (Art. 6(1)(f) GDPR).
The message is kept in our database in Frankfurt (Section 9) and is deleted automatically after 60 days, whether or not we have answered it. Our server does not store your IP address for it. It holds the address only in memory, to turn away too many messages from the same source, and forgets it at the latest about one hour after you last submitted the form. What you type is not written to our server logs. Technically, though, there is no way around IP addresses entirely: the load balancer of our hosting provider processes IP addresses in its technical logs (Section 3.6), and GitHub Pages, where this website and the form are hosted, logs IP addresses under its own rules (Section 3.9). The form sets no cookies and contains no tracking. A field invisible to people keeps automated spam out; a submission with that field filled in is not stored.
3.11 Meta Pixel on the website (only with your consent)
With your consent, this website uses the Meta Pixel, a service of Meta Platforms Ireland Limited, Block J, Serpentine Avenue, Dublin 4, Ireland ("Meta"). We use it to measure how well our advertising on Facebook and Instagram works. Without your consent the pixel is not loaded at all: when you open the website, a banner asks first, and nothing from Meta runs until you choose "Accept all" or switch "Marketing (Meta Pixel)" on in the cookie settings.
If you consent, the pixel may collect your IP address, information about your browser and device, the pages of this website you visit, the page you came from, the time of your visit, and two events we define: that a page was viewed, and that you tapped the App Store or Google Play button (and which of the two). For this, the pixel stores a cookie (_fbp) on your device for up to 90 days; if you arrived through a link in one of our Meta ads, it also stores the click identifier from that link in a cookie (_fbc) for up to 90 days. If you are logged in to Facebook or Instagram, Meta can link this data to your account.
What the pixel does not receive: the pixel is never loaded on the pages with a form (the contact form and the account-deletion form), so nothing you type there reaches Meta. We do not use Meta's automatic event detection or automatic advanced matching, so no form contents, email addresses or phone numbers are sent to Meta. The pixel is used only on this website, never in the App.
Legal basis. Your consent (Art. 6(1)(a) GDPR, §25(1) TDDDG). You can withdraw it at any time with effect for the future through the "Cookies" link at the bottom of every page of this website. When you withdraw it, we stop loading the pixel and delete the _fbp and _fbc cookies from your browser.
Joint controllership. For collecting the data on this website and transmitting it to Meta, we and Meta are joint controllers under Art. 26 GDPR. The essential content of the agreement is available at https://www.facebook.com/legal/controller_addendum. You can exercise your rights against us or against Meta; under that agreement, Meta is responsible for answering requests about the data it holds after the transmission, and you can always write to us as well. Meta is solely responsible for any further processing of the data after it has been transmitted; this is described in Meta's privacy policy at https://www.facebook.com/privacy/policy.
Transfer to third countries. Meta may transfer the data to Meta Platforms, Inc. in the USA. Meta Platforms, Inc. is certified under the EU-US Data Privacy Framework, which the European Commission has recognised as providing adequate protection (Art. 45 GDPR).
To remember your choice, the website stores your consent decision (with its date) in your browser's local storage. This is necessary to respect your decision (§25(2) No. 2 TDDDG); it stays until you clear your browser data and is never sent to us or to anyone else.
4What we send to Google Gemini
The AI Tutor is powered by Google's Gemini models. For each Practice Session, the request to Gemini contains:
- your name, so the tutor can address you,
- your CEFR level and your native language,
- your interests and your learning goal, including its free-text part and the exam name if you set one,
- recent context: how many days since your last conversation, what you talked about, and the personal facts from Tutor Memory,
- open topics to ask about,
- your recurring grammar weak spots, so the tutor can weave practice into the conversation,
- the scenario context: the tutor's role, the situation, and your goals,
- the audio of each utterance you speak,
- your recent utterances in the session.
When a conversation gets longer, a separate Gemini call condenses the older turns into a short summary so the context stays short. This request contains the older turns of the conversation as text; the summary is stored with the session (Section 3.3).
Outside of a live session, we also use Gemini for:
- text you ask the App to translate,
- generating Reader texts (the request contains your level and, if you choose one, a topic),
- the post-session analysis: the full session Transcript, together with your stored facts, your recurring weak spots and the scenario goals,
- your saved words: to complete word cards, we send batches of your saved words together with the sentence each word came from,
- your name: to create the "pronounceable name" (Section 3.1), we send the name from your profile once at onboarding and when you change it,
- a short request that turns a level change into one sentence of feedback (it contains only the two levels and your app language).
What we do NOT send to Gemini: your email address, your Firebase user ID, device identifiers, payment information, or subscription data.
Where this processing happens
Your account data is stored in Google Cloud Firestore in the Frankfurt region (Germany, EU). Our API and voice synthesis run on Hetzner servers in Germany. During the conversation, our own grammar checker reviews the text of your German utterances so that the analysis finds your mistakes more reliably. It is a model we trained ourselves, runs on a Hetzner server in Helsinki (Finland, EU), is reachable only through our internal network, and neither stores nor logs your sentences; its notes are stored with your Transcript in Frankfurt (Section 3.3). For understanding speech and generating the tutor's replies we use Google's Gemini model via Vertex AI. Since 22 September 2026, all of these requests (the live conversation as well as the analysis and the other calls listed above) are processed in Google Cloud's EU region. This is governed by the Google Cloud Data Processing Addendum, under which Google acts as our processor. Google does not use your data to train its models.
What Google does with the requests
Google does not store the content of a request permanently, but it does hold it for a short time. This is what you should know:
- Cache for up to 24 hours. Google holds request data for up to 24 hours in an in-memory cache that belongs to our project only and is kept separate from other Google customers. This makes the tutor's replies faster and cheaper.
- Abuse monitoring for up to 90 days. If Google's automated safety filters flag a request as possible abuse, Google may log that request for up to 90 days to review the abuse, also in the EU region.
- Never for training. Neither the cache nor these logs are used to train models.
What happens to your voice
Your audio travels to Gemini as part of the request. We never write it to files and never store it in our database. At Google, the audio is treated like any other request: it may sit in the cache for up to 24 hours and, if the safety filters are triggered, may be logged for abuse monitoring for up to 90 days; never for training. The only thing we store is the text Transcript.
We do not create voiceprints, and we do not use your voice to identify you. Your voice is processed only to understand what you said.
5Who else receives data
We use the following providers to run the App.
| Provider | Role | What it receives | Location and safeguards |
|---|---|---|---|
| Google: Firebase Authentication and Google Sign-In | Sign-in, on both platforms | User ID, email, sign-in method and time | Global (US) infrastructure; Google Cloud DPA, SCCs, EU-US Data Privacy Framework |
| Google: Cloud Firestore | Main database | All account and learning data | Frankfurt (europe-west3), EU |
| Google: Vertex AI (Gemini) | Speech understanding, tutor replies, session analysis | Audio of your utterances plus the context listed in Section 4 | EU region; Google Cloud DPA; no model training; cache up to 24 hours, abuse log up to 90 days only if the safety filters are triggered (Section 4) |
| Google: Firebase Analytics | Product analytics | App events, only if you consent (Section 7) | DPA, SCCs, DPF |
| Google: Firebase Crashlytics | Crash reports | Crash and non-fatal error reports: stack traces, device model, OS and App version, breadcrumb events and technical context keys (Section 7); plus, at each App launch, a Firebase installation identifier that the Firebase SDKs create to identify this installation. Turning crash reports off stops the reports; the installation identifier may still be created by the Firebase SDKs | DPA, SCCs, DPF |
| Hetzner Online GmbH | Hosting of our API, voice synthesis and our grammar checker | Traffic in transit, plus the technical logs of Section 3.6 (IP addresses and possibly short conversation excerpts), kept 7 days; no database of your data | Germany and Finland, EU; data processing agreement (AV-Vertrag) |
| RevenueCat, Inc. | Subscription management | The internal customer ID we create (rcAppUserId), the purchase and renewal history reported by the store you bought from, and standard technical data its SDK sends with each request (device model, store country, app version, IP address, and on iOS the vendor identifier (IDFV)). No advertising identifier is sent on either platform (Section 7) | USA; SCCs |
| Apple Inc. | Sign in with Apple, on both platforms; App Store and In-App Purchase, for purchases made on iOS | For sign-in: that you authenticated and when, your Apple ID, and the email address or Apple relay address you choose to release to us. For purchases: payment data (we never see it) | USA; under Apple's own terms |
| Google (Google Play) | Google Play Store and Google Play Billing, for purchases made on Android | Payment data (we never see it) | Under Google's own terms |
| GitHub, Inc. (GitHub Pages) | Hosting of this website, as an independent controller (Section 3.9) | IP addresses of website visitors | USA; GitHub Privacy Statement, EU-US Data Privacy Framework |
| Meta Platforms Ireland Limited | Measuring our advertising on Facebook and Instagram, through the Meta Pixel on this website, only with your consent; joint controller with us (Section 3.11) | IP address, browser and device information, pages visited, page views and taps on the store buttons, cookies _fbp and _fbc | Ireland, EU; onward transfer to Meta Platforms, Inc. in the USA under the EU-US Data Privacy Framework |
Transfers outside the EU and EEA rely on the European Commission's Standard Contractual Clauses and, where applicable, our providers' certification under the EU-US Data Privacy Framework. You can obtain a copy of the safeguards that apply to a given transfer by writing to thevaltorna@gmail.com.
We do not sell your personal data. We never share your data with examination organizations, language schools, or government authorities.
6Notifications: local, not push
All reminders (the daily reminder, streaks, weekly progress, words due for review) are scheduled on your phone by the App, using your phone's own notification system. There is no push infrastructure behind them: the App contains no push messaging component, no device token is ever created or sent to our servers, and no notification arrives from outside. Reminders work even offline.
You control the notification permission at any time in your phone's settings: on iOS in Settings → Eduvia → Notifications, on Android in Settings → Apps → Eduvia → Notifications.
7Analytics and crash reports
These are two different things with two different rules.
Firebase Analytics: off until you say yes
- Off by default. Nothing is collected until you actively agree.
- You decide during onboarding, and you can change your mind at any time with the switch in your Profile.
- Legal basis: your consent (Art. 6(1)(a) GDPR and §25(1) TDDDG).
- If you agree, Firebase Analytics collects:
- which screens you open and how often,
- when a session starts and finishes,
- what you do in the App, for example starting a session, saving a word or opening the subscription page,
- never your conversations, voice or name,
- and, automatically, the technical data that every Firebase Analytics installation sends: an app-instance identifier, your device model, operating system and App version, the App language, and the approximate country Google derives from your IP address.
- If you agree, analytics events are linked to your user ID, so your usage counts once across your devices; withdrawing consent stops this.
- Your decision is stored with its date and synced to your account, so it survives reinstalling the App.
- Advertising signals are disabled: no advertising identifiers (the IDFA on iOS, the Advertising ID on Android), no ad personalization, no cross-app tracking, and no tracking prompts. On Android the App actively removes the advertising-identifier permissions that its third-party libraries would otherwise add, so the identifier is not available to the App at all. We do not track you.
- Analytics retention at Google is set to 2 months.
Firebase Crashlytics: on by default, and you can turn it off
- Purpose: keeping the service working. A crash report tells us what broke.
- On by default. Legal basis: our legitimate interest in a stable and secure service (Art. 6(1)(f) GDPR). The local storage that crash reporting needs on your device we treat as strictly necessary for keeping the App working (§25(2) no. 2 TDDDG); the reports themselves rest on that legitimate interest, and you can object at any time with the switch below.
- You can object at any time: switch crash reports off under Profile → Privacy.
- A report contains the crash stack trace, your device model, the OS and App versions, breadcrumb events, and technical context keys such as the active screen, the session mode, the app language, the state of permissions and your current level estimate. The App also reports non-fatal errors with the same technical context. Reports are linked to your user ID so we can investigate problems you tell us about.
- Your decision is stored with its date and synced to your account.
- Crash reports are kept by Google for 90 days (the standard Firebase retention).
8Legal bases at a glance
- Contract (Art. 6(1)(b) GDPR): everything needed to provide the service you asked for: Practice Sessions including the processing of your Voice Data, Transcripts, Tutor Memory, feedback and analysis, vocabulary and progress, personalization, subscription management, and the in-app export and deletion. Voice processing is technically necessary for a voice tutor, and every recording happens inside a session you started.
- Consent (Art. 6(1)(a) GDPR, §25(1) TDDDG): Firebase Analytics, which is a separate decision you make on its own screen; the Meta Pixel on this website, which you decide on in the cookie banner (Section 3.11). Explicit consent (Art. 9(2)(a) GDPR): sensitive information you choose to share in conversation, in the sense described in Section 3.5 (we are introducing a step of its own for it with App update 1.0.3; until then we tell you what happens and you decide what to say).
- Legitimate interests (Art. 6(1)(f) GDPR): crash reports (with your right to object), security and abuse protection, server logs, and internal AI usage records for cost control.
- Legal obligation (Art. 6(1)(c) GDPR): where the law requires processing.
How to withdraw or object: analytics with the switch in your Profile; the Meta Pixel through the "Cookies" link at the bottom of every page of this website; crash reports under Profile → Privacy; notifications and the microphone in your phone's settings (without the microphone, voice features stop working and everything else keeps working); sensitive topics by not raising them, or by deleting your account.
9Where your data lives and for how long
Your account data is stored in Google Cloud Firestore in Frankfurt, Germany (EU). Our own servers hold no database of your data. The only personal data resting on them is the technical logs described in Section 3.6, which delete themselves within 7 days. Requests to Google's Gemini model are processed in Google Cloud's EU region (Section 4).
| Data | How long |
|---|---|
| Account, profile, Transcripts, Tutor Memory, vocabulary, progress | While your account exists; deleted immediately when you delete the account |
| Database backups (point-in-time recovery and daily snapshots) | Up to 7 days; we do not restore deleted accounts from backups |
| Server logs (IP addresses, technical events, possibly short conversation excerpts) | 7 days, including after account deletion |
| Technical deletion marker after account deletion | 48 hours |
| A deletion request sent through the web form (the address and your note) | 60 days at most, then deleted automatically |
| A message sent through the contact form (name if given, email address, message, time) | 60 days, then deleted automatically |
| AI usage records (internal cost control) | While your account exists; deleted with the account |
| Subscription records | While your account exists; your RevenueCat record is deleted when you delete the account |
| Requests to Gemini in Google's cache | Up to 24 hours |
| Requests to Gemini that Google's safety filters flag as possible abuse | Up to 90 days at Google |
| Analytics data (only if you consented) | 2 months at Google |
| Crash reports | 90 days at Google |
| Meta Pixel cookies _fbp and _fbc in your browser (only if you consented) | Up to 90 days, or until you withdraw consent or clear them |
| Your cookie consent decision, in your browser's local storage | Until you clear your browser data |
| Data received by Meta through the pixel | Under Meta's own rules (Section 3.11) |
10Deleting your account and taking your data with you
Deleting your account
You can delete your account directly in the App: open your Profile and scroll to the Danger zone section at the bottom.
You can also request deletion without the App, for example if you have already uninstalled it: write to thevaltorna@gmail.com from the email address your account uses. The full instructions, and a form, are on a page of their own: Deleting your Eduvia account. We complete such a request within 30 days and confirm it by email; the same data is erased as when you delete the account in the App.
What that form stores, and nothing else: the address you type and the note you optionally add, so that we can reply to you and find the account. Our server does not store your IP address for it. Technically, though, there is no way around IP addresses entirely: the load balancer of our hosting provider processes IP addresses in its technical logs (Section 3.6), and GitHub Pages, where this website is hosted, logs IP addresses under its own rules (Section 3.9). The form never tells anyone whether an address has an account here, because a deletion form that answered that question would be a way to find out who uses Eduvia. A request is kept for at most 60 days and is deleted after that whether or not it was acted on. Submitting the form does not delete anything by itself: we confirm with you first, because anyone can type someone else's address into a public form.
What happens, in this order:
- Your sign-in record is deleted first. Access to the account stops immediately.
- All your data is deleted from the database.
- We ask RevenueCat to delete your customer record there.
If a step fails, the App shows an error and asks you to try again. Partial deletion is never shown as success. Your data with us is deleted first in any case: even if RevenueCat is temporarily unreachable, your data on our side is already gone when you see the error.
Honest details you should know:
- Your subscription is not cancelled automatically. Cancel it separately in the store you bought it from, otherwise billing continues: on iOS in Settings → your name → Subscriptions, on Android in the Google Play app → Payments and subscriptions → Subscriptions.
- A technical marker remains for 48 hours after deletion. It contains your user ID, your RevenueCat customer ID, and a flag whether the RevenueCat deletion still has to complete. It exists so that a request still in flight cannot recreate data of a deleted account, and so a retry can finish the RevenueCat deletion. After 48 hours it stops working.
- Backups clear within 7 days. When you delete your account, your data disappears from the live systems immediately. Copies in technical database backups disappear automatically within 7 days. We do not restore deleted accounts from backups.
- Log excerpts clear within 7 days too (Section 3.6).
- Analytics and crash data at Google expire. Data already sent to Firebase Analytics or Firebase Crashlytics is not deleted individually; it disappears when its retention period ends: analytics data after 2 months, crash reports after 90 days (Section 7).
After deletion you can create a new account, and an active subscription can be restored with Restore Purchases. Deleted learning data cannot be recovered.
Exporting your data
You can download your stored data directly in the App, from your Profile. The export is a JSON file: a structured copy of your stored data, plus your sign-in record (email, name, avatar, sign-in providers, and the dates your account was created and last signed in).
The export does not include, and the App tells you this when you export:
- audio: it is never stored, so there is nothing to export,
- copies being processed by Google as our processor,
- server logs,
- notification tokens (Eduvia stores none: reminders are local),
- copies held by RevenueCat,
- the internal customer identifier we create for RevenueCat,
- internal service records about usage and costs.
The last two items are still your personal data. If you want them, write to us and we will send them to you: your right of access under Art. 15 GDPR covers them, even though they are not part of the in-app export file.
11Your rights
- Access: use the in-app export, or write to us.
- Rectification: change your profile and settings in the App; for anything else, write to us.
- Erasure: delete your account in the App (Section 10). A single conversation cannot be deleted separately (Section 3.5).
- Data portability: the in-app export gives you a machine-readable JSON copy.
- Restriction of processing: write to us.
- Objection: to crash reports, use the switch under Profile → Privacy; to other processing based on legitimate interests, write to us.
- Withdrawing consent: analytics with the switch in your Profile; the Meta Pixel through the "Cookies" link at the bottom of every page of this website; for sensitive topics, by not raising them further and, if you wish, deleting your account.
- Complaint: you can complain to a data protection supervisory authority, in particular in the country where you live. The authority responsible for us is Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg, Lautenschlagerstraße 20, 70173 Stuttgart, Germany, https://www.baden-wuerttemberg.datenschutz.de.
We reply within one month. Contact: thevaltorna@gmail.com.
12Automated processing and AI transparency
You are talking to an artificial intelligence system (transparency under Article 50 of the EU AI Act). Thorsten is software, not a human, and the App presents it as such.
The App uses AI to recognize your speech, correct you, analyze sessions and estimate your CEFR level. These estimates are approximate study aids. No decision with legal or similarly significant effects is made about you by automated means (Art. 22 GDPR): your estimates are never sent to any examination body, have no effect on any official result, and you can ignore or repeat them at any time.
13Security
- All traffic between the App and our servers is encrypted (TLS).
- The App has no direct access to the database. The database rejects all client requests; everything goes through our API, and every request is checked against your Firebase sign-in token.
- Data access is isolated per user.
- Our servers run in ISO 27001 certified Hetzner data centers in Germany and Finland; the database runs in Google Cloud's Frankfurt region.
- Access to production systems is restricted.
- Server logs are kept minimal and delete themselves after 7 days.
Who sees your conversations
No human reads your conversations as a matter of routine. Only the Controller, a single person, can look at Transcripts, and only when it is needed: to handle a support request from you, to investigate an error, or to check the quality of the tutor. A conversation is then opened by its session identifier, not by your name. No third party reads your conversations.
To develop the App we use development tools, including AI coding assistants. They receive the App's source code, but not the content of your conversations and not server logs containing personal data; for error analysis they receive at most anonymised excerpts without identifiers.
14Data breaches
If a personal data breach is likely to put your rights and freedoms at risk, we will notify the supervisory authority within 72 hours of becoming aware of it. If the risk to you is high, we will also inform you directly and without undue delay: by email to your account address or with a clear notice in the App.
15Language versions
This Policy is available in English and German. For consumers residing in Germany, the German version prevails; otherwise the English version prevails. The App interface exists in ten languages for convenience; the binding versions of this Policy are the English and the German one.
16Changes to this Policy
We may update this Policy. For material changes, for example a new category of data or a new legal basis, we will tell you in the App in advance, so you can review the changes before they take effect; if you do not agree, you can export your data and delete your account. For minor changes, such as clarifications and editorial fixes, we publish the updated version with a new Effective Date.
17Contact
Oleh Herasymenko
Röntgenstraße 5
88048 Friedrichshafen
Deutschland
Email: thevaltorna@gmail.com
Website: https://geteduvia.com
18Changelog
Version 1.4 (2026-10-16): The website geteduvia.com now asks for consent in a cookie banner and, only if you agree, uses the Meta Pixel to measure our advertising on Facebook and Instagram. Meta is a new recipient and joint controller for this (Sections 3.9, 3.11, 5, 8 and 9). The pixel is never loaded on the pages with a form and is not used in the App. Nothing changes for data processed in the App.
Version 1.3 (2026-10-13): The analysis now also uses our own grammar checker. It reviews the text of your German utterances during the conversation on a Hetzner server in Helsinki (Finland, EU), stores nothing there, and its notes are stored with your Transcript (Sections 3.3, 4 and 5). No new recipient: Hetzner was already our processor. No legal basis has changed.
Version 1.2 (2026-10-03): Update following our data protection impact assessment. Google's Gemini model has run in the EU region since 22 September 2026; the statements about possible processing outside the EU are removed. The Policy now says exactly what Google does with requests (cache up to 24 hours, abuse log up to 90 days only if the safety filters are triggered, never training) instead of saying that Google keeps nothing. Also newly described: the summary of older conversation turns made by a separate Gemini call, the stored decision whether we may ask you for a store rating, who can look at your conversations, the website on GitHub Pages, IP addresses around the deletion form, the expiry of analytics and crash data after account deletion, and the consent step for sensitive topics that App update 1.0.3 introduces. This processing already existed; it is now fully described. No legal basis has changed. New is the contact form at geteduvia.com/contact, the Impressum's second contact channel next to email (Section 3.10).
Version 1.1 (2026-09-10): Android release. The Policy now describes both platforms: Google is named as the recipient of payment data for purchases made on Google Play, the RevenueCat row states what its SDK sends on each platform, the on-device voice activity detection names the library used on each platform, notifications and permission paths are described for both, and the section on advertising identifiers states that the Android build removes them. No new category of data is collected and no legal basis has changed.
Version 1.0 (2026-08-26): Initial release.
© 2026 Oleh Herasymenko. All rights reserved.
