Français Flow logoFrançais Flow

Privacy Policy

Last updated: 19 October 2026

Introduction

Français Flow is operated by Klaudia Kromołowska ("we", "us", "our"). We are committed to protecting your privacy. This policy explains how we collect, use, and protect your personal data when you use our French learning platform, in accordance with the General Data Protection Regulation (GDPR).

Data Controller

The controller of your personal data is Klaudia Kromołowska, with correspondence address at ul. Warszawska 111, 42-200 Częstochowa, Poland. Tax ID (NIP): 6793269779. Contact: salut@francaisflow.com. As the controller, we determine the purposes and means of processing your personal data.

Data We Collect

We collect: your email address and display name when you create an account, and the date on which you confirm that you are at least 16; your learning progress, exercise results and spaced-repetition state; your preferences (language, theme, learning goals); recordings of your spoken answers if you use the DELF speaking exercises; payment data processed by Lemon Squeezy, our merchant of record (we never store card details); records of how you practise, read and listen and of how your exam simulations go, linked to your account (see “Practice behaviour data” below); if you write to us through the contact form on our website, your name, email address, the topic, the school or organisation you name (optional) and your message, which we use only to reply to you; if you leave your email address without an account to receive emails after downloading a free material, that address, the language of the page and the date and wording version of your consent; if you report a bug, your message, the address of the page, your plan, your browser and, if you attach one, a screenshot; if you are a member of a class, which materials from the class library you open (how many times and when you last did), which the teachers of that class can see; and aggregated, anonymised usage analytics to improve the platform.

Legal Basis for Processing

We process your data on the following bases under GDPR Article 6: (a) Contract performance (Art. 6(1)(b)) — account data, learning progress, and subscription management are necessary to deliver the service you signed up for; (b) Legal obligation (Art. 6(1)(c)) — billing and transaction records are retained to comply with Polish accounting law (5-year statutory requirement); (c) Consent (Art. 6(1)(a)) — if you opt in to marketing communications, your email is processed for that purpose; consent may be withdrawn at any time without affecting the lawfulness of prior processing; (d) Legitimate interest (Art. 6(1)(f)) — basic records of how you practise, read and listen (results, typed or selected answers, the starts and ends of practice rounds, exam sections and exam simulations, the texts you open) are processed to improve the learning method, while detailed browser measurements (e.g. answer and reading times, audio plays, words looked up, device type) are processed only with your analytics consent (Art. 6(1)(a)); see “Practice behaviour data” below, including your right to object and the Settings toggle; (e) Replying to your enquiry (Art. 6(1)(f), or Art. 6(1)(b) where you ask about using the service) — messages sent through the contact form are processed only to answer them; (f) Legitimate interest (Art. 6(1)(f)) — bug reports and attached screenshots are processed to find and fix the error you reported; (g) Legitimate interest (Art. 6(1)(f)) — the record of which class library materials you open lets the teachers of your class see who has looked at a material before a lesson; you may object to it at salut@francaisflow.com.

How We Use Your Data

Your data is used to: provide personalised learning experiences through spaced repetition; track your progress and generate statistics; process subscription payments; improve our platform and content; and send account-related transactional notifications. Marketing communications are sent only with your explicit, separate consent.

Class library: when you open a material shared by a teacher in your class, we record against your account that you opened it (the number of opens and the date of the last open). The teacher running the class can see this, so they know who has looked at the material. This data is deleted together with the material, with the teacher's account (including their classes) or with your account. Archiving a class does not delete it.

Practice behaviour data

When you practise, we record how you practise, not only what you answered — in two groups. The basic group (no consent needed): your results and the answers you typed or selected, when a practice round started and ended and whether it was finished, quit with the button, ended by the time limit or interrupted otherwise, which cards were shown in which order and which were skipped, the number of days since your previous session (worked out from the dates of your sessions) and a snapshot of your practice settings. The legal basis is our legitimate interest in improving the service (GDPR Art. 6(1)(f)). Detailed browser measurements (only with consent): how long each answer took and when a card was revealed, whether you used a hint, undid an answer or replayed audio, when the practice tab was in the background, whether a round was interrupted by closing the tab, leaving the page or idling, your device type (touch or mouse) and screen size, the time of day and timezone of the session, and where you arrived from (entry source or referring page). These measurements are sent only if you accept analytics in the cookie banner (the same consent as for PostHog); the legal basis is then your consent (GDPR Art. 6(1)(a) and Art. 399 of the Polish Electronic Communications Law). Declining does not limit your access to learning. You can withdraw consent at any time in the cookie settings — from then on the measurements are no longer sent; withdrawal does not affect the lawfulness of processing before it. The mobile app does not collect detailed measurements. Both groups of records are linked to your account and are kept only in our own database (Supabase, EU region); they are never shared with third parties or used for advertising. We use them to improve the learning method, for example to find the point at which learners give up and to tune review scheduling. Raw records are deleted 18 months after they were recorded. You may object to this processing at any time (GDPR Art. 21). The simplest way is in Settings, under “Practice data”, by turning off the “Collect my practice data” switch: turning it off immediately and irreversibly deletes every practice behaviour record collected so far for your account (both groups, including the records described in the next paragraph) and stops collection, while your progress, results and review schedule are left untouched; turning it back on resumes collection from that moment. You may also object by e-mail to salut@francaisflow.com — we will then do the same for you. We do not claim overriding grounds for this processing: an objection is always honoured.

We also record how you use texts and exam simulations. When you read an article in the reading module or listen to a dialogue or a dictation sentence in the listening module, the basic group records: which text you opened (its identifier and CEFR level), the list of words that make up the text (so that we can later check which of them turned up in your reviews), and, for a dialogue or a dictation, the quiz score or the verdict on your transcription (perfect / close / wrong). Only with analytics consent do we add: how long the text was visible on screen (counted only while the browser tab is in the foreground), how many times you started the audio, which words of the text you looked up in the translation tooltip (the words themselves, not their translations), how many times you translated a selected passage (without the selected text) and whether the transcript was revealed. In DELF exam preparation (listening and reading comprehension, timed sections and full exam simulations) the basic group records: when a round, section or simulation started and ended and whether it was finished, the time expired, or it was quit with the button or interrupted otherwise, the level and type of section, which documents were shown, the number of the option chosen in multiple-choice questions, and the number of answered and correct answers in each document. Only with analytics consent do we add: how long and how many times each document was shown, the time from the document being shown to the choice, answer changes, audio replays, and whether it was interrupted by leaving the page or closing the tab. These events never contain your recordings or their transcripts, written texts, notes taken while listening, the text of the answer options or AI-generated feedback; for the writing and speaking sections we record only the start, end and duration of the section. These records are subject to the same rules as the other practice behaviour data: the same purposes and legal bases for each group, the same database in the EU region, 18 months of retention, no external recipients and the same objection switch in Settings.

Third-Party Processors

We share data with the following processors, each bound by a Data Processing Agreement: Supabase Inc. (USA; our data hosted in the EU region — Ireland) — database and authentication infrastructure; Vercel Inc. (USA) — application hosting and content delivery (IP address, request metadata, logs); Lemon Squeezy, LLC (USA) — our merchant of record for payments, invoicing, and subscription management (acts as an independent controller for transaction data); Amazon Web Services (EU region — Frankfurt) — transcription of your spoken answers (Amazon Transcribe) and speech synthesis (Amazon Polly) in the DELF speaking module; Google LLC (USA) — AI-powered content generation, including word enrichment, card suggestions and the AI chat (Gemini / Vertex AI API), scoring of your spoken DELF answers, speech synthesis (Cloud Text-to-Speech) and translation of text you enter (Cloud Translation, or Gemini when it is unavailable); Sentry / Functional Software Inc. (USA; processing in the EU region) — error tracking; PostHog, Inc. (USA; data hosted in the EU) — product analytics, loaded only after you accept analytics cookies; Mixpanel, Inc. (USA; data hosted in the EU) — product analytics and session recordings (a replay of how you use the app, in which text shown on screen and values typed into fields are masked), loaded only after you accept analytics cookies; Grafana Labs (EU region) — application logs; Resend, Inc. (USA) — delivery of emails: transactional ones and, if you consent, marketing ones (for which Resend holds a recipient list with your email address and first name); Pexels (Germany, part of Canva) — stock image search for card illustrations; Forvo Media, S.L. (Spain) — pronunciation audio; GitHub, Inc. (USA) — storage of weekly database backups; 650 Industries, Inc. (Expo, USA) — delivery of push notifications in the mobile app, if you turn them on (your device's push token and the notification text, passed on by Apple or Google to your phone). We do not sell your data to any third party.

International Data Transfers

Some processors are based outside the European Economic Area (EEA), specifically in the United States. These transfers rely on one of two bases: a European Commission adequacy decision under the EU–US Data Privacy Framework (GDPR Article 45), where the provider is certified under that programme, or Standard Contractual Clauses approved by the European Commission (GDPR Article 46(2)(c)). Wherever possible we choose EU-region processing: our database, application logs, error monitoring, PostHog and Mixpanel analytics and speech processing all run in European regions.

Data Storage & Security

Your data is stored on Supabase (PostgreSQL) with row-level security policies. All data is encrypted in transit (TLS 1.2+) and at rest (AES-256). Access is restricted to authorised personnel only.

Data Retention

We retain your data as follows: account and learning data — kept for the lifetime of your account and deleted within 30 days of an account deletion request (database backups, which we keep for 30 days, expire within the same period); billing and transaction records — retained for the period required by tax law, that is until the tax liability becomes time-barred, which happens 5 years from the end of the calendar year in which the payment deadline fell (Article 86 § 1 in conjunction with Article 70 § 1 of the Polish Tax Ordinance); speech recordings — held in a private bucket; the audio itself is deleted automatically 30 days after upload (sooner if you discard it or delete your account), while the transcript and score stay in your history until you delete your account; practice behaviour records — deleted 18 months after they were recorded, or immediately when you turn off their collection in Settings; contact form messages — deleted 12 months after they were received; bug reports and their screenshots — kept for the lifetime of your account and deleted with it; a screenshot is stored privately and only our administrator can open it, through a link that expires after two minutes; materials, assignments and announcements of a class run by a teacher — kept until the teacher deletes them one by one or deletes their account (we then delete all of their classes, including the library files); archiving a class deletes nothing; records of the class library materials you open — deleted when the teacher removes the material or deletes their account, or when you delete your account; server and error logs — retained for a limited period in accordance with our logging provider’s retention policy, then automatically deleted; email addresses left without an account to receive emails after downloading a free material — deleted 30 days after we send the confirmation email if you have not confirmed, and otherwise kept until you withdraw consent; after you withdraw, we keep only the address, the record of the consent you gave and the date you withdrew it, so that we can show which consent was withdrawn and when, and so that we never email that address again; marketing consent records — retained until you withdraw consent or request deletion. Deleting your account also erases your recordings, uploaded images and bug-report screenshots.

Cookies & Tracking

We use only essential cookies (authentication session, invite gate, demo mode, the address waiting for e-mail confirmation, class and teacher invitation links kept through sign-in) and functional cookies that you control (interface language, theme). We also use PostHog and Mixpanel for product analytics — both set cookies and collect usage data, and Mixpanel additionally links that data to your account identifier and records your sessions: the structure of the pages you view, your clicks and scrolling and the page addresses are recorded, while text shown on screen and values typed into fields are masked. Session recording and Mixpanel’s automatic event collection are switched off on the login, registration, password-reset, email-verification and onboarding pages, in Settings, on the Pricing and Contact pages, in the teacher and class sections (including invitation links), in the social (friends) section and in the admin panel. Under our strict consent settings both tools load only after you accept analytics cookies. The same analytics consent covers the detailed practice measurements described under “Practice behaviour data” (they go only to our own database). If you choose ‘Essential only’, all non-essential scripts (analytics and browser error monitoring) stay switched off. You can change or withdraw your choice at any time via Cookie settings (below or in the footer), or through your browser.

Cookies and local storage we use
NameCategoryPurpose
sb-*-auth-tokenEssentialLogin session (Supabase authentication)
ff-inviteEssentialInvite-token gate during pre-launch
ff_verify_emailEssentialThe address waiting for e-mail confirmation, shown on the “check your inbox” screen (httpOnly, up to 24 hours)
ff_signup_goalEssentialOne-time marker that a sign-up has just finished (httpOnly, 10 minutes)
ff-joinEssentialClass join code kept while you sign in or register (7 days)
ff-tinviteEssentialTeacher invitation token kept while you sign in or register (7 days)
ff_demo_modeEssential‘Try demo’ mode flag
ff_demo_tokenEssentialServer token of the ‘Try demo’ mode (httpOnly)
NEXT_LOCALEEssentialSelected interface language (en/pl)
francaisflow-theme-v2FunctionalRemembers your dark/light theme
ff-onboardedFunctionalSkips onboarding once you have completed it
ff-cookie-consentEssentialStores your cookie choice (browser local storage)
ff-u16EssentialMarks the browser of an under-16 account so analytics never loads; expires when the user turns 16.
ff_attrFunctionalRecords which site or campaign you arrived from, so we can tell which channels bring people to us. First-party, never shared, no cross-site tracking.
ff_calc_conversationEssentialKeeps your in-progress calculator conversation so a page reload does not lose it (browser local storage)
ff_calc_result_tokenEssentialHolds your calculator result for up to 7 days so it can be attached to your account if you register (browser local storage)

Analytics and error monitoring load only after you accept — and never on accounts of users under 16. To review, change, or withdraw your choice:

Artificial intelligence

Some features of the platform use artificial intelligence: the AI assistant chat, card enrichment, translation and example suggestions, homework generation in the class module, and synthetic voice recordings. If you use the speaking exercises, your recording is sent to an AI system (Google Gemini) for scoring and to Amazon Transcribe for transcription. We always tell you when you are interacting with an AI system. Machine-generated content may contain errors — treat it as study material, not as an authoritative source. We analyse your progress automatically in order to schedule your reviews, but we do not make automated decisions about you that produce legal effects or similarly significantly affect you within the meaning of GDPR Article 22. Your answers in exercises and in class assessments are graded by a deterministic algorithm comparing your answer against a key — not by an AI system.

Children and young people under 16

When you create an account we ask for your year and month of birth (not the day), only to find out whether a parent’s or legal guardian’s consent is needed and when it stops being needed. If the user is under 16, we also process the parent’s or guardian’s e-mail address they give us: we send a consent request to it and, once consent is given, we keep the address together with the date consent was given (and any withdrawal) and the version of its text, as proof of consent (GDPR Art. 7(1) and Art. 8(2)). The legal basis for processing the parent’s or guardian’s address is our legal obligation to make reasonable efforts to verify consent (GDPR Art. 6(1)(c) in conjunction with Art. 8(2)). The consent record does not include an IP address or device data. We keep this data until the child’s account is deleted. On accounts of users under 16 we never run analytics or in-browser error monitoring, whatever the cookie settings, we collect no practice data (response times, typed answers) used to improve the app, and we send no marketing messages or reminders. Only an adult can buy a paid subscription. A parent or guardian may exercise the rights described under “Your rights” on the child’s behalf by writing to salut@francaisflow.com.

Your Rights

Under GDPR you have the right to: access your personal data (Art. 15); correct inaccurate data (Art. 16), including changing your email address in Settings (if you sign in only with Google, write to us); request deletion of your data (Art. 17); restrict processing (Art. 18); receive your data in a portable format (Art. 20); object to processing based on legitimate interests (Art. 21) — for practice behaviour records also with a single switch in Settings; withdraw consent for marketing at any time. To exercise these rights, visit the Settings page or contact us at salut@francaisflow.com. If you left your address without an account, you can withdraw consent with the unsubscribe link in every email we send you, or by writing to salut@francaisflow.com.

Right to Lodge a Complaint

If you believe we are processing your personal data in violation of GDPR, you have the right to lodge a complaint with the Polish supervisory authority: Urząd Ochrony Danych Osobowych (UODO), ul. Stawki 2, 00-193 Warsaw, Poland, www.uodo.gov.pl.

Contact

For privacy-related questions or to exercise your rights, contact us at: salut@francaisflow.com. We respond without undue delay and in any event within one month of receiving your request. For particularly complex requests we may extend that period by a further two months — we will tell you within the first month, together with the reason (GDPR Article 12(3)).