Skip to content
← Back to Mirifer

Privacy Policy

Last updated: September 25, 2026

1. What We Collect

When you create an account, we collect your email address, display name, and password (stored securely via Supabase Auth). We also store your lesson progress, vocabulary review data, and app preferences.

2. Voice Data

In the English course, voice answers are recorded in your browser and sent through our server to OpenAI's speech-to-text service to turn them into text; in the hotel lesson the words appear in the answer box for you to review before sending. In the German lessons, voice answers use your browser's speech recognition, and your browser may send the audio to its speech recognition service (for example, Google in Chrome). Optional practice clips stay in this tab for replay and are never uploaded or graded. The receptionist's lines are turned into speech by our server with OpenAI's voice service, falling back to a Microsoft voice service and then your browser's own voice. Only the receptionist's lines and the suggested model sentences are sent for speech, never anything you say or type.

In the English course, your voice leaves your device only to be turned into text, as described here and below. Wherever a recording is “discarded”, Mirifer keeps no copy of it; OpenAI processes it under its API terms. In Listen & retell, pieces are read aloud by OpenAI's voice service. When you ask for feedback, your recording passes through our server to OpenAI's speech-to-text service to turn it into text, and is then discarded: Mirifer never stores the recording or the transcript. The transcript and the piece go to Google Gemini, DeepSeek, or OpenAI for feedback, as described below. We keep only your best score per piece (how many key points you covered, and whether you used the text). In the German lessons, two features also send a short recording through our server, only while you are signed in and only when used: when your browser has no speech recognition, the recording goes to ElevenLabs to be turned into text; and when pronunciation scoring is available, it goes to Microsoft Azure Speech. Neither recording is stored by Mirifer. Everywhere else, Mirifer does not receive or store your voice audio. Audio for sentences we read aloud may use ElevenLabs, Microsoft or similar voice services; only the text of the sentence is sent, never anything you said.

3. How We Use Your Data

Some conversation practice uses AI. In the English hotel lesson, the receptionist is played by AI: each reply you send (typed, or spoken and turned into text), together with the conversation so far and the lesson's scenario, goes to Google Gemini, DeepSeek, or OpenAI, in that order when available. The provider writes the receptionist's next line, notes which lesson goals you have reached, and may suggest a short language correction. When you finish, the conversation is sent once more so the provider can suggest more natural ways to say some of your sentences. German free conversation sends the text of your exchange and lesson context to an AI provider. These providers process the text under their own policies; DeepSeek may process data in China. We do not send your account identifier in those AI requests, and voice recordings from the English course go only to OpenAI's speech-to-text service. If no provider responds, your reply stays in the answer box so you can try again. In the English daily session, Mira’s greeting is written in advance (no AI); to check your microphone you say one sentence: the recording goes through our server to OpenAI’s speech-to-text service to turn it into text and is then discarded, and the text stays in your browser for that day only. From Day 2, Mira instead asks one casual question: a spoken answer is turned into text the same way, and your answer (up to 300 characters) goes through our server to the same AI providers, which write her short reply and may suggest one small language correction for the recap. Mirifer doesn’t store the answer; it and her reply stay in your browser for that day only. In the role-plays, each spoken reply (up to 30 seconds) goes the same way to OpenAI’s speech-to-text service and is then discarded; the text appears in the answer box for you to check before sending. In the recap’s “say it again”, your try (up to 12 seconds) goes the same way, only to show you what was heard, and is then discarded. In “Tell your story”, you record a spoken answer of up to one minute (twice): each recording goes through our server to OpenAI’s speech-to-text service to turn it into text and is then discarded, and the text of your first answer goes to the same AI providers for feedback. Mirifer stores neither the recordings nor the text; the text and feedback stay in your browser for that day, so you can look back at them. In “Natural phrases”, each short practice recording (up to ten seconds) goes the same way to OpenAI’s speech-to-text service, only to check whether you said the phrase, and is then discarded; playing back your own voice happens on your device, and only whether the phrase was caught stays in your browser for that day. In “Choose and persuade”, your spoken reasons and answers go the same way to OpenAI’s speech-to-text service and are then discarded; their text goes to the same AI providers for feedback, and stays only in your browser. In “Say it again, better” in Practice, your two spoken answers (up to 45 seconds each) go the same way to OpenAI’s speech-to-text service and are then discarded; the text of your first answer goes to the same AI providers for feedback, and the text stays only in your browser. To let you hear your first and second try side by side, your browser keeps both recordings in memory until the page closes; they are never stored or sent anywhere else. In “Find the missing information”, each spoken question (up to 15 seconds) goes the same way to OpenAI’s speech-to-text service and is then discarded; the text of the conversation goes to the same AI providers, which play the station worker and then give feedback on your questions. The conversation stays only in your browser. In “Speaking card”, your talk (up to two minutes) goes the same way to OpenAI’s speech-to-text service and is then discarded; its text goes to the same AI providers to check which points you covered, how you organised your talk, and to write a better version of it. Your keywords never leave your device. The text stays only in your browser. In “60-second free talk”, your one-minute talk goes the same way to OpenAI’s speech-to-text service and is then discarded; no other AI is used. Your word counts, pause counts and the text stay only in your browser. In “Quick-fire questions”, each spoken answer (up to 20 seconds) goes the same way to OpenAI’s speech-to-text service and is then discarded; the text of your answers so far, with Mira’s questions, goes to the same AI providers to write the next question and a fuller version of your answer. The chat stays only in your browser. In “Dictation sprint”, no AI and no recording are used: your typed answers are checked on your device and never leave it, and your score stays only in your browser. In “Connected speech”, no AI and no recording are used: your taps are checked on your device and your score stays only in your browser. “Spot the lie” works the same way: no AI and no recording, and your choices stay only in your browser. In “Read, rate, respond”, each spoken reply (up to 45 seconds) goes the same way to OpenAI’s speech-to-text service and is then discarded; when you ask for feedback, its text, your rating and the text you read go to the same AI providers, which check your reply against the text and suggest a better one. The replies and feedback stay only in your browser. In “Say it in English”, each spoken try (up to 20 seconds) goes the same way to OpenAI’s speech-to-text service and is then discarded; its text and the message you were asked to say go to the same AI providers, which check whether your meaning came across and suggest a natural way to say it. Your tries and the feedback stay only in your browser; playing back your own voice happens on your device. In “Voice messages”, the messages you hear are read aloud by a voice service from our own text. Each spoken reply (up to 45 seconds) goes the same way to OpenAI’s speech-to-text service and is then discarded; its text and the message go to the same AI providers, which check whether you answered the questions and suggest a natural reply. Your replies and the feedback stay only in your browser. In “Persian-speaker traps”, each spoken sentence (up to 12 seconds) goes the same way to OpenAI’s speech-to-text service and is then discarded; it is checked on your device, and no other AI is used. Your taps and results stay only in your browser.

  • To provide and improve the learning experience
  • To track your lesson progress and spaced repetition schedule
  • To sync your data across devices when signed in

We do not sell your data to third parties.

4. Analytics

We use Vercel Analytics and Microsoft Clarity to understand how visitors use our site. These tools collect anonymous usage data such as page views, device type, and interaction patterns. Clarity may record anonymized session replays to help us improve the user experience. No personally identifiable information is shared with these services.

For signed-in learners, we also store account-linked visit and lesson events in Supabase to understand where practice stops and identify technical obstacles. These events include lesson positions and content identifiers, answer correctness, hint and answer-reveal actions, replay requests, sampled active lesson time, microphone or playback error categories, coarse device and browser type, interface language, and, for the English daily lessons, which steps you did or skipped and your time zone (so we can tell one day from the next). They do not contain raw voice recordings, transcripts, answer text, or full page URLs. Pending events may be stored in your browser for up to 7 days before delivery. Only administrators can view reports across accounts.

Optional German progress checks store the question-set identifier, checkpoint dates, listening and reading scores, and skipped-question count. Answer choices are sent to the server for scoring and are not stored. No voice recording is required. For acquisition reporting, we keep an allowlisted source category (such as Google or a friend invitation) and capture dates, linked to your account after sign-in. The first source category may stay in this browser for up to 30 days before sign-in. We do not retain full referrer URLs or arbitrary campaign text in these reports. These pilot checks do not establish a certified language level.

5. Data Storage

Your account data is stored securely on Supabase (hosted on AWS). Passwords are hashed and never stored in plain text. All connections use HTTPS encryption.

6. Your Rights

You can request deletion of your account and all associated data at any time by contacting us. We will process deletion requests within 30 days.

7. Cookies

Mirifer uses essential cookies for authentication (keeping you signed in). Analytics tools may set their own cookies for anonymous usage tracking.

8. Changes

We may update this policy as Mirifer evolves. Significant changes will be communicated through the app.

9. Contact

Questions about your privacy? Reach us at afraz.jva@gmail.com.