Privacy Policy for Octo Chinese
Last updated: 8 October 2026
Octo Chinese ("Octo", "the app", "we", "us") is a Mandarin vocabulary app. It ships with its vocabulary deck inside and schedules your reviews on your device. This policy explains what data the app processes, why, and who it is shared with. It is written to satisfy the EU General Data Protection Regulation (GDPR) and Apple's App Store requirements.
Controller (responsible for your data under GDPR Art. 4(7)):
Peter Dominik Nils Lukas Schaefer
Röbbek 4
22607 Hamburg
Germany
Email: peterschaefer444@gmail.com
The short version
Octo has no accounts and no subscriptions. Your review history, your progress on the road, your notes and stories, and your settings stay on your device. Two optional features send data off the device, each only when you ask for it: asking for a word note sends the text of that card to our gateway and then to OpenAI, and asking for a story sends a list of the words you have learned the same way. We use no analytics or advertising SDKs.
1. Data stored only on your device
Everything Octo keeps about your study is stored in a local database on your device. Unless you use the optional features in sections 3 and 4, it is not transmitted to us or anyone else:
- The vocabulary deck, which ships inside the app (words, readings, meanings, example sentences, audio)
- Your review history and spaced-repetition (FSRS) scheduling state
- Which words you have met and learned, and where you are on the road
- Word notes and stories after they arrive, and your scores on a story's questions
- Tone drill results
- App settings (day-rollover hour, reminder preferences, interface language, the language your notes are written in)
If you delete the app, this data is deleted with it. The app offers no cloud backup and no account; there is no copy of your data anywhere else.
2. The install identifier
On first run the app generates a random UUID and stores it on your device. It is not linked to your name, email or Apple account and identifies only this installation. Reinstalling generates a new one. It is shown under Settings › About so you can quote it in a data request.
- Purpose: applying usage limits on word notes and stories, and preventing abuse of the free allowance.
- Legal basis: our legitimate interest in preventing abuse (GDPR Art. 6(1)(f)).
3. Word notes (optional, at your request)
Octo can write a short note about a word: why it means what it means, what it is built from, a way to remember it, an example sentence, and words it sounds like. The note is written by an AI model and labelled as such. Nothing is sent until you ask. Once you have asked for a note, Octo writes the notes for your next lesson's words ahead of you, so that they are there when you open them. If you never ask, nothing is sent.
- What is sent: the text of the card concerned as the deck holds it (headword, reading, meaning, example sentence and similar words), the language being taught (Mandarin), the language you read notes in, and the install identifier.
- Where it goes: to our gateway, a Cloudflare Worker we operate, which forwards it to OpenAI, which writes the note and returns it.
- What is stored on our server: the note that was written, indexed by a cryptographic digest (SHA-256) of the request, so that an identical request is answered from the store rather than written twice. A stored note can contain the card's example sentence, because the model is asked to reuse it. Request counters are kept for the usage limits.
- What OpenAI does with it: OpenAI does not use API inputs or outputs to train its models. It retains them for up to about 30 days for abuse monitoring and then deletes them.
- Legal basis: performance of the feature you requested (Art. 6(1)(b)).
4. Stories (optional, at your request)
Octo can write a short graded story built from the words you have learned, with a few comprehension questions. It is written by an AI model and labelled as such. Nothing is sent until you ask for a story.
- What is sent: a list of up to 400 of the words you have most recently learned (the headwords only, not your review history), the language being taught, the language you read in, how far along the road you are, the story length you chose, and the install identifier. No audio and no scheduling data is sent.
- Where it goes: our gateway, then OpenAI, as in section 3.
- What is stored on our server: the story that was written, indexed by a digest of the request, and request counters for the monthly allowance. The story contains words from your list, by design.
- On your device: finished stories and your quiz scores are kept with your other study data. They never change your review scheduling.
- Legal basis: performance of the feature you requested (Art. 6(1)(b)).
5. Recipients and international transfers
| Recipient | Role | Data | Location |
|---|---|---|---|
| Cloudflare | Hosts our gateway and its stored notes and stories | Card text and word lists in transit; stored notes and stories; request digests; counters; the install identifier | Global edge |
| OpenAI | Writes word notes and stories | The card text or word list of the request | United States |
| Apple | App distribution (App Store, TestFlight) | Whatever Apple collects under its own terms when you install or update the app | United States / global |
Transfers to the United States are covered by the EU–U.S. Data Privacy Framework and/or the European Commission's Standard Contractual Clauses.
We do not operate persistent request logging on our gateway. Our providers keep their own operational logs under their own terms.
6. Retention
- On-device data: until you delete it in the app, or uninstall.
- Notes and stories on our server: kept while the gateway runs, because writing them again costs money. They are not linked to your name. Write to us with your install identifier if you want them removed.
- Daily request counters: removed by a daily sweep once they are two calendar days old, so within about four days. Monthly counters: after about two months.
- At OpenAI: the text sent for a note or story is retained by OpenAI for up to about 30 days for abuse monitoring, then deleted. It is not used to train models.
7. Notifications
If you enable reminders, Octo schedules local notifications on your device. No push token is sent to us or anyone else; remote push is disabled in the app.
8. What we do NOT do
- No accounts, no passwords, no sign-in with Apple or Google.
- No purchases or subscriptions.
- No third-party analytics, tracking, or advertising SDKs.
- No selling or sharing of personal data for advertising.
- No collection of your contacts, location, photos, or browsing history.
- No profiling and no automated decision-making with legal effect.
9. Your rights
If you are in the EU/EEA or UK you have the right to access, rectify, erase, restrict and port your personal data, and to object to processing.
Almost all of your data lives only on your device, so access and erasure are in your hands: use the app, or delete it. For what we hold on the server (stored notes and stories, counters), write to peterschaefer444@gmail.com and quote your install id from Settings › About.
You may also lodge a complaint with a supervisory authority. In Germany this is the data protection authority of your federal state, or the authority competent for the controller. See https://www.bfdi.bund.de/DE/Service/Anschriften/Laender/Laender-node.html
10. Children
Octo is not directed to children under 16. We do not knowingly collect personal data from children.
11. Changes to this policy
We may update this policy as the app evolves. Material changes are reflected by an updated "Last updated" date and, where appropriate, an in-app notice.
12. Contact
Questions about this policy or your data: peterschaefer444@gmail.com.