Privacy Policy
1. Controller
2. Overview
Nihongo Flow is an app for learning Japanese. We only process the data that is needed to run the app and for your learning progress. We do not sell data, we show no advertising, and we use no third-party tracking or analytics services in the app or on our website (for emails sent via Brevo, see 3 g).
3. What data we process
a) Account
When you register, we process your email address, a password (stored in encrypted form), your display name and your year of birth, as well as the time at which you accepted our Terms and Conditions (AGB). With your account we also store the avatar you design in the app (a drawn figure, not a photo). Legal basis: Art. 6(1)(b) GDPR (performance of the user agreement); for the year of birth, see 3 c (“Minimum age and youth protection”).
b) Learning data
Your vocabulary, learning progress, reviews, mistakes and experience points (XP/level) are stored in order to provide the learning mode (spaced repetition). In the free version we also store your energy level (how many exercises you can do right now) and – to enforce the daily limit on AI requests – the time of each AI request, without its content. So that the sentence puzzle does not repeat itself, we store the puzzle sentences generated for you. Legal basis: Art. 6(1)(b) GDPR.
c) AI features (Anthropic Claude)
Some features use the Claude language model of Anthropic PBC (USA): the Sensei chat and the “voice call with Sensei”, “Teacher explains”, example sentences and questions in vocabulary review, the sentence puzzle, the AI check and the translation template in the sentence builder, text correction and the daily level estimate (“Your level today”).
Consent. We only send data to Anthropic if you have first given your explicit consent in the app (Art. 6(1)(a) GDPR). Consent is voluntary; without it you can use all other features. You can withdraw it at any time with effect for the future under Settings → AI features (Art. 7(3) GDPR). After that our server refuses every AI request, and we delete your stored level estimate as well as AI recommendations that your teacher has created for you. As proof (Art. 7(1) GDPR) we store, for each consent, the time, the version of the consent text, your age group, the platform and the language, and for each withdrawal the time, the platform and the language.
Data sent. What you type or say in AI features (chat messages together with the chat history so far, questions, sentences, texts), words from your deck (word, reading, meaning, example sentences) together with your learning level, for the level estimate a summary of your learning status (level, vocabulary and mistake statistics, progress), and a pseudonymous identifier (a hash of your user ID) so that Anthropic can link misuse to an account without knowing who you are. If you book lessons with a teacher (web app only), at your teacher's request we also send a summary of your learning status – without your name – so that Claude can create a lesson recommendation from it; this too requires your consent. For 16- and 17-year-olds we also tell Anthropic that the user is 16 or 17 years old (see below). Not sent are your name, your email address, your year of birth and your IP address. Please do not enter personal details such as your address or phone number in AI features, and do not share sensitive data within the meaning of Art. 9 GDPR there either, for example about health, religion or sex life.
Anthropic processes the data as our processor only to generate the answers, does not use it to train its models and normally deletes it after 30 days; content that may violate Anthropic's usage policies can be kept for up to 2 years. The transfer to the USA is based on the EU Standard Contractual Clauses (see 5). AI answers can be wrong.
Minimum age and youth protection. Nihongo Flow may be used from the age of 13. When you register (for existing accounts once, at the next start) we ask for your year of birth. For the minimum age we calculate the current year minus your year of birth; for the AI features we calculate more cautiously with the lowest possible age (current year minus year of birth minus 1), so that nobody under 16 can give consent. Under 16, all AI features are blocked and no data is sent to Anthropic or Groq. For 16- and 17-year-olds we add extra youth-protection instructions to every request to Anthropic; Anthropic only learns that the person is 16 or 17 years old, not the exact age or the year of birth. If the year entered is below the minimum age, we store it as well – so that it cannot simply be changed by entering it again – and you can then only delete your account or sign out; the year is deleted together with your account. Legal basis for the year of birth: Art. 6(1)(b) GDPR (minimum age of 13 under our Terms and Conditions) and Art. 6(1)(f) GDPR (youth protection, age-appropriate design). You cannot change your year of birth yourself; corrections via the contact address in section 8.
Reporting answers. Every AI answer has a report function (flag icon). When you report an answer, we store the reported answer, your related input, the reason, your optional comment, the feature, platform, app version, age group and technical context about the reported feature (e.g. the chosen personality, card ID, language, exercise mode, estimated level) together with your user ID, in order to review the report and make the AI features safer (Art. 6(1)(f) GDPR). Reports are not passed on to Anthropic automatically. If a reported answer points to an error in or misuse of the language model, we may share the answer, the related input and the pseudonymous identifier with Anthropic, but not your name, your email address or your user ID. If there is a suspicion of a criminal offence (for example sexual content involving minors), we may pass the report and the related data to a reporting hotline such as jugendschutz.net or the Internet-Beschwerdestelle, or to the law enforcement authorities (Art. 6(1)(f) GDPR: protection of children and young people, investigation of criminal offences). We delete reports at the latest 12 months after receipt and immediately together with your account – unless we have to keep a report for longer because of a suspected criminal offence.
d) Speech recognition
The pronunciation exercises in vocabulary review and – in the iOS app – also the “voice call with Sensei” (a voice conversation with the animated Sensei; the camera is not used) use the speech recognition of your device or browser:
- iOS app: Speech recognition is done by Apple (the speech recognition of iOS). The app does not require the recognition to run on the device only; Apple may therefore send your voice recording to Apple's servers for recognition and process it there.
- Browser: For the pronunciation exercises in the web app, the app uses the speech recognition of your browser; depending on the browser, its provider (e.g. Google for Chrome) may process the recording on its own servers.
The privacy policy of the respective provider applies to this (for Apple: apple.com/legal/privacy). Your voice recording is not sent to us. In the pronunciation exercises, the app compares the recognised text with the target word on your device only; we only receive whether your answer was right (see 3 b). In the voice call we receive the recognised text and process it like a chat message (see 3 c).
The app reads Sensei's replies in the voice call aloud with the speech output of your device or browser (in the iOS app, with the speech output of iOS). In the browser, depending on the browser and the selected voice, the text to be read aloud may be sent to the provider of the browser (e.g. Google).
In the “voice call with Sensei” in the web app (/app), on the other hand,
speech recognition takes place on the server: your browser records what you say while the microphone
is switched on and sends the recording, together with the selected language (Japanese or German), via
our server to our processor Groq. The recording is only sent to Groq if you have
consented to the AI features (see 3 c, Art. 6(1)(a) GDPR), and not for users under 16. The provider is
Groq UK Limited, 3 Hammersmith Grove, London W6 0ND, United Kingdom. Groq converts the recording into
text; the recognised text is returned to the app and then processed like a chat message (see 3 c).
Groq does not receive your name, your email address, your user ID or your IP address. We do not store
the recording; our server only holds it in memory for the duration of the transfer.
As a rule, Groq does not store the recording or the recognised text. Only to fix technical faults or to investigate suspected misuse may Groq log them temporarily; these logs are kept for at most 30 days unless a longer retention period is required by law. Groq may not use the data to train AI models. Groq may also process the data in the USA and in other countries (see section 5).
Voice input in the voice call is optional; you can also type your answers there. Legal basis for speech recognition by Groq: your consent to the AI features (Art. 6(1)(a) GDPR); for the speech recognition and speech output of your device or browser: Art. 6(1)(b) GDPR.
e) Technical data
When the servers are accessed, technically necessary access data is generated (e.g. IP address, time of the request). Legal basis: Art. 6(1)(f) GDPR (secure, stable operation).
f) Cookies & local storage
We do not use tracking or marketing cookies, and we use no analytics services on the website or in the app. On your device (browser storage or app settings) we store the following data:
- Sign-in session (authentication token, encrypted) – so that you stay signed in. Technically necessary.
- One-time code from the password reset link
(
nf_recovery_token_hash, only on the/reset-passwordpage and only in the current browser tab) – so that the reset still works after the page is reloaded. It is deleted after use. Technically necessary. - Settings such as the chosen appearance (light/dark) and the interface language
(
nihongo_lang). Technically necessary. - Learning progress – part of your progress (e.g. in kana, grammar and the learning paths) and a cache of your energy level are also kept on your device, some of it only there (e.g. your progress in “Hokkaidō Densetsu”). If you sign out, this progress stays on the device, kept separately per account, and is available again when you sign in with the same account; another account does not see it. If you delete your account in the app, it is also removed from this device. Technically necessary.
- Registration block (
age_gate_block_until_v1) – only if a year of birth below the minimum age was entered at registration: the time until which no new registration is possible on this device for 24 hours, without the year of birth itself. Technically necessary (minimum age, see 3 c). - Your cookie choice (
nihongo_consent_v1on the website,cookie_consent_v1in the web app – visible in browser storage asflutter.cookie_consent_v1) – so that we do not ask you again on every visit. Technically necessary. - Referral ID (
ls_aff_refon the website;ls_aff_ref_v1andls_aff_ref_ts_v1in the web app – visible in browser storage asflutter.ls_aff_ref_v1andflutter.ls_aff_ref_ts_v1) – only if you come to us via a partner link and choose “Accept all” in the cookie notice. The ID only contains the partner code and the time of your visit, is no longer taken into account after 60 days at the latest, and serves only to attribute a later Premium purchase to the referring partner. It is not technically necessary.
The technically necessary storage is strictly necessary to operate the app; under § 25(2) no. 2 TDDDG (German Telecommunications Digital Services Data Protection Act) no consent is required for it. Legal basis for the underlying processing: Art. 6(1)(b) GDPR. We only store the referral ID with your consent (§ 25(1) TDDDG, Art. 6(1)(a) GDPR). You can withdraw this consent at any time with effect for the future: via the “Cookie settings” link in the footer of the website (choose “Essential only”) – this choice deletes the referral ID of both the website and the web app and also sets the web app's cookie choice to “Essential only” – or by deleting the website data in your browser. If you choose “Essential only” in the web app, a referral ID stored there is deleted as well. The iOS app shows no cookie notice and stores no referral ID.
g) Email communication
To manage your account you receive system emails – currently mainly the email for resetting your password, when this is requested in the app for your email address. These emails are triggered by our processor Supabase (authentication) and sent via the email delivery service Brevo. The provider is Brevo GmbH, Köpenicker Str. 126, 10179 Berlin, Germany. Brevo acts as our processor; a data processing agreement under Art. 28 GDPR is in place with Brevo.
Brevo processes your email address as the recipient address, the content of the email including a personal link for resetting your password (valid for 1 hour and only once), and delivery data such as subject, time and delivery status. Brevo does not receive your IP address when the email is sent, because Supabase hands the email over to Brevo.
Brevo is configured so that opening the email and clicks on the link are not attributed to you as the recipient; no personal usage profile is created. For technical and security reasons, Brevo may redirect links in the email to our website via its own server and count opens and clicks anonymously, without attributing them to you (opens e.g. via an invisible image that is loaded from a Brevo server when the email is displayed). When you click the link or the image is loaded, Brevo receives the IP address and the browser data (e.g. type and version of the browser or email program) of the device on which you click the link or open the email, as well as the time.
Brevo stores the data on servers in the EU; for sub-processors outside the EU, see section 5. Brevo automatically deletes the delivery logs after one month; Brevo does not store a copy of the email content (preview). If delivery to an address fails permanently (e.g. because it does not exist) or an email is reported as spam, Brevo puts the address on a block list so that no further emails are sent to it. This entry (email address, reason and time of the block) remains stored for as long as it is needed to prevent further delivery attempts to this address.
Legal basis: Art. 6(1)(b) GDPR (performance of the user agreement). Resetting the password is one of the account functions of the app; without this email you could no longer access your account and your learning data after forgetting your password. For the redirection of links via Brevo and the anonymous counting of opens and clicks, the legal basis is Art. 6(1)(f) GDPR; our legitimate interest lies in the secure and reliable delivery of the emails. We do not send an advertising newsletter; the one-off message of the book waitlist (see 3 l) goes only to the addresses entered there. More information: brevo.com/legal/privacypolicy.
h) Sign in with Google
In the web app you can optionally sign in with your Google account instead of email and password (“Sign in with Google”); the iOS app does not offer this sign-in. Only if you use this feature does Google send us your email address and the user ID assigned by Google; in turn, Google learns that you are signing in to Nihongo Flow. The provider is Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland. Personal data may be transferred to Google LLC in the USA; Google LLC is certified under the EU-US Data Privacy Framework. Legal basis: Art. 6(1)(b) GDPR (providing the sign-in method you have chosen). More information: policies.google.com/privacy.
i) External program libraries and fonts
Some pages of our website and the app load program files or fonts from servers of external providers (content delivery networks). The respective provider necessarily receives your IP address and the information that your browser or the app sends with every request (e.g. browser or software version, time, requested file):
- Password reset page (
/reset-password): The supabase-js program library is loaded from jsDelivr. The provider is Volentio JSD Limited, Suite 2a1, Northside House, Mount Pleasant, Barnet, EN4 9EB, United Kingdom. jsDelivr delivers the files via several CDN providers (Cloudflare, Fastly and Gcore). The file is loaded with an integrity check, and the address of the calling page – and therefore the link from the email – is not sent to jsDelivr. More information: jsdelivr.com/terms/privacy-policy. - Web app (
/app): The graphics library with which the app is displayed in the browser (CanvasKit, fromwww.gstatic.com) and fonts (fromfonts.gstatic.com) are loaded from Google servers. - Installed app (e.g. for iOS): Some fonts are loaded from Google
servers (
fonts.gstatic.com) the first time they are displayed and are then stored on your device, so that they are not downloaded again every time you use the app. - Website (home page nihongo-flow.app): The fonts of the website are loaded via
Google Fonts (
fonts.googleapis.com,fonts.gstatic.com).
The provider of the Google services is Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland. Personal data may be transferred to Google LLC in the USA; Google LLC is certified under the EU-US Data Privacy Framework. More information: policies.google.com/privacy.
Legal basis: Art. 6(1)(f) GDPR. Our legitimate interest lies in the secure, fast and reliable delivery of the program libraries and fonts that are required for the pages and the app to work and display correctly. We are responsible for embedding the files and for the resulting transfer of your IP address; the respective provider is independently responsible for any further processing. No cookies are set in the process.
j) Subscriptions and payments
You can subscribe to Premium in two ways. In both cases we receive no payment data (no credit card or account numbers).
- In the iOS app via the App Store: The seller of the subscription is Apple (for customers in Germany, Apple Distribution International Ltd., Hollyhill Industrial Estate, Hollyhill, Cork, Ireland). Payment, invoicing, cancellation and refunds are handled entirely through your Apple Account; Apple's privacy policy applies to this (apple.com/legal/privacy). To determine whether your subscription is active, we use RevenueCat (RevenueCat, Inc., 1032 E Brandon Blvd #3003, Brandon, FL 33511, USA) as our processor. For this, the app sends RevenueCat: the pseudonymous user ID of your account (not your email address or your name), the App Store purchase receipts (product, purchase and expiry time, transaction numbers, country or currency), the device type and the operating system and app version; for technical reasons RevenueCat also receives your IP address. Advertising IDs (IDFA) are not collected. Our server only asks RevenueCat whether your Premium access is active, until when and for which subscription, and stores this with your account.
- On the web via Lemon Squeezy: The seller (Merchant of Record) is Lemon Squeezy (Sold through Link, LLC, formerly Lemon Squeezy LLC, 222 South Main Street, Suite 500, Salt Lake City, UT 84101, USA), a company of the Stripe group. You complete the payment on the Lemon Squeezy page; Lemon Squeezy processes your payment and billing data there (e.g. name, email address, billing address, payment method) and issues the invoice. We send Lemon Squeezy the user ID and the email address of your account and the chosen plan, so that the purchase can be assigned to your account – and, if you came via a partner link (see 3 f), the partner code, so that Lemon Squeezy can attribute the purchase to the partner. From Lemon Squeezy we receive the status of your subscription (e.g. trial, active, cancelled), the chosen plan and the end of the trial. If you take out a yearly subscription via a partner link, we credit you with one lesson with a teacher (see 3 k) and store the partner code and the ID of the subscription at Lemon Squeezy with it. More information: lemonsqueezy.com/privacy.
Legal basis: Art. 6(1)(b) GDPR (performance of the subscription contract or pre-contractual measures). We store the status of your subscription for as long as your account exists. If you delete your account, we also delete your customer record at RevenueCat. This does not cancel a running App Store subscription; only you can do that, in the settings of your Apple Account.
k) Lessons with teachers (web app only)
In the web app you can book lessons with a teacher; the iOS app does not offer this feature. For this we process:
- Bookings: the teacher, the date and time, and the status of the booking (e.g. confirmed or cancelled, and by whom). If you have a credit for a lesson (see 3 j), we redeem it when you book. The teacher sees your display name and your appointments.
- Learning status for the teacher: so that they can prepare the lesson, the teacher sees a summary of your learning status: display name, level and XP, the number and learning status of your vocabulary, your most frequent grammar mistakes, your progress in kana, grammar and the learning paths, and your learning streak. If you have consented to the AI features, the teacher can have a lesson recommendation created from it (see 3 c) and use its tasks in the lesson.
- During the lesson: in the shared lesson room the teacher sees whether you are in the room and in which area of the app you are practising (e.g. kana or vocabulary review). This live display is transmitted between your devices via Supabase and is not stored. We store the start and end of the lesson and the task list (title, description, done or not).
Legal basis: Art. 6(1)(b) GDPR (carrying out the booked lessons). We store this data for as long as your account exists; your bookings and lessons are deleted together with your account.
l) Book waitlist
On our website you can join the waitlist for our printed practice book (“Hiragana & Katakana Practice Book”). For this we store your email address, the language of the website at the time you joined and the time. No account is needed. Before storing it we automatically check by DNS lookup (Cloudflare) whether the address's domain accepts email; only the domain part is sent, not your address. An address that is already on the list is not stored again.
Purpose: we send you one email when the book is released, possibly with a launch offer. There is no newsletter beyond that. Legal basis: Art. 6(1)(a) GDPR (consent). You can withdraw your consent at any time, for example by email to the address in section 8; we then delete your entry right away. At the latest after the release email has been sent we delete the whole list. It is stored at Supabase and the email is sent via Brevo (see 4).
4. Processors & hosting
- Supabase – authentication & database (account and learning data, book waitlist) and the live display in the lesson room (see 3 k).
- Anthropic PBC (USA) – processing of AI inputs (Claude).
- Railway (USA) – hosting of the server infrastructure.
- Brevo (EU) – sending system emails (e.g. password reset) and the one-off message of the book waitlist (see 3 l).
- Groq UK Limited (United Kingdom) – speech recognition in the “voice call with Sensei” in the web app.
- RevenueCat, Inc. (USA) – management of App Store subscriptions in the iOS app (see 3 j).
Data processing agreements under Art. 28 GDPR are in place with these providers. For “Sign in with Google” (see 3 h), Google Ireland Limited (Ireland; transfers to the USA possible) is not a processor but processes the data involved as an independent controller under its own privacy policy; no data processing agreement exists in this respect. The same applies to Volentio JSD Limited (jsDelivr) and Google Ireland Limited when program libraries and fonts are loaded (see 3 i). Apple (App Store) and Lemon Squeezy (web) each sell the subscription to you themselves as the seller (see 3 j); they do not process the payment data on our behalf.
5. Transfers to third countries
Anthropic PBC and Railway are based in the USA. Insofar as personal data is transferred to the USA in this context, this is based on the EU Standard Contractual Clauses (Art. 46(2)(c) GDPR) as an appropriate safeguard. With Supabase, too, processing outside the EU may take place depending on the project configuration; in that case the Standard Contractual Clauses apply as well. Groq UK Limited is based in the United Kingdom, for which there is an adequacy decision of the European Commission (Art. 45 GDPR); insofar as Groq processes the data in the USA or other third countries, this is based on the EU Standard Contractual Clauses (Art. 46(2)(c) GDPR), which are part of the data processing agreement with Groq. For “Sign in with Google”, Google Ireland Limited may transfer data to Google LLC (USA); Google LLC is certified under the EU-US Data Privacy Framework (adequacy decision of the European Commission, Art. 45 GDPR).
RevenueCat, Inc. is based in the USA and stores the data in data centres in the USA. The transfer is based on the EU Standard Contractual Clauses (Art. 46(2)(c) GDPR), which are part of the data processing agreement with RevenueCat. Lemon Squeezy is also based in the USA; insofar as we transfer personal data there (user ID, email address and, where applicable, the partner code, see 3 j), this is based on the EU Standard Contractual Clauses (Art. 46(2)(c) GDPR). Apple Distribution International Ltd. is based in Ireland.
Brevo stores the data on servers in the EU. Some of Brevo's sub-processors are based outside the EU (including in the USA and in India); insofar as personal data is transferred in this context, this is based on the EU Standard Contractual Clauses (Art. 46(2)(c) GDPR) or – for the USA – also on the EU-US Data Privacy Framework (Art. 45 GDPR), insofar as the respective recipient is certified under it. jsDelivr is based in the United Kingdom, for which there is an adequacy decision of the European Commission (Art. 45 GDPR). The files are delivered via jsDelivr's CDN providers, including Cloudflare, Inc. and Fastly, Inc., which are based in the USA; both are certified under the EU-US Data Privacy Framework. jsDelivr is independently responsible as controller for any further processing by jsDelivr, including any onward transfers. When files are loaded from Google (see 3 i), Google Ireland Limited may transfer data to Google LLC (USA); what is said above about the EU-US Data Privacy Framework applies.
6. Retention period
We store account and learning data for as long as your account exists. When your account is deleted, the associated data is deleted. Technical server logs are only kept for a short time. We keep the records of consents and withdrawals for as long as your account exists. We store your year of birth for as long as your account exists. We delete reports about AI answers at the latest 12 months after receipt, unless they are needed as evidence of a suspected criminal offence. We delete entries in the book waitlist after the release email has been sent or right after you withdraw.
7. Your rights
You have the following rights at any time: access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and objection (Art. 21 GDPR).
You can exercise these rights directly in the app: under Settings → Download my data (data portability) and Settings → Delete account (erasure), and you can withdraw your consent to the AI features under Settings → AI features (Art. 7(3) GDPR). Alternatively, an informal email to the address above is sufficient.
You also have the right to lodge a complaint with a data protection supervisory authority – for example the Bavarian Data Protection Authority (Bayerisches Landesamt für Datenschutzaufsicht, BayLDA), Promenade 18, 91522 Ansbach, Germany.
8. Contact for privacy questions
Email: schaper.leonard@gmail.com