Privacy policy

Last updated 9 November 2026

This policy covers the TEF Practice website and mobile app. Features and permissions vary by platform. Contact us at hello@tefpractice.ca with questions about your data or to request its removal.

What we collect

Your email address and account information, when you create an account or join our mailing list. Public guides and course lessons can be read without signing in. Saved practice sessions, vocabulary and study goals belong to your TEF Practice account. The score calculator runs entirely in your browser - the scores you enter are never sent to us or stored anywhere.

Usage analytics, so we can see which pages are useful and how the app works. This includes pages or screens visited, interactions, device and app information, referrers and operation errors. Signed-in analytics are linked to your account identifier. The mobile app disables session replay and requests that PostHog not derive location from your IP address. Network providers still receive IP addresses when handling requests. We do not sell this data or use it to build advertising profiles.

Website session replay, provided by PostHog, helps us find usability problems by reconstructing page layouts, clicks, scrolling and navigation. Public page text and question prompts are visible in recordings. Form inputs, account details, saved responses, transcripts and personalized feedback are masked in your browser before capture. Images, embedded account and payment screens, audio and video are blocked from replay. We do not capture console logs, network request bodies or headers. Replay page URLs exclude query strings and fragments. Recordings use the same pseudonymous visitor or account identifier as usage analytics and are retained for 30 days. Session replay remains disabled in the mobile app.

Teacher partner applications

When you apply to the teacher partner pilot, we save your account identifier, verified email, name, school or business, role, optional public profile and city, learner count, preferred contact language and the teaching context you submit in our private Azure storage. Our team uses these details to review your application and contact you about the program. When you apply, or update an application we declined, Resend emails these details to our team inbox. Analytics record the application with your role, learner count, contact language and whether you added a website or city. They exclude your name, organization, links, city and teaching context. Administrators also keep internal review notes and a record of review decisions. Applying does not subscribe you to a marketing mailing list or give anyone access to student practice. You can update a pending application from your account or request withdrawal and deletion at hello@tefpractice.ca. We retain your application while reviewing it or discussing participation; you can request removal if you decide not to continue.

Sharing practice with a teacher

Nothing is shared with a teacher unless you add them in Settings, under Teachers, and confirm. That teacher can then see your name, email address, saved speaking recordings and transcripts, written responses and the AI feedback on them, including practice from before you shared. They can’t see your reading, listening, vocabulary or billing details. If you started sharing before 21 October 2026, that teacher sees transcripts only until you choose to share recordings in Settings. Only approved teacher partners can receive access. A teacher’s notes on your practice are stored with your account, and their drafts stay private to them. When a teacher publishes a note you haven’t opened after a few minutes, we email you about it; you can turn these emails off in Settings, under Teachers. You can stop sharing at any time in Settings. Feedback they already sent stays in your sessions until you delete the session or ask us to delete your account data. Using a partner’s referral code or link doesn’t share your practice. That partner can see your email address and whether your Premium subscription through their code is active, so they can invite you to share practice.

Teacher enquiries

When you contact a teacher from their profile, we save your name, email address, message, the teacher’s profile, the time you sent it and your consent. With your permission, we email those details to that teacher and show them in their partner dashboard so they can reply. If you’re signed in, your name and email are filled in for you and you can change them. Sending an enquiry doesn’t share your practice or book a lesson.

We use the record to see which introductions came from TEF Practice and keep it for up to 365 days. To limit abuse, we count submissions using hashed network and email identifiers. You can send an enquiry without an account. To have an enquiry deleted, email hello@tefpractice.ca. Copies in a teacher’s own inbox are theirs to manage. Enquiry analytics never include your contact details or message.

Practice drafts and live audio

Signed-in practice saves your answers, writing drafts, session timing, results, vocabulary, review schedules and study goals in Azure storage. Any rehearsal recording you explicitly upload is private to your account. Practice analytics exclude your writing, conversation transcripts and recordings.

During live speaking practice, microphone audio is sent to OpenAI after you agree to AI processing and start a conversation. We save a text transcript of your interaction and its feedback with your session. Your browser also records the conversation, both your voice and the AI partner’s, and uploads it to private Azure storage so you can replay it in your session review. Only you and any teacher you share your practice with can play it, and it is not used for analytics or AI feedback. We keep it with the session and delete it when you delete that session or ask us to remove your data. Deleted recordings can stay in Azure’s recovery storage for up to seven days. Guest practice does not include live speaking, so guests are never recorded. OpenAI processes audio under its API data policies, including applicable abuse-monitoring retention. See OpenAI’s API data controls. Ending the conversation stops the microphone and the recording.

To generate writing or speaking feedback, we send the task and your submitted writing or conversation transcript to Surplus Intelligence, which routes the request to its model providers, or directly to OpenAI when configured as the assessment provider. We do not add your account email or payment information to the assessment prompt. Provider retention and processing terms apply; see the Surplus Intelligence privacy policy. Use fictional details in exam responses rather than sensitive personal information.

Vocabulary processing

When you ask for an automatic translation, we send the French word, its definition, one example sentence and your chosen language to Surplus Intelligence, which routes the request to its model providers, or directly to OpenAI when it is configured as the provider. The example is the sentence you saved the word from, if there is one. If that request fails, Microsoft Azure Translator receives the definition or the word instead. We save your vocabulary and its translations with your account. We keep each automatic translation in a shared cache, keyed by a one-way hash of the word, definition and example and holding no account details, so the same word with the same definition and example is not translated twice. You can enter your own translation or choose no translation. The providers' own processing policies apply, including the Surplus Intelligence privacy policy and the Microsoft privacy statement.

AI choices in the mobile app

The app asks before enabling live conversations, AI feedback and vocabulary processing. You can decline or turn AI processing off in Settings → Privacy. This choice applies to your account on that device; it does not change your choice on other devices or the website. Turning it off stops new requests and queued retries from that device. Content already sent may finish processing, and existing saved practice is not deleted. Reading, listening and saved vocabulary review remain available without AI processing.

Account and acquisition records

Account data is processed by Clerk, our authentication provider. Usage records track your remaining AI allowance and prevent duplicate charges for the same attempt. Analytics associate signed-in activity with your account identifier; signed-out website activity uses a visitor identifier. First-visit and recent acquisition context is kept in your browser for up to 90 days. A summary is associated with saved activity and checkout to understand which sources lead to practice and subscriptions. Raw advertising click identifiers, email addresses and full URL query strings are excluded from product analytics events. These identifiers are pseudonymous, not anonymous.

Website analytics and advertising measurement

Google Analytics measures website visits and completed signups using a browser identifier, page paths, referring websites and campaign tags. We remove private URL details and exclude account identifiers, emails, practice answers and recordings from these events. Global Privacy Control and Do Not Track suppress Google Analytics on this website.

On the website, the Meta Pixel sends page views and completed account registrations to measure our Facebook and Instagram ads. We also use Meta’s Conversions API for completed registrations and confirmed web purchases. Meta receives website addresses, browser information, IP addresses and advertising cookie identifiers. Purchase events include the amount and currency. We use a pseudonymous event identifier to avoid counting the same conversion twice. We do not send account emails, practice answers, recordings or transcripts with these events. Global Privacy Control and Do Not Track suppress page view, registration and purchase events. The mobile app does not send these events to Meta. You can manage advertising preferences in your Meta account and restrict cookies through your browser settings. See Meta’s privacy policy.

If you arrive from a Google ad, we retain its click identifier separately from practice analytics and associate it with your account acquisition record. We use clicks from the previous 90 days to measure a completed web signup or first paid web subscription charge. We send Google Ads the click identifier, a conversion identifier and the time of the event. Purchase events also include the amount and currency. We do not include your email, practice answers, transcripts or recordings in these measurement events, and we do not create remarketing audiences. Expired click identifiers are discarded when your acquisition record is next updated; you can request deletion through our support address. See Google’s privacy policy.

Billing

For website purchases, RevenueCat receives your account identifier and checkout email to manage purchases, subscription access and billing messages. Stripe processes payment details in its secure checkout.

For purchases made through the iPhone app, Apple processes payment through the App Store. RevenueCat receives your TEF Practice account identifier and purchase information, including products, transactions and subscription status, to provide and restore access. Our application stores subscription, transaction and usage information, not full payment card numbers. Billing providers may retain transaction records for their accounting, fraud-prevention and legal obligations. Manage Apple subscriptions in your Apple account; deleting TEF Practice or requesting account deletion does not cancel an Apple subscription.

Mobile notifications

If you enable feedback notifications in a supported build, we store a notification token and installation identifier linked to your account. Expo and the platform notification service, such as Apple Push Notification service on iPhone, use the token to deliver a message when feedback is ready. The message includes account, session and notification identifiers so the app can open the right saved practice. It does not include your answer text, transcript, score or name. You can turn notifications off in your device settings; your saved feedback remains available in Sessions.

Why we collect it

Account information supports sign-in, saved learning activity and subscription access. Practice responses are used to deliver your requested feedback. Mailing-list email is used for updates you signed up for. Analytics help us understand acquisition and improve the product.

Who processes it

We use the following service providers to run the service. Their own privacy and processing policies also apply. We do not sell your practice responses or share them for advertising.

  • Resend - stores waitlist email addresses, delivers requested mailing-list updates and emails partner applications to our team.
  • PostHog - the pseudonymous usage data described above.
  • Meta - website page-view events and browser identifiers for advertising measurement, as described above.
  • Vercel - serves the site and API, which means processing request logs including IP addresses.
  • Clerk - account authentication and sign-in methods.
  • Microsoft Azure - private practice records, vocabulary, study goals, saved rehearsal recordings and fallback translations through Azure Translator.
  • OpenAI - live audio, transcription and AI processing.
  • Surplus Intelligence and its model providers - text processing for writing and speaking feedback and vocabulary translations.
  • RevenueCat and Stripe - checkout, payment processing, subscriptions and billing communications.
  • Apple - App Store payments, subscription management and iPhone notification delivery.
  • Expo - notification tokens and delivery of the feedback messages described above.

Depending on the provider and account configuration, your data may be processed outside your province or country and be subject to the laws there.

How long we keep it

Anonymous practice is available in the same browser for seven days. Expired guest drafts are scheduled for deletion after a further day to allow an in-progress save to finish. Practice saved to your account remains available until you delete it or request removal. We keep separate usage records without your answer text to reconcile AI costs and billing.

Waitlist emails are kept until you unsubscribe or ask us to delete them. Analytics data is retained on our analytics provider's configured retention schedule. Saved learning records remain until you delete them or request account-data removal. You can delete individual sessions and vocabulary through your account or request deletion at the address below.

Your choices

Mailing-list emails include an unsubscribe link. Necessary sign-in and billing messages are separate from marketing subscriptions. You can ask us to delete your data at any time by emailing hello@tefpractice.ca. We may need to verify ownership before deleting account data.

Cookies and device storage

We use cookies and browser storage for authentication, analytics, acquisition context and Meta advertising measurement on the website. The checkout providers use their own necessary payment and fraud-prevention technologies. You can clear browser storage in your browser settings; clearing authentication cookies signs you out.

The mobile app also stores sign-in credentials using the operating system's secure storage, along with local preferences, cached learning data, drafts and queued requests used for recovery after a connection failure. Clearing app data or uninstalling the app is not a request to delete your server account or provider records. Contact us using the address above to request account-data removal.

Children

TEF Practice is not directed at children. The TEF itself has a minimum age of 16.

Changes

If this policy changes materially, the date at the top changes with it.