Overview
Anjuvo is based in the Netherlands and builds language learning apps, including Learn Farsi, Learn Dutch, and future Anjuvo apps. This Privacy Policy explains what data our apps collect, why we collect it, how it is processed, and what choices you have.
We design Anjuvo apps to collect only the data needed to provide learning features, sync progress, process subscriptions, improve the apps, and fix bugs.
Contact: hello@anjuvo.com
Accounts and Authentication
Anjuvo apps may automatically create an anonymous account for you through Firebase Authentication. No sign-up is required.
You may optionally link your anonymous account to an email address, Apple ID, or Google account to enable cloud sync across devices or restore your account. If you link an account, Firebase Authentication may receive and store your email address and, where provided by Apple or Google, your display name.
Data We Store in the Cloud
When cloud sync, account features, purchases, feedback, or notifications are used, we may store the following data in Google Cloud Firebase under your user ID:
- Learning progress, including word-by-word SRS state, review timestamps, attempt counts, difficulty scores, lesson scores, path progress, and daily routine progress
- Profile settings, such as your selected interface language and base language
- Cloud sync metadata, such as update timestamps, content versions, and sync status
- Subscription entitlement status synced from RevenueCat
- Push notification tokens, if you enable server-sent notifications
- Feedback submissions, including selected issue, rating, lesson or content context, page number, exercise type, and related diagnostic context
Cloud data is protected by Firebase security rules designed to isolate each user's data from other users.
Data Stored Only on Your Device
Some data is stored locally on your device and is not synced unless a feature specifically requires cloud processing. This may include:
- Optional profile name and age entered in Settings
- App preferences, including sound, music, reminders, quiz settings, child mode, daily routine settings, and SRS configuration
- Downloaded word databases, images, audio, and offline content packs
- Custom learning sets, favourites, cached lesson data, and local progress cache
- Temporary audio recordings before they are submitted or deleted
Deleting the app may remove locally stored data, depending on your device and platform settings.
Speaking Practice and AI Speech Checks
Some speaking activities are local only, such as recording yourself and listening back.
For AI speech feedback, the app records a short audio clip on your device when you choose to use the feature. When you submit the recording, the clip is uploaded to our Firebase Cloud Function and sent to OpenAI for speech-to-text transcription and answer checking.
We may send:
- The audio clip
- Expected target-language phrase or answer
- Expected transliteration or romanisation, where applicable
- Lesson or exercise context
- Segment index or exercise identifier
- Selected and base language
- Audio duration
- Technical file information such as MIME type and file name
The service returns a transcript, transliteration, match score, pass/fail result, and short feedback.
We do not use your recordings to identify you, build a voice profile, or train our own speech model. We do not store submitted audio clips in Firestore as part of your learning profile. Temporary recordings on your device are deleted after submission, cancellation, or when the speaking session ends.
Speaking-check results, such as pass/fail outcome and attempt count, may be logged as analytics events.
AI Conversation Coach
Some Anjuvo apps include an AI-powered real-time conversation coach. This feature is opt-in and activates only when you start a coaching session.
During a coaching session, the app sends your spoken or typed input to our Firebase Cloud Functions and to OpenAI for real-time language feedback, correction, and conversation. Each turn may include:
- Your spoken input as an audio clip or text transcript
- Recent conversation turns in the current session, so the coach can maintain context
- Target language, current lesson or topic, and your level
- Session identifier and exercise context
The coach returns spoken or written corrections, feedback, and follow-up prompts.
We do not use coaching sessions to identify you biometrically or build a voice profile. We do not store full coaching session audio in your learning profile. Individual session turns may be temporarily retained by infrastructure providers for security, abuse prevention, or operational purposes before being deleted.
Summary data from coaching sessions — such as topics practised, session duration, and error categories — may be logged as analytics events and stored as part of your learning progress.
You can end a coaching session at any time. Audio recorded during a session is deleted from your device when the session ends.
AI-Generated Lessons
If you use features that generate lessons from text, prompts, or custom situations, the text you provide may be sent to our Firebase Cloud Functions and to OpenAI to generate lesson material.
The request may include your selected language, level, lesson settings, request identifiers, and the text you entered. You should not enter sensitive personal information into AI-generated lesson prompts.
Generated lesson content may be stored locally on your device and may be subject to rate limits, abuse-prevention checks, or temporary processing logs.
Personalised Learning and Automated Adaptation
Anjuvo apps use spaced repetition (SRS) and related algorithms to adapt the difficulty and timing of exercises based on your past performance. This personalisation is designed to optimise your learning experience. It does not produce legal effects or similarly significant consequences for you. No decisions are made about you as a person based on this processing.
Analytics Events We Collect
We use Firebase Analytics to understand how users engage with the app, improve lessons, identify confusing flows, and measure learning outcomes at an aggregate level.
Analytics events are linked to Firebase pseudonymous identifiers, not directly to your name or email address.
Events may include:
- Lesson activity: lesson started, completed, abandoned, score, duration, lesson type, lesson and path IDs, and step index
- Daily routine activity: routine started or completed, selected mode, skipped stages, duration, and number of words shown
- Vocabulary summaries: words seen, learning, mature, or needing improvement
- Speaking practice results: pass/fail result, attempt count, and grading mode
- Coaching sessions: session started or ended, topic, duration, turn count, and error category summary
- Onboarding activity: steps viewed, completed, skipped, abandoned, and timing
- Streaks and milestones: day streaks, lesson milestones, and first lesson completed
- Offline downloads: download started, completed, or blocked; content type, item ID, word count, and Wi-Fi-only setting
- Cloud sync events: sync completed or failed, linked provider, item counts, and failure reason
- Subscription events: trial started and subscription status changes
- Practice games: memory game level, pair count, score, mistakes, and duration
- App engagement: daily minutes logged, content exhaustion, and catalog or detail pages opened
We do not intentionally include your name, email address, raw voice recordings, or free-form personal messages in analytics events. Analytics may include technical identifiers generated by Firebase, device and app information, and learning-related event parameters.
Analytics are not used for advertising.
Feedback You Submit
If you send feedback inside the app, we may store the selected issue, rating, lesson or content context, page number, exercise type, elapsed time, and your anonymous user ID. Feedback submissions are retained for a maximum of 24 months after submission, or until no longer needed to investigate the reported issue, whichever comes first.
This helps us identify broken content, confusing exercises, or quality issues. Please do not include sensitive personal information in feedback.
Notifications
Daily learning reminders may be scheduled locally on your device.
For server-sent notifications or inbox messages, the app may store a Firebase Cloud Messaging token linked to your anonymous user ID. You can disable notifications in the app settings or your device settings.
Third-Party Services
Firebase and Google Cloud are used for Authentication, Cloud Firestore, Cloud Functions, Firebase Analytics, Crashlytics, Cloud Messaging, App Check, and security-related protections.
Crashlytics collects crash reports and error diagnostics, which may include device model, operating system version, app version, stack traces, and technical state needed to diagnose crashes.
Firebase privacy information: https://firebase.google.com/support/privacy
OpenAI is used for AI speech-to-text, the AI Conversation Coach, and AI lesson generation features. Audio clips, conversation turns, or text prompts are sent to OpenAI only when you use those AI-powered features.
OpenAI privacy information: https://openai.com/policies/privacy-policy/
OpenAI API data controls: https://platform.openai.com/docs/guides/your-data/
RevenueCat manages subscription status and purchase entitlements. It may receive your anonymous app user ID, product identifiers, purchase history, entitlement status, country or region, and technical device and app information.
Payment card details are handled by Apple or Google, not by Anjuvo.
RevenueCat privacy information: https://www.revenuecat.com/privacy
Apple Sign-In and Google Sign-In are used only if you choose to link your account. Your email address and name, where provided, are passed to Firebase Authentication and stored as your account identity.
Legal Bases
Where GDPR applies, we process data based on one or more of the following legal bases:
- Performance of a contract: to provide the app, learning progress, subscriptions, sync, and account features
- Consent: for optional permissions such as microphone access, notifications, AI coaching sessions, and certain account-linking choices
- Legitimate interests: to improve lessons, understand usage, prevent abuse, maintain security, and fix bugs. Our legitimate interest in these cases is to provide a reliable, high-quality learning service and to protect the security and integrity of the app. We have considered the impact on users and concluded that these purposes do not override users' fundamental privacy interests, given that data is pseudonymous, not used for advertising, and limited to what is necessary.
- Legal obligations: to comply with applicable billing, tax, consumer protection, or regulatory requirements
Data Retention
We retain data only as long as needed for the purposes described in this policy.
- Cloud learning data: retained until you delete your account or request deletion
- Local app data: retained on your device until deleted by you, the app, or your operating system
- Firebase Analytics: retained according to our Firebase Analytics retention settings, currently up to 14 months
- Crashlytics reports: retained according to Firebase Crashlytics retention settings, commonly up to 90 days
- Feedback submissions: retained for a maximum of 24 months after submission, or until no longer needed to investigate the reported issue
- Push notification tokens: retained while notifications are enabled or until they become invalid or are deleted
- Temporary speech recordings: deleted after submission, cancellation, or session cleanup, unless temporarily retained by infrastructure providers for security, abuse prevention, or operational purposes
- Coaching session audio: deleted from your device when the session ends; turn data temporarily retained by OpenAI infrastructure per their data controls
- Purchase records: retained by RevenueCat, Apple, or Google as needed for billing, entitlement, fraud prevention, tax, and legal purposes
International Processing
Anjuvo is based in the Netherlands, but our service providers may process data in other countries. Where required, we rely on appropriate safeguards such as data processing agreements and standard contractual clauses.
Your Rights
If you are in the EEA, UK, or another region with applicable privacy rights, you may have the right to:
- Access your personal data
- Correct inaccurate data
- Request deletion
- Request export of your data
- Object to or restrict certain processing
- Withdraw consent where processing is based on consent
- File a complaint with your local data protection authority
To exercise your rights, contact: hello@anjuvo.com
You can also delete cloud data through the app: Settings → Account → Delete Account
Deleting your account removes cloud learning data linked to your Firebase user ID. It does not automatically cancel an active App Store or Google Play subscription. Subscriptions must be managed through the relevant store.
Some provider logs, analytics, crash reports, billing records, or security records may remain for their normal retention periods where legally permitted.
Children
Anjuvo apps are intended for general language learning by users aged 13 and older. The apps do not knowingly collect personal data from children under 13.
Child mode is a display and content preference. It does not by itself change the data collected by the app.
If you believe a child under 13 has used the app and provided personal data, please contact us at hello@anjuvo.com and we will take steps to delete the relevant data.
Security
We use Firebase Authentication, Firebase security rules, App Check, and service-provider security measures to protect app data. No system can be guaranteed completely secure, but we take reasonable technical and organisational steps to protect user data.
Changes to This Policy
We may update this Privacy Policy when the app changes, when providers change, or when legal requirements change. Material changes will be noted by updating the date at the top of this page.
Contact
Anjuvo
Prinses Amaliahof 39
2461 VV Ter Aar
The Netherlands
Email: hello@anjuvo.com