Privacy Policy
Effective . Last updated .
The short version
- Vako works before you make an account. Until you sign in, all we hold is a random identifier your device generated.
- We collect what the app needs to teach you: the language you picked, the clips you watched, the words you saved.
- Vako runs no ads of its own, and there are no advertising identifiers and no third-party analytics or tracking SDKs in the app. YouTube’s player may show its own ads. We do not sell data. Our own usage analytics can be switched off in Settings.
- Vako uses YouTube API Services: every clip plays in YouTube’s own embedded player, which may store and access cookies on your device. YouTube sees the playback; we do not send them who you are.
- You can delete your account from inside the app, in Settings. It takes one tap and a confirmation.
- If you left an address on this site to be told when the app is out, that address is used for that one email and nothing else.
The rest of this page is the detail behind those lines.
Who we are
Vako is a language-learning app for iPhone and Android, operated by the maker of Vako. For anything on this page (a question, a correction, a request to see or delete what we hold), write to [email protected] and you will reach a person, not a queue.
For readers in the UK, EU or any jurisdiction with equivalent law: we are the data controller for everything described here.
What we collect
Your account
The app creates an anonymous account the first time you open it, so you can use it without signing up. That account holds a random identifier generated on your device and nothing else about you: no name, no address, no advertising id.
If you later choose to sign in, which is done with Apple or with Google, we additionally hold:
- your email address;
- a display name and avatar, where Google or Apple provides one, or where you set one yourself;
- for an account made earlier with an email address and a password, a one-way cryptographic hash of that password, never the password itself. New accounts are no longer made that way, but one made before we stopped can still sign in, and can still be deleted.
Signing in upgrades the anonymous account you already had rather than replacing it, which is how your saved words survive the transition. If you sign in with Apple and use Hide My Email, we only ever see the relay address Apple gives us.
What you do in the app
- Your learning setup: the language you are learning, your level, the topics you chose and your daily goal. The reminder time is not part of it: reminders are scheduled by your own phone, and the time you picked never leaves it.
- Your watch history: which clips were shown to you, which you played, and how much of each you watched.
- Your words: the words you saved, and how you did on them in review, which is what schedules the next review.
- Your saved clips, and any clip you hid or reported, with the reason you chose when you reported it.
Product analytics
The app records a fixed, named list of events so we can tell which parts of the product work: opening the app, finishing onboarding, starting and finishing a clip, opening a translation, saving a word, reviewing a word, searching for a word, seeing the paywall, starting or restoring a subscription. Each event carries the account identifier, a session identifier, when it happened, and a small set of properties describing it: a clip id, a language code, a word, what you typed into word search, or, when part of the app fails, a short description of the error.
These go to our own server and nowhere else. There is no analytics SDK, no crash-reporting SDK and no advertising SDK in the app; the complete list of events is defined in one file in our codebase, and nothing outside that list is recorded.
You can switch this off in Settings → Share usage data, and the app then stops sending these events. What the app needs in order to work (your progress, your saved words, which clips you have already been shown) is still saved, because that is the product rather than a measurement of it.
Subscriptions
If you subscribe, the purchase happens inside the App Store or Google Play. We never see your card, and we cannot: the stores do not give it to us. We receive, through RevenueCat, whether your subscription is active, which plan it is, when it renews or lapsed, and whether a free trial has been used. That is all we store about payment.
Technical data
Our server processes your IP address to apply rate limits and to keep abuse off the API. It is not stored in our database (no table has a column for an address), but it does appear in the server’s request logs, which are rotated and deleted automatically and are read only to investigate abuse or a fault. What we do hold alongside your learning setup is the interface language and, once you subscribe, which of the two stores sold the subscription. Access and refresh tokens are stored on your device in the operating system’s secure storage: the iOS Keychain or the Android Keystore.
Our server keeps logs, so that when something breaks we can see what happened. A log line records which kind of request was made, when, how it was answered and, where there is one, your account identifier. It never records your IP address, what you searched for, anything you typed, what an analytics event contained, or any token. The one exception is the error log of the web server in front of ours, whose format cannot be changed: a request that fails there before it reaches us is written with its IP address and the full request, search terms included. Every log is deleted after 14 days.
Updates to the app
Bug fixes reach the app between store releases as an over-the-air JavaScript update. When it starts, the app asks Expo’s update service whether a newer bundle exists for the build you installed. That request tells Expo your platform, the app’s runtime version, the bundle it is currently running and, as with any request over the internet, your IP address. It carries no account identifier and nothing about you or your learning. Which bundle you ended up running is recorded against your own account with the app-open event above, which is how we tell whether a release reached anybody.
The waitlist on this website
Until Vako is in both app stores, the download buttons on our website ask instead to be told when it arrives. If you use them, we store two things: the email address you typed, and which store you are waiting for: the App Store, Google Play, or both if you asked twice. Nothing else. There is no account, no cookie and no tracking pixel involved, the address is never written to our server logs, and it is not passed to anyone.
We use it for exactly one message: an email on the day Vako reaches that store. There is no newsletter to unsubscribe from afterwards. If you change your mind before then, write to [email protected] and the entry is deleted. No account is needed, because there is no account.
Asking for a language on this website
The same website lets you say which language you would like Vako to teach next. If you use it, we store the same two kinds of thing: the email address you typed, and which languages you picked, chosen from a fixed list rather than typed. Nothing else: no account, no cookie, no tracking pixel, and the address is never written to our server logs or passed to anyone.
We use it for two things and no others. Counted up, it tells us which language to build next. That is the whole reason it asks for an address rather than taking an anonymous vote, because without one the same person could ask a hundred times. And when one of those languages is ready, everybody who asked for it gets one email saying so. There is no newsletter afterwards. If you change your mind before then, write to [email protected] and the entry is deleted.
What we do not collect
- No advertising identifier (IDFA / GAID), and no advertising or attribution SDK.
- No third-party analytics. No Google Analytics, no Facebook SDK, no Firebase Analytics, no Segment, no Mixpanel.
- No location, contacts, photos, microphone or camera. The app never asks for these permissions, because it never needs them.
- No push tokens. The daily reminder and the trial-ending reminder are scheduled locally on your device; no push service is involved.
- No sale of personal data, and no sharing of it for cross-context behavioural advertising, under any definition, at any price.
Why we are allowed to hold it
Where the UK GDPR or EU GDPR applies, our legal bases are:
- Performance of a contract: your account, your learning data and your subscription status. Without these there is no product.
- Legitimate interests: product analytics, rate limiting and abuse prevention, in a form that stays proportionate: a fixed event list, no profiling that produces legal effects, no data broker anywhere in it, and a switch in Settings that turns the analytics off.
- Consent: notifications, which are off until you turn them on and revocable in the operating system at any time; and the waitlist and language requests, which exist only because you typed an address into them and are deleted the moment you ask.
Video, and what YouTube sees
Vako uses YouTube API Services. It does not host, download, copy or re-upload video: every clip plays through YouTube’s official embedded player. When a clip plays, YouTube receives the request and whatever their player collects. That processing is theirs, governed by Google’s Privacy Policy, and by using Vako you also accept the YouTube Terms of Service. We do not pass YouTube your account identifier, your email or anything else identifying you.
YouTube’s embedded player may store and access cookies or similar technologies on your device, as it does wherever a YouTube video is embedded. They belong to YouTube and are used for YouTube’s purposes; Vako does not set them, read them or receive what is in them.
YouTube’s player may also show its own ads before or during a clip. YouTube chooses and serves those ads, and Vako has no say in them. Vako runs no ads of its own.
Pronunciation
When you tap a speaker button, the word or the line is spoken by your phone’s own text-to-speech voice. We hand the text to the operating system and nothing else happens on our side. Which voice reads it, and whether it is synthesised on the device or by the platform’s own servers, is a setting of your phone rather than a choice Vako makes; on Android the default engine is Google’s.
Word meanings, Wiktionary and Wikipedia
Every time you open a word’s card, the app looks that word up in three places at once, whether or not you go on to read what comes back:
- our own server, for the meaning, examples and level we hold for the word;
- Wiktionary, asked directly from your phone: its English edition, and then the edition in the language you are learning;
- Wikipedia, asked directly from your phone: the edition in the language you are learning and the English edition, for an article explaining what the word names.
Wiktionary and Wikipedia are run by the Wikimedia Foundation. What reaches them is the word in its dictionary form, which language edition it is looked up in (and so, in effect, which language you are learning), the title of any article the word leads to, and what any request over the internet carries, such as your IP address. Your Vako account identifier, your email address and anything else about you are not sent. Tapping From Wiktionary or Read more on Wikipedia opens their site in your browser, which is then an ordinary visit to it. Their handling is covered by the Wikimedia Privacy Policy.
Who else touches your data
A short list, and it is the whole list. Each of these is a service we use to run Vako, not a party we sell to.
| Who | What for | What they get |
|---|---|---|
| Amazon Web Services | Hosting the API | Everything described above, in transit and in memory while a request is served |
| Neon | The database | Everything described above, at rest |
| Cloudflare | Hosting this website and the review dashboard | Standard web request data, including your IP address. Neither site sets a cookie of its own. This website sends our API one thing, a waitlist signup when you make one; your light or dark choice and the language its demos are shown in are remembered in your browser’s local storage and never leave it. The review dashboard, used only by the people who review clips, calls our API and keeps its sign-in session in that browser’s local storage. |
| Google Fonts | The two typefaces this website is set in | Your IP address, when your browser fetches the font files. The website only: the app’s fonts ship inside it and are never fetched. |
| Expo | Delivering over-the-air updates to the app | Your platform, the app’s runtime version, the bundle it is running, and your IP address. No account identifier. |
| RevenueCat | Managing subscriptions across both stores | Your account identifier and your purchase status |
| Apple, Google | Sign-in, payment, app distribution | What their own sign-in and billing require. Their policies apply. |
| YouTube (Google) | Video playback, through YouTube API Services | Playback requests from your device, and the cookies or similar technologies their embedded player may store and access on it, as above |
| Wikimedia Foundation | Word meanings and explanations from Wiktionary and Wikipedia, every time you open a word’s card | The word looked up, the language edition it is looked up in, and your IP address, sent from your phone. No account identifier. |
| Our transcription and enrichment providers | Turning a clip’s audio into a transcript, and writing the translations and word data under it, before publication | Public video URLs and the transcript of the clip. No learner data is ever sent. |
We will also disclose data where the law genuinely requires it, and we will tell you when we are permitted to. If Vako is ever sold or merged, this policy travels with the data and you will be told before anything changes.
Where your data is held
Our servers are in the United States. If you are reading this from the UK, the EU or elsewhere, using Vako involves transferring your data there. Where that transfer needs a safeguard, we rely on the Standard Contractual Clauses our providers offer.
How long we keep it
We keep your account and learning data for as long as your account exists. When you delete it, this is exactly what happens:
- Immediately, and irreversibly: your email address, your display name, your avatar, your password hash, your linked Google and Apple identities and your device identifier are erased, and every session is revoked. So are your learning setup (language, level, topics and daily goal), your saved clips, our record of which clips you were shown and what you did with each, and our record of your subscription. Nothing can sign back into that account, and the address is free for you to use again.
- Straight afterwards: if you signed in with Apple, we ask Apple to revoke Vako’s access to your Apple ID, so Vako no longer appears among the apps using it; and we ask RevenueCat to delete its record of you and your purchases. Each is one request to another company, and if either cannot be reached at that moment your account is deleted all the same.
- Retained, de-identified: your watch history, your saved words and your analytics events remain attached only to a random account identifier that no longer connects to any name, address, device or sign-in, and the events lose anything you typed into them first: search terms, error messages and questionnaire answers are removed. A clip you reported stays reported, with the reason you gave, but no longer records who reported it. We keep these because they are what the aggregate numbers about the product, and the review of reported clips, are built from.
Deleting your account does not cancel a subscription. It is billed by Apple or Google, and only they can stop it: cancel it in the App Store or Google Play first.
If you would rather that residue were removed too, write to [email protected] and we will erase it. We answer within 30 days.
A waitlist address, and an address left against a language request, are each kept until we have sent the one email it was given for, and deleted automatically within 30 days of that (in practice, a week after it). An address still waiting for its store, or for the language it asked for, is kept until that email goes. Ask sooner and it goes sooner.
Your rights
Wherever you live, you can ask us for a copy of what we hold about you, ask us to correct it, ask us to delete it, ask for it in a portable form, or object to our processing it. In the UK and EU these are rights under the GDPR; in California they are rights under the CCPA, including the right not to be discriminated against for exercising them. Since we sell nothing, there is nothing to opt out of.
The fastest route to deletion is in the app: Settings → Delete account. If you no longer have the app installed, or cannot open it, write to [email protected] from any address and tell us the account ID the app shows in Settings, or the address you signed in with; where the account has an address on it, we write to that address to confirm before deleting. This page has the detail. For anything else, write to [email protected]. If we get it wrong, you may complain to your data protection authority; in the UK, the Information Commissioner’s Office.
Children
Vako is not directed at children. You need to be at least 13 to use it, or older where your country sets a higher age for digital consent (16 in parts of the EU). We do not knowingly collect data from anyone below that age. If you believe a child has given us data, write to [email protected] and we will delete it.
Clips come from public YouTube and are reviewed by a person before publication, but they are made by third parties and we cannot guarantee every clip suits every age.
Security
Everything travels over TLS; the API refuses plain HTTP. Passwords are hashed with scrypt. Refresh tokens are stored hashed and rotated on every use, and reusing a spent one revokes the whole chain. Tokens on your device live in the operating system’s secure storage. No system is perfect, and we would rather say that than imply otherwise.
Changes
If this policy changes we will update the date at the top, and for anything that materially affects you we will tell you in the app before it takes effect rather than after.