Flashery Privacy Policy

Effective 30 October 2026 · Polski

1. Who is responsible

The controller of data processed in the Flashery Android app is Maciej Tyrakowski, the app's developer. Contact for any privacy matter: tyrek.developer@gmail.com. You will get a reply within one month at the latest.

Contact us (Settings → Help) opens your email app with the address filled in; at the end of the message Flashery adds the app version, Android version and phone model — you can delete them before sending. If you write, we receive your email address and the message. We use them only to reply and keep them in the mailbox as long as needed to deal with the matter. Legal basis: Art. 6(1)(f) GDPR — replying to your message.

2. In short

3. Data kept only on your phone

Word lists, results and study history, settings, nickname, profile picture (if you choose one), reminder time are stored in the app's storage on your phone. Flashery does not send them anywhere — with two exceptions: the cloud backup of your lists, which you can turn on with a Premium or Max plan, and a list you share with a code yourself (section 4). Your birth month and year are also stored on the phone; they reach the server only as described in section 4. If Android backup is turned on, the system may include this data — together with the access key to your points account — in a backup in your Google account. Google manages that backup; you can turn it off in your phone's settings. Uninstalling the app removes this data from the phone.

4. Points account on the server

Once you enter your birth date and are at least 13, the app creates an anonymous account on the Flashery server (Cloudflare Workers with a Cloudflare D1 database). It stores:

Purpose: running points, the points shop, the scan, plans and moving the account with a code. Legal basis: Art. 6(1)(b) GDPR — providing the service you use.

4a. Purchases in Google Play

Plans (subscriptions) and point packs are sold and billed by Google Play. Payment details (card, billing address) are known only to Google, which acts here as a separate controller under its own policies (policies.google.com/privacy). The Flashery server asks Google Play for the state of a purchase to grant the plan or points, and checks the list of refunded purchases daily to take back the plan or points after a refund. The app passes Google Play a one-way hash of your Flashery account ID so the purchase reaches the right account. When Google Play shows an active subscription on a new phone, the server checks it with Google Play and moves the plan to the account on that phone.

5. IP address and abuse prevention

The server sees your IP address on every connection. Flashery stores it only in daily counters (how many accounts were created, scans made and account restores attempted from an address; for IPv6 only the first four groups of the address) so that one person cannot exhaust the service for everyone else. The counters are deleted after 7 days. Legal basis: Art. 6(1)(f) GDPR — legitimate interest in protecting the service from abuse. Cloudflare, Inc., as the server provider, processes the IP address and technical connection data to deliver and secure the service.

Phone identifier. The app sends a one-way hash of the identifier Android assigns to the app on that phone (ANDROID_ID) — when it creates an account, and for an account created earlier once, on its first connection. It does so only after you enter your date of birth and only if you are 13 or older. The server stores a hash of that hash together with the ID of the account used on that phone. This serves two purposes: (1) after you reinstall the app or clear its data on the same phone, the server gives the app back the same account — with points, purchases and date of birth (lessons were only on the phone, so they do not come back); (2) welcome points (30 points) go only to the first account on a given phone. When the account is deleted the link is removed, and the bare hash stays for another 365 days so that a new account on that phone does not get the welcome points again. The hash cannot be turned back into the phone's identifier or used to tell who you are. Legal basis: Art. 6(1)(b) GDPR (restoring the account you use) and (f) (protecting the service from abuse).

6. Photo scan (AI)

The scan is available from age 16 and runs only when you start it. One or two cropped photos and the names of the chosen languages go through the Flashery server to Anthropic PBC (Claude model), which reads the word pairs from them — each photo separately. The result comes back to your phone; the Flashery server stores neither the photos nor the words. Anthropic does not receive your IP address or account ID — only a one-way hash of the ID, used for abuse detection.

Under Anthropic's policies in force when this policy was published, Anthropic does not use data sent through its API to train models and deletes it within 30 days. It keeps it longer — up to 2 years — only when its safety systems flag the content as a policy violation, or when the law requires it (privacy.claude.com). Photograph only the word list: no faces, documents or other people's data.

Legal basis: Art. 6(1)(b) GDPR.

Reporting a problem with the result. Under a scan result you can tap "Report a problem with the result" and pick a reason (wrong words, offensive content, other). Only then does the app send the Flashery server the reason, the language names and the word pairs and unrecognised lines of that scan — without the photo. The report is stored with the points account ID and only the administrator reviews it, to improve reading and remove inappropriate AI-generated content. Kept for 90 days, deleted together with the account. Legal basis: Art. 6(1)(f) GDPR — improving the quality and safety of the service.

7. Ads (Google AdMob)

Ads appear only for people who entered their age and are at least 13. They are served by Google (Google Ireland Limited and Google LLC) through AdMob. Google processes, among other things, the IP address, device and app information, the Android advertising ID and ad interaction data.

For people under 18 the app shows only ads with content suitable for teens. When you watch an ad for points, Google sends the Flashery server a confirmation with your points account ID and a transaction number so that the points can be credited.

Legal basis: consent (Art. 6(1)(a) GDPR) for personalised ads; legitimate interest in funding a free app (Art. 6(1)(f) GDPR) for other ads. How Google uses this data: policies.google.com/technologies/partner-sites.

8. Reminders and read-aloud

Reminders are scheduled on the phone without the server. Reading words aloud uses the speech engine installed on your phone and follows its provider's terms. The app's fonts are provided by Google Play services on the phone (Google Fonts), which may download them from Google's servers the first time they are used.

9. Who receives data

Cloudflare, Inc. (server and database) and Anthropic PBC (scan) process data on Flashery's behalf. When serving ads and selling through Google Play, Google acts as a separate controller under its own policies (sections 4a and 7). Data is not shared with anyone else. These companies are based in the USA, so data may be transferred outside the European Economic Area — under a European Commission adequacy decision (EU-US Data Privacy Framework) or standard contractual clauses.

10. How long data is kept

11. Deleting your data

Settings → Privacy → Delete account data immediately and permanently removes from the server the account ID, birth year and month, points, points history, purchases, purchased themes and effects, the no-ads period, the recovery code hash, the access keys of all phones, the link between the phone and the account, the cloud backup of your lists, lists shared with a code and scan result reports. Lessons on the phone stay. When the app connects again, it creates a new account — without welcome points, because the bare phone identifier hash stays for another 365 days (see section 5).

Deleting your account does not cancel a Google Play subscription. Cancel it in Google Play → Payments & subscriptions → Subscriptions (play.google.com/store/account/subscriptions).

Without the app, write to tyrek.developer@gmail.com with your account ID (shown in Settings → Privacy) or your recovery code (Settings → Account) — we delete the account within 30 days at the latest (see the account deletion page). Without it there is no way to tell which account is yours, because accounts are anonymous — such an account is deleted anyway after 365 days without use.

12. Your rights

You have the right to access, rectify and erase your data, to restrict its processing, to data portability, and to object to processing based on legitimate interest. You can withdraw consent to personalised ads at any time; this does not affect the lawfulness of earlier processing. You may lodge a complaint with the Polish supervisory authority, the President of the Personal Data Protection Office (ul. Stawki 2, 00-193 Warsaw, uodo.gov.pl), or with the authority in your country.

13. Children

Flashery is intended for people aged 13 and over. If you enter an age under 13 or no age at all, the app creates no account on the Flashery server, shows no ads and offers no scan — learning then works only on the phone. If you know that data of a child under 13 has reached the server, write to tyrek.developer@gmail.com and it will be deleted.

14. Security

Connections to the server are encrypted (HTTPS). The server keeps only hashes of the access keys, not the keys themselves. Only the controller has access to the database.

15. Changes

The current version of this policy is always at this address, with its effective date at the top.