Dolphi

Privacy Policy

Dolphi for Android (app.dolphi.lang) and its server. Last updated: 26 October 2026.

In short

  • You can use Dolphi as a guest. If you create an account, your cards and study progress are stored on our server so they sync between your devices.
  • Usage analytics and crash reports are off until you allow them, and you can switch them off again at any time.
  • No ads, no advertising ID, and we never sell your data.
  • Word descriptions and pictures are generated on hardware we operate ourselves, not by a third-party AI service.
  • You can delete your account and server data from the app, or by email without the app.

1. Who is responsible for your data

The controller of your personal data is Andrei Kamelau, a sole proprietor registered in Poland, ul. Rajska 1 lok. 29, 02-654 Warszawa, Poland ("we", "us").

For any privacy question or request, write to [email protected]. We have not appointed a data protection officer.

2. What we process, why, and for how long

2.1 Your account

When you first open the app, Firebase Authentication (Google) creates a guest account for you, identified by a random account ID. You can later sign in with an email and password or with your Google account. We then also process your email address and, for Google sign-in, the name and profile picture Google provides. Firebase stores your password; we never see it.

If we invite you to test content that is not yet public, we look up your account by the email you gave us and record its account ID as a tester.

When we review a report you sent, we also see your email address and name next to it (section 2.4).

Why: to identify you to our server, keep your data separate from other users' data and, for testers, show unreleased content.

Legal basis: performance of our contract with you (Art. 6(1)(b) GDPR).

How long: until you delete your account. A guest account that is no longer used (for example, after you uninstall the app) holds no contact details; the votes and reports linked to it (sections 2.3–2.4) are deleted after 12 months without activity.

2.2 Your cards and study progress (signed-in accounts)

If you sign in with an email or Google account, the app syncs with our server: your folders, decks, cards (words, translations, your example sentences, links to card pictures), study progress and review schedule, XP, level, streak and daily study statistics. To sync correctly between devices we also store, for each of your devices, the device identifier (section 3) and when it last synced, plus a technical log of sync operations (time, type, number of items, result). Guests' data stays on the device.

Why: to back up your learning data and sync it across your devices.

Legal basis: performance of our contract with you (Art. 6(1)(b) GDPR).

How long: until you delete your account. Items you delete in the app are erased from the server once all your devices have synced the deletion (a device that has not synced for 90 days is no longer waited for).

2.3 Word descriptions and pictures

When you add a word, the app sends the word and the language pair to our server to fetch its description, translation and picture. If none exists yet, your request counts as a vote to generate one; votes are stored with your account ID so each person counts once. Generated descriptions and pictures are about the word, not about you: they are shared with every user learning that word and are not personal data. The words people look up also stay in our shared dictionary without any link to who looked them up, so please don't enter names or other personal information as words.

Why: to provide the content you asked for.

Legal basis: performance of our contract with you (Art. 6(1)(b) GDPR).

How long: votes are kept until you delete your account (for guests, see section 2.1).

2.4 Reports about generated content

If you report a description or picture, we receive the word, its languages, a link to the reported picture, the reason you chose, any comment you typed, and your account ID. If you are signed in with an email or Google account (section 2.1), the people who review reports also see your email address and name next to your report. We look them up in Firebase Authentication when a report is opened and do not copy them into our database or logs. We may use your email address to write to you about your report, for example to ask what exactly was wrong. For guest accounts we only see the account ID. Please do not include personal information in the comment.

Why: to fix wrong or inappropriate content, to count each person's report only once, to tell reports from our testers apart from other reports and notice repeated reports, and to contact you about your report if we need more detail.

Legal basis: our legitimate interest in keeping the content correct and safe and in clarifying reports with the people who sent them (Art. 6(1)(f) GDPR).

How long: until you delete your account (for guests, see section 2.1). Your email address and name stay in Firebase Authentication as described in section 2.1; we keep no copy of them with your report.

2.5 Cloud translation

When the app suggests a translation for a card, it may send the text and the language pair through our server to Google Cloud Translation (as a backup, to Microsoft Azure AI Translator). We do not send your account ID or device identifier to Google or Microsoft and we do not store the text. To cap how much each account can translate per day, our server keeps a count of translated characters per account in memory for the current day; the count is not written to disk. If the server cannot be reached, the app translates on your device instead. Translations from Google are marked in the app as "powered by Google Translate".

Why: to suggest a translation you asked for.

Legal basis: performance of our contract with you (Art. 6(1)(b) GDPR).

How long: not stored by us.

2.6 Server logs

Our server logs each request: time, IP address, method, path and response status. Some log entries also record the word you looked up together with a pseudonymous (hashed) reference to your account, which we need to diagnose generation problems. The server also counts requests per IP address and per account in memory to prevent abuse.

Why: to keep the service secure and working, limit abuse and diagnose errors.

Legal basis: our legitimate interest in operating a secure service (Art. 6(1)(f) GDPR).

How long: logs are deleted by our hosting provider after 7 days; in-memory counters reset within minutes.

2.7 Usage analytics (only with your consent)

If you allow it, the app sends usage events to Google Analytics for Firebase: for example that a study session was completed (with counts such as cards reviewed and accuracy), that a card was created or a deck imported, and settings such as your languages, theme, and rough ranges of your card count and streak. Events never contain your name, email, card contents or text you typed. They are linked to the device identifier (section 3) and to an app-instance ID created by Firebase. Google also records device model, system version and an approximate location derived from the IP address. Collection of the advertising ID is disabled.

Why: to understand which features are used and where people get stuck, so we can improve the app.

Legal basis: your consent (Art. 6(1)(a) GDPR). You can withdraw it at any time in Settings → Analytics & crash reporting. Withdrawal stops collection from then on.

How long: event-level data is deleted after 14 months.

2.8 Crash reports (only with your consent)

If you allow it, Firebase Crashlytics (Google) receives a report when the app crashes or when certain errors occur (for example, a failed sync): the technical error trace, device model, system and app version, the screen you were on, and the device identifier.

Why: to find and fix bugs.

Legal basis: your consent (Art. 6(1)(a) GDPR), given and withdrawn with the same setting as analytics.

How long: 90 days.

2.9 Downloads and offline translation

Card pictures, deck covers, offline voices and their catalogue are downloaded from our storage through Cloudflare, which sees your IP address as with any download. We do not receive these access logs.

Offline translation uses Google ML Kit. The text you translate never leaves your device, but ML Kit downloads language models from Google and sends Google diagnostic and usage data: the languages you translate between, device and app information, and a per-installation identifier. Google uses it to run and improve ML Kit and does not pass it to third parties.

Why: to deliver files and offline translation.

Legal basis: performance of our contract with you (Art. 6(1)(b) GDPR) and our legitimate interest in reliable delivery (Art. 6(1)(f) GDPR).

2.10 Emails to us

If you write to us, we use your email address and message to reply. Our mailbox is hosted by Zoho.

The app does not send these emails itself. Settings → About → Contact us opens your own email app with a draft. When you choose to report a problem, the draft already contains technical details that help us find the cause: the app version, your Android version, device manufacturer and model, the device language and region, the language the app is shown in, your native and learning languages, and your account ID. You see them in the draft and can change or delete any of them before you send it.

Why: to answer you and, for privacy requests, to be able to show that we handled them.

Legal basis: our legitimate interest in answering you (Art. 6(1)(f) GDPR) and, for privacy requests, our legal obligation to demonstrate compliance (Art. 6(1)(c) and Art. 5(2) GDPR).

How long: up to 2 years after the conversation ends.

We do not use your data for advertising, we do not sell it, and we do not make decisions about you based solely on automated processing.

2.11 Do you have to give us this data?

No law requires you to. You can use Dolphi as a guest without giving an email address; an account is needed only to sync between devices. Analytics and crash reports are optional. Without the data in sections 2.1–2.3 and 2.6 the app cannot fetch content or sync.

3. On your device

On first launch the app creates a random device identifier. It tells your devices apart during sync and, only if you consent, labels analytics events and crash reports. It contains nothing about you, but it is stable for the installation, so we treat it as personal data. A new one is created if you reinstall the app or delete your account (section 7).

Your cards, progress, settings, cached descriptions, and downloaded voices and translation models are stored on your device. The app opts out of Android backup, so this data is not copied to your Google account backup. Offline translation and offline voices run entirely on the device.

The app asks for permission to show notifications (for example, voice download progress). It does not request access to your location, contacts, camera, microphone or photos.

4. Service providers

We use these providers, who process data on our behalf and under our instructions:

Descriptions and pictures are generated by AI models running on hardware we operate ourselves; your data is not sent to an external AI provider for this. We may also disclose data where the law requires it.

5. Transfers outside the EEA

Some of the providers above are based in the United States or may process data there. Such transfers rely on the EU–U.S. Data Privacy Framework where the provider is certified, and otherwise on the European Commission's Standard Contractual Clauses. You can ask us for details at [email protected].

6. Your rights

Under the GDPR you have the right to:

Right to object. Where we rely on our legitimate interest (sections 2.4, 2.6, 2.9, 2.10), you can object at any time on grounds relating to your situation, and we will stop unless we have compelling legitimate grounds or need the data to establish or defend legal claims.

Write to [email protected]. We reply within one month of receiving your request and may ask you to confirm that the account is yours. You also have the right to lodge a complaint with the Polish supervisory authority, the President of the Personal Data Protection Office (Prezes UODO, ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl), or with the authority in your own EU country.

7. Deleting your account and data

In the app: Profile → Delete account. This first erases all server data linked to your account (cards, decks, folders, progress, statistics, votes, reports, device records and the sync log), then deletes the account from Firebase, clears the app's data on the device, resets your analytics identifiers and replaces the device identifier. An internet connection is needed. If the app asks you to confirm your password or Google account, do so and deletion continues; if it stops for another reason, run it again — that is safe. If you use Dolphi on several devices, sign out on the others first, so they don't sync data back in the meantime. Deleted data disappears from our database backups within 27 days.

Guests don't have this button: their learning data stays on the phone and is removed by uninstalling the app. To also remove generation votes and reports linked to a guest ID, create a new account in Profile (the guest data carries over to it; signing in to an existing account does not carry it over) and then delete that account. Otherwise they are deleted after 12 months without activity.

Without the app: email us; see dolphi.app/delete-account.

What remains: shared descriptions and pictures of words (section 2.3), which are not about you; server logs until they expire (section 2.6); and analytics or crash data already sent with your consent until their retention periods end (sections 2.7–2.8). That data is no longer linked to your account.

Uninstalling the app removes data on the device but not your server data.

8. Children

Dolphi is intended for a general audience aged 13 and over and is not directed at children under 13. We do not knowingly collect personal data from children under 13; if we learn that we have, we delete it.

Analytics and crash reports rely on consent (sections 2.7–2.8). In Poland and many other EU countries, people under 16 can give this consent only with the agreement of a parent or guardian. That is why, before you turn them on, the app asks you to confirm that you are 16 or older or that your parent or guardian agrees. If you are under 16 and they haven't agreed, decline: the app works fully without analytics.

If you are a parent or guardian and believe your child has given us personal data or consent without your agreement, write to [email protected]. We cannot change the settings on your child's phone, but we will delete the data we can link to them:

To stop collection on the phone, open Settings → Analytics & crash reporting and switch it off; nothing more is sent from then on. Deleting the account in the app (section 7) also switches it off and replaces the device identifier.

9. Security

All traffic between the app and our server is encrypted with HTTPS. Access to the server and database is limited to us, and the content-generation worker uses a separate database account that cannot read your cards or study progress. No system is completely secure; if a breach affects your data, we will notify you and the authorities as the law requires.

10. Changes to this policy

If we change how we process your data, we will update this page and the date at the top. For significant changes, we will also tell you in the app. Where a change needs your consent, we will ask for it.

The policy is published in English, Polish and Russian with the same content.