Privacy Policy
Effective date: October 1, 2026 · previous version: September 29, 2026
RadLinguist, operated by Radext Software Inc. ("RadLinguist", "we", "us"), is an AI language teacher, available as an iOS app, an Android app, and a web app at www.radlinguist.app. This policy explains what data we collect, why, who sees it, how long we keep it, and the controls you have. It is written to be read, not skimmed past. If anything is unclear, write to info@radext.com.
The short version
- Your learning content stays yours. We use it to teach you, not to profile you, advertise to you, or train AI models.
- We do not sell your data and we show no ads inside the app. When you arrive from one of our own ads, the store tells us which campaign brought you (an install source, not a person), and the ad networks can learn whether that install went on to create an account, start a free week, or subscribe. On Android that measurement runs through Google Analytics for Firebase and includes the device's advertising identifier. In the EEA, the UK and Switzerland the ad-network measurement happens only if you agree; elsewhere, unless you have answered that question, it follows the analytics switch (section 1, “Ad measurement”).
- Product analytics is on by default and you can switch it off at any time in Settings; it never contains what you write or say.
- Using RadLinguist requires agreeing that what you write, the images you share and your voice — with your name, your languages and level, and the notes the app keeps about your learning — are sent to OpenAI to generate replies. If you do not agree, or later withdraw, the app cannot be used until you agree; you can still sign out, delete your account, download your data, and change your privacy choices (section 4).
- Speech analysis is optional and has its own consents. In the EEA, the UK and Switzerland — and wherever we cannot tell which region you are in — nothing is captured or analysed until you answer an explicit yes-or-no question, with neither answer pre-selected. Elsewhere it is asked about once, when you set up the app, with the switch shown on so you can leave it on or turn it off before you continue. It can be revoked at any time — revoking deletes the data.
- You can see what the app remembers about you, correct it, export everything, and delete your account — permanently — from inside the app.
1. Data we collect
Account
You can sign in with Apple, with Google, or with an email address and password. We store the email address your sign-in provides, the provider's account reference, and — only if you choose to add them — a first name, a preferred name, and a profile photo. Passwords are stored only as a one-way cryptographic hash; we cannot read them. If you use Apple's private relay email, we treat it as private and never use it to link accounts.
Learning content
The languages you speak and are learning, your goals, your level (self-reported or estimated), the messages you type, the audio you record when you use voice, the images you share for translation, your practice and lesson progress, and the working notes the app keeps so your AI teacher can pick up where you left off. You can review, correct, hide, or remove those notes at any time in Settings › What RadLinguist remembers.
Speech analysis (optional)
If you leave speech analysis on, the app looks at how you speak — not just what you say — to spot patterns worth practicing. You decide this during setup. In the EEA, the UK and Switzerland, and wherever we cannot tell which region you are in, the app asks you an explicit yes-or-no question with nothing pre-selected; elsewhere the switch is shown on and you can turn it off before continuing. You can change it at any time in Settings › Speech. This is governed by its own consents, described in section 6.
Settings and preferences
Interface language, theme, notification preferences and quiet hours, timezone (for scheduling reminders), chat-history retention choice, and your teacher preferences.
Technical data
Standard server logs and rate-limiting counters needed to run and protect the service, and — if you enable notifications — an encrypted push token for your device. The apps, and the web app in your browser, also create a random identifier when first installed or opened; it is stored on your device, sent with each request, and used to tie your sign-in sessions and push notifications to that device and to protect your account. It is not an advertising identifier and it is not shared with advertisers. We do not collect precise location. The Android app's Google Analytics for Firebase collects the device's advertising identifier, and derives an approximate location (such as country or city) from the device's IP address, only while ad measurement is allowed (see “Ad measurement” below); the iOS app never collects an advertising identifier.
Website waitlist (closed)
Before the apps launched, radlinguist.com offered a waitlist. If you joined it, we hold the email address you entered and, if you gave it, what you planned to use RadLinguist for. The form was processed by Netlify, our website host. We use that email only to tell you about the launch — no marketing lists, no sharing — and you can ask us to remove it at any time. The site no longer collects sign-ups.
Product analytics (on by default, switchable off)
We record typed product events (for example "a practice session started") so we can tell which parts of the app help people learn. These events never contain your messages, audio, transcripts, names, email address, IP address, or payment details, and your account appears in them only as a salted pseudonym. Analytics data is processed by us, on our own infrastructure. The one exception is the Android app's Google Analytics for Firebase, described under “Ad measurement” below. No other third-party analytics service receives anything.
This is on unless you turn it off. You can switch it off whenever you like in Settings › Privacy & data, on every platform we ship. Switching it off stops these events being recorded from that moment; it is a real switch, not a preference we consult later.
A small set of essential events is always recorded and is not covered by that switch: signing in, purchases, errors, and a count of app opens and sessions so we know how many people are using the service at all. These carry no learning content and are never used for behavioral profiling.
Campaign and install attribution
If you arrive from a marketing link, we record which campaign brought you, from a fixed allow-list of values, for 90 days. When you install the app we ask the store the same question: on iOS through Apple's Search Ads attribution token, which our server sends to Apple and which resolves to a campaign, never to you — the app reports that token only while ad measurement is allowed (below); on Android through the Play install referrer, the parameters on the store link you tapped. We keep only the resulting source and campaign name — nothing about your device or the click — and the first record stays; a later one never replaces it. That record is never used to infer your proficiency, native language, identity, or what you should pay.
Ad measurement
We may advertise RadLinguist on Apple Search Ads, Google Ads and Meta. To learn whether those ads work, the apps can tell the ad networks that an install went on to reach one of three steps — account created, free week started, subscribed. What is sent differs by platform:
- iPhone. The step is sent as a small number through Apple's own attribution systems (AdAttributionKit and SKAdNetwork). Apple passes it on to the network whose ad led to the install, without any identifier of you or your device. The app also reports Apple's Search Ads attribution token, described above.
- Android. The app includes Google Analytics for Firebase, which sends the steps to Google so that Google Ads can count them. With them Firebase sends the device's advertising identifier, a Firebase app-instance identifier, an approximate location derived from the IP address, and its own standard app-usage events (such as the app being opened and screens being viewed); for a purchase it also sends the price, its currency, and the store's transaction ID. Ad personalization is always turned off: the advertising identifier is used to measure our ads, not to target ads at you.
In the EEA, the UK and Switzerland, none of this is sent unless you explicitly agree when the app asks you, and you can withdraw that agreement at any time in Settings › Privacy & data. Where we cannot tell which region you are in, the same opt-in rule applies. Everywhere else, unless you have answered the ad-measurement question, it follows the product-analytics switch: it is on by default, and switching product analytics off in Settings › Privacy & data stops it. An answer you have given always wins over these defaults. The Play install referrer described above is read by us alone and is not ad-network measurement. None of these signals contains your name, your email address, or anything you wrote or said. The web app sends no ad-measurement signals; a marketing link records only the campaign, as described above.
2. How we use data
- To teach you. Your messages and recordings are processed to produce corrections, translations, phrasing, lessons, and feedback.
- To remember you. A bounded set of working notes personalizes your teacher. You can see and change every one of them.
- To remind you, if you enable notifications — with quiet hours on by default — and to ask you a word from your course a few times a day, which you can turn down or off.
- To improve the product, using analytics events that contain no learning content and that you can switch off in Settings.
- To keep the service safe — authentication, abuse prevention, rate limiting, and debugging.
We do not use your content to train AI models — ours or anyone else's. The only exception is narrow and yours to grant: an explicit opt-in that lets de-identified samples be used to evaluate speech-analysis quality (see section 6).
3. Legal bases (EEA, UK, Switzerland)
If you are in the European Economic Area, the United Kingdom or Switzerland, data protection law requires a legal basis for each use of your data. These are ours (under the GDPR, and the equivalent UK and Swiss provisions):
- Providing the service — your account, the teacher, the tools, practice, the level check, your history and your plan, including sending your content to OpenAI to produce replies, corrections, voice and grading (section 4): necessary to perform our contract with you (Article 6(1)(b)). The screen that asks you to agree to sharing with OpenAI is a disclosure-and-permission step that the app stores' rules require; it is not the legal basis for that processing.
- Speech analysis and its additional switches (section 6), and ad measurement in these regions (section 1): your consent (Article 6(1)(a)). You can withdraw it at any time; withdrawing does not affect what was done before.
- Product analytics, security, abuse prevention and debugging: our legitimate interests in understanding, protecting and fixing the service (Article 6(1)(f)). You can object to product analytics at any time by switching it off in Settings › Privacy & data.
- Billing records: our legal obligation to keep tax and accounting records (Article 6(1)(c)).
The controller of your data is Radext Software Inc., 3268 Chartwell Green, Coquitlam, BC V3E 3M9, Canada — info@radext.com. Your data is processed in the United States (section 12). When it goes to the service providers named in sections 4 and 7, our agreements with them cover the transfer: they rely on the European Commission’s standard contractual clauses, with the UK addendum for UK data and the Swiss adaptation for Swiss data, or on an adequacy decision where the provider is covered by one. You can ask us for a copy of these safeguards. You have the right to complain to a data protection authority, in particular where you live or work; we would be glad to hear from you first.
4. AI processing
RadLinguist's teacher is an AI. The app tells you so, and that disclosure is never hidden. To generate responses, the text you write, images you share, and audio you speak are sent to OpenAI, our AI provider, under API terms that do not permit OpenAI to train its models on that data. With them go your name (if you have given one), the languages you speak and are learning, your level, and the notes the app keeps about your learning. We send a bounded context — recent turns and a small memory block — never your whole history. Your profile photo is never sent to the AI or analyzed.
OpenAI processes this data for us to:
- transcribe what you say;
- write the replies, corrections and spoken voice of your teacher and the tools;
- keep the notes about your learning up to date;
- analyze your speech, if speech analysis is on (section 6);
- grade your level check.
Using RadLinguist requires your agreement. The service runs on OpenAI: the teacher, the tools and the level check cannot work without it. Before you use the app, it tells you what is sent to OpenAI and why, and asks you to agree; nothing is sent to OpenAI for you until you do. If you choose Not now, or later withdraw in Settings › Privacy & data › Share data with OpenAI, the app stays on the screen that asks for your agreement until you give it. From that screen you can still sign out, delete your account, and open Privacy & data — your analytics and ad-measurement choices, Download my data, and the policies — and, on the web, manage a subscription bought there. Withdrawing deletes nothing already saved, and it does not cancel a subscription: cancel that where you bought it (Terms of Service, section 6). While you have not agreed, we send you no learning reminders; notices about your account and billing still reach you.
Reporting a reply. If a reply looks wrong or inappropriate, press and hold the reply and choose Report (on the web, tap Report beside it). Our team reviews reports. We store the reason you choose, the note you add (if any), a copy of the text of that reply, where in the app it appeared (and which conversation or tool, when it is yours), its language, and your platform and app version, so that someone on our team can review it. Reports are not sent to OpenAI. A report is kept until you delete your account; because it holds its own copy of the reply, clearing your chat history does not remove it.
Rating a reply. On iPhone and Android, the same press-and-hold menu lets you Like or Dislike a reply. A rating is recorded as a product-analytics event: where the reply appeared, which tool produced it, whether it was in Translate's Live Conversation, its language, and whether you liked it, disliked it or took your rating back. It never contains the reply's text or which reply it was, it is not sent to OpenAI or to Google Analytics for Firebase, and it is not recorded while product analytics is off.
Level estimates in RadLinguist are working estimates that keep adjusting as you learn. They are not certifications, and we never present them as one.
The app does not use your device's built-in speech recognition and does not ask for that permission. Everything you speak into RadLinguist — voice input, live voice conversation and spoken assessments — is sent to our servers and to OpenAI to be transcribed and answered.
5. Chat history and retention choices
Your conversations are kept until you decide otherwise. In Settings › Privacy & data you can keep everything, keep only the last 100 turns of each conversation, or keep only the last 30 days — and the service itself enforces your choice from then on, on every device. You can also clear your chat history, or delete any single conversation, at any time; deleting removes the stored audio and images with it.
6. Speech analysis
Speech analysis is never required: everything in RadLinguist except Translate's Live Conversation works in text-only mode. When you set up the app, one screen asks how the microphone should work and, beside it, about speech analysis, with a plain-language note of what it does; nothing is recorded until you continue past that screen. How you are asked depends on where you are, which we judge from your device's region setting or your connection:
- In the EEA, the UK and Switzerland, and wherever we cannot determine your region, you answer an explicit question — yes or no, with neither answer pre-selected — and nothing is captured or analysed unless you say yes. If you set up the app before September 30, 2026 by continuing past a switch that was already on, that no longer counts as consent there: the app asks you the question once.
- Everywhere else, the switch is shown on; continuing with it on is your consent, and you can turn it off before you continue.
Either way, your consent is dated and tied to the version of this policy you were shown. Turn it off there, or later in Settings › Speech, and it stays off — we never switch it back on for you, and the app does not ask again once you have said no. The other four switches — keeping short audio clips, keeping transcripts, asking you clarification questions, and contributing de-identified samples to quality evaluation — are each off until you turn them on, one by one, and you can also switch analysis off for a single language. None of them is bundled with creating an account, subscribing, granting microphone permission, or analytics consent.
- Without retention consent, audio is deleted right after processing (at most 24 hours) and transcripts within 72 hours.
- With retention consent, audio is kept about 7 days and transcripts about 30 days, then deleted.
- Stored transcripts are encrypted. No one at RadLinguist has standing access to them — support staff cannot read your transcripts.
- Turning speech analysis off deletes the audio, transcripts, and derived observations. You can also delete one language's speech data on its own.
- Speech analysis requires being 16 or older (or your country's digital age of consent, if higher). Where we cannot establish that, it stays unavailable.
7. Who else receives data
We share data only with the processors needed to run the service:
- OpenAI — processes your messages, images, and voice audio, with your name, languages, level and learning notes, for the purposes listed in section 4.
- Amazon Web Services — hosts our servers, database, and media storage, in the United States.
- Apple and Google push services — deliver notifications, if you enable them. Notification content comes from an approved catalog. A word moment may show one word from your course on your lock screen, with its picture; you can turn that off in Settings. Notifications never contain what you said or wrote.
- App Store, Google Play, and Stripe — handle payment if you buy a subscription. We never see or store your card number; we keep only the provider's transaction evidence. On the web, where the free week is one per card, we also keep a one-way code derived from Stripe's identifier for the card (never the card number), so that the same card cannot start a second free week.
- Netlify — hosts radlinguist.com and received only what the (now closed) waitlist form sent.
- Apple, Google and Meta, for ad measurement — learn which campaign an install came from and whether it reached the three steps named in section 1: on iOS through Apple's attribution systems, without an identifier of you or your device; on Android through Google Analytics for Firebase, which sends Google the data listed in section 1, “Ad measurement”, including the device's advertising identifier. In the EEA, the UK and Switzerland only with your agreement. They receive no learning content, no name, no email address.
We do not sell personal data, and we do not share it with data brokers. What advertisers receive is exactly the install-attribution and ad-measurement signals described in section 1 — never your content, your name, or your email address. We disclose data beyond the list above only if the law requires it.
8. How long we keep data
- Conversations: per your retention choice (section 5), or until you delete them.
- Speech-analysis data: the windows in section 6; derived learning observations up to about 13 months.
- Assessment recordings: by default the audio is deleted once its transcript-based evaluation exists.
- Analytics events: about 13 months (operational events about 3 months; audit events — plan changes, security refusals, and the record that a deletion was carried out — about 2 years).
- Server logs: 7 days.
- Notification delivery records: about 6 months.
- Campaign attribution: 90 days.
- Reports you file about AI replies: until you delete your account (section 4).
- Free-week card code (web, section 7): kept after you delete your account, unlinked from you, so the card's one free week stays used.
9. Your controls
- See and fix what's remembered — Settings › What RadLinguist remembers lists it by category; you can correct, hide, or remove items, and removed items are not re-derived.
- Export — Settings › Privacy & data › Download my data gives you your profiles, conversations, progress, preferences, and consent history in a machine-readable file.
- Delete — Settings › Account › Delete my account permanently erases your account, content, and media. What survives, with the link to you removed: billing records, kept for tax and accounting purposes; on the web, the free-week card code (section 8); analytics events, which carry only a pseudonym, until they expire (about 13 months; operational events about 3 months; audit events about 2 years); server logs, for 7 days; and records of any staff access to your account's data. You can also delete a single language's data. Deleting your account cancels a web subscription at once, but not an App Store or Google Play one; cancel that in the store first. The account deletion page lists exactly what is deleted and what is kept.
- Choices — analytics (and, in the EEA, the UK and Switzerland, ad measurement), speech analysis (an explicit yes-or-no in the EEA, the UK, Switzerland and wherever your region cannot be determined; section 6), personalized reminders, and notification categories are each their own switch, changeable at any time. Sharing with OpenAI is not one of these optional switches: it is what the service runs on (section 4).
These controls are built into the app and are not gated by subscription or feature flags. While you have not agreed to sharing with OpenAI, the app shows only the data export, your analytics and ad-measurement choices, the policies, sign-out and account deletion; for anything else, email info@radext.com and we will do it for you. If you cannot reach them for any other reason, email info@radext.com and we will do it for you.
10. Security
All traffic is encrypted in transit. Passwords are hashed, sessions are short-lived and revocable, and particularly sensitive data — push tokens, sign-in provider tokens, speech transcripts, and notification content — is additionally encrypted at rest. Access to production systems is restricted and audited. No system is perfectly secure; if a breach affects you, we will inform you.
11. Children
RadLinguist is not directed to children under 13, and we do not knowingly collect personal data from children under 13. Speech analysis additionally requires being 16 or older. If you believe a child has provided us personal data, contact info@radext.com and we will delete it.
12. International use
Our servers are in the United States. If you use RadLinguist from elsewhere, your data is processed there. Where your local law grants you rights over your data — access, correction, deletion, portability, objection — the controls in section 9 are how we honor them, and you can always exercise them by email as well.
13. Changes
When this policy changes materially, we will update the date above and tell you in the app before the change applies to you. The current version always lives at this address.