YOUR INFORMATION
Privacy, plainly.
Updated October 10, 2026
Practice without an account
You can use guest exercises without providing an email or microphone access. Completed sessions, selected languages and practice settings are stored in your browser. Clearing this site's browser data removes that guest history. You can download your history from your account page.
If you create an optional three-session listening plan, its language, chosen exercises and creation date stay in this browser. The plan uses this device’s completed sessions to show progress. It is not synced to your account, and replacing the plan does not erase your practice history. Clearing this site’s browser data also removes the plan.
Signing in and saving history
If you choose Google sign-in, Google and Firebase authenticate your account. We receive your account identifier, name, email and email-verification status. We do not receive your Google password. If you choose email and password, Firebase Authentication handles account creation, sign-in and password storage. Your password is sent to Firebase for authentication; it is not saved in your practice history or our purchase records. We use your account identifier, sign-in methods and verified email to connect your account with your purchases.
Verification and password-reset emails are sent through Firebase only when you explicitly request the relevant action. Creating an account, signing in or opening a recovery page does not send one automatically. The message uses your email address and contains an account-action link. We check verification with Firebase before restoring purchased access. Resetting a password or explicitly adding a password to your existing signed-in account keeps the same account identity.
New completed practice sessions save automatically to your verified signed-in account in Firebase. Records include language, sound contrast, completion date, score, mistakes, audio collection and whether text hints were used. They contain no microphone recordings. Signing in loads account history without automatically uploading older guest history. Signing out stops future account saves and leaves local history on this device.
Recording reports
If you report a recording, we save its identifier, file version, language, voice and the issue you select. No sign-in, name or email is required. Reports are stored with Cloudflare for audio quality review. A day-specific hash of your network address limits repeated submissions; the reporting database does not store your raw address. These temporary rate-limit records are cleared after the day ends.
Support requests
Our contact form stores your email, selected topic, message and request time privately with Cloudflare so we can help you. Please do not include passwords or card details. A day-specific hash of your network address limits spam. Support messages are not public and are not sent to analytics. Resend delivers support requests and recording-report notifications to our private support inbox. Support notifications include your email and message so we can reply.
Purchase records
Stripe processes payments. We use purchase identifiers, payment status and the checkout email to honor access and resolve purchase problems. Card details stay with Stripe. Existing lifetime access is checked against a private purchase record, not a publicly searchable customer list.
Starting checkout saves a pending record in this browser containing your account identifier, chosen plan, a random request identifier and its creation time. This lets a reload or interrupted connection resume the same request. It contains no email, sign-in token, card details or Stripe checkout link, and is not sent to analytics. The record remains until the server confirms purchased access, an explicit checkout-status check confirms there is no unfinished checkout, or you clear this site’s browser data. Signing out does not remove it. Clearing it does not cancel a checkout, payment or subscription; the billing service separately checks for existing payments and memberships before starting another.
Audio and hosting
Exercises play cached recordings from the site and identify their audio source and review status. The listening trainer does not record your voice. If cached audio is unavailable and a device voice is offered, playback uses your browser's speech service, whose processing depends on your device and browser.
Our hosting provider processes ordinary connection data, such as IP addresses and requested pages, to deliver and protect the service.
First-party product and purchase reporting
We measure public page visits, source categories, languages and sound groups, practice starts, submitted answers and scores, incomplete sessions, playback errors, membership offers, checkout handoffs and confirmed purchases to operate and improve MinimalPairs. This reporting is separate from the Google Analytics choice and uses no analytics cookies or persistent browser visitor identifier. We do not send names, email addresses, account IDs, raw referring URLs, written answers or recordings to this reporting service.
Cloudflare receives normal connection information. We derive a daily estimate from the network address and browser User-Agent using a random daily secret. Our aggregate statistics do not contain raw addresses or User-Agents; the short-lived encrypted checkout context described below is kept separately. Daily journey records and their secrets expire within three days; aggregate totals and minimized purchase summaries are retained for 90 days. Network or device changes can split a person, and shared connections can combine people. These counts are estimates, not exact people.
A short-lived signed receipt connects an observed daily journey to a server-verified purchase when available. Stripe stores limited checkout context such as source category, public landing page, selected language, exercise and plan. No Google Analytics identifier is included. Missing referral information stays unknown; we cannot reconstruct earlier visits. Owner/test exclusions remain available through browser exclusion settings. Account progress and billing records needed to provide your purchase remain separate.
Optional usage analytics
We ask before loading Google Analytics. Keeping analytics off leaves practice available. With your permission, we measure visits, lesson and diagnostic starts and results, sound-group scores, playback failures, guide playback, practice suggestions, and return visits. Records can include a random practice identifier, language, contrast, audio collection, activity type, session length, score, text-hint use, interface language and free or paid access category.
We also count visible membership offers, selected plans, successful sign-ins, checkout handoffs and errors, and confirmed support or recording-report submissions. A checkout handoff means the payment page was opened, not that a purchase occurred. Support tracking includes only the selected topic; recording-report tracking includes only the language and issue category. Names, account identifiers, email addresses, support messages, word answers, microphone recordings, payment identifiers and card details are not sent to Google Analytics.
We send approved page paths and broad source, medium and campaign categories, rather than query strings, fragments or full referring URLs. Separately, limited first-party context can accompany checkout as described above. They contain no Google Analytics user or device identifier. Stripe’s payment records remain separate from browser usage analytics. Metadata already attached to a checkout stays with its purchase records; changing browser consent does not erase it.
For attribution, this tab temporarily stores the approved source categories with a 30-minute inactivity limit. Following a practice suggestion in the same tab stores a random suggestion identifier and its target for up to 30 minutes, until the next practice start or tab closure. A local timestamp of the last consented practice start lets us count broad return intervals. Turning analytics off clears these measurement records. Optional session feedback sends only the selected fixed category and practice identifiers when you explicitly share it; earlier choices are not sent after a later opt-in. Events are best-effort, and a queued event does not confirm delivery.
Use analytics settings to change consent or exclude this browser from measurement. Exclusion applies to this browser’s tabs; repeat it on other devices. Local development and recognized automated browsers are excluded automatically. Removing exclusion does not grant consent. Clearing site data removes saved preferences. We also keep analytics off when your browser sends Do Not Track or Global Privacy Control. Turning Google Analytics off stops Google Analytics measurement and removes this site’s Google Analytics cookies, but does not erase events already received by Google.
Google receives ordinary connection and device information when analytics loads. Advertising storage, advertising personalization and Google Signals are disabled. Analytics is excluded from verification and password-reset pages. Analytics describes consenting browsers, not every visitor or a complete cross-device history, and does not reconstruct earlier visits. Preview data is labeled separately. Google Analytics event and user data retention is 14 months without restarting on new activity; analytics cookies expire after 180 days unless renewed by later use.
Plausible analytics
We use Plausible to visualize site visits, referring sources, languages, practice activity, email-plan signups and confirmed purchases. This cookieless measurement is separate from the optional Google Analytics choice. We do not send email addresses, account identifiers, payment identifiers, card details or individual word answers to Plausible. Plausible processes ordinary network and browser information to estimate daily visitors and display device and broad location statistics.
At checkout, encrypted network and browser context is kept briefly to connect a server-confirmed payment to the visit in Plausible. This context expires after 48 hours and is removed from temporary storage during scheduled cleanup. It is not included in reports or Stripe metadata. Browser exclusion also prevents this measurement. A reporting event does not change payment or account access.
Optional listening emails
The optional listening-plan signup includes three course emails followed by weekly listening tips. Creating an account, buying access or allowing analytics does not subscribe you. When subscriptions are available, we store the email address and language you provide, your explicit choices, consent wording version and date, and subscription or unsubscribe status. Selecting the listening-plan signup button subscribes you to that course and weekly series without a second confirmation email. Marketing emails may include information about paid access.
The subscription service uses Cloudflare to process requests and store these records. It receives ordinary connection information; a temporary salted address hash limits repeated submissions without retaining your raw IP address in the subscriber record. Unconfirmed requests expire after seven days. We keep a limited consent audit for thirty days after that cleanup; verified subscriptions and suppression records remain until deletion or an applicable retention review. Unsubscribing suppresses both course and weekly messages. Use the link in any message, or contact support to change preferences or request deletion. We retain the minimum suppression information needed to avoid sending you unwanted mail.
Control and contact
You can sign out and clear local history in your browser settings. Clearing browser data does not delete account history already saved online. For account, history-deletion or purchase-record requests, use our help and contact page. Records needed to honor a purchase, handle disputes or meet legal obligations may need to be retained.
We will update this page when data handling changes. This notice describes the rebuilt experience; the earlier site's processing may differ while the migration is underway.