小兰华文 LITTLE ORCHID · SG Get the app
法律 · Legal Effective 29 July 2026 · v1.0

隐私政策 · Privacy policy

We collect nothing.
Here is what that means.

Little Orchid (小兰华文) is an offline study companion for Singapore Primary Chinese. It has no account system, no advertising, no analytics, no crash reporting and no server of its own. This policy is short because there is very little to describe — and where something does leave your device, it says so plainly rather than hiding it in a definition.

The short version. We do not collect, receive, store, sell, share or transmit any personal data about you or your child. Everything the app records — learner names, progress, handwriting scores, mistakes — is written to a single database file on your own device and stays there. There is no “anonymised telemetry”, no “aggregate usage data”, and no exception you have to opt out of.

In everyday words. Your child's learning stays on this device. There is no Little Orchid account, tracking or cloud profile.

01 Who we are

Little Orchid is an independently developed educational app for Singapore Primary Chinese (华文), published for Android and the web, with iOS coming soon. In data-protection terms there is no controller-to-processor relationship to describe for learner data, because that data never reaches us: it is created and kept on your device, under your control.

Little Orchid is not affiliated with, endorsed by or connected to the Singapore Ministry of Education.

02 What we do not collect

This list is exhaustive as at the version above. Little Orchid does not collect, and has no technical means to collect:

  • Names, email addresses, phone numbers or postal addresses
  • Accounts, usernames or passwords — there is no sign-in of any kind
  • Your child's progress, answers, handwriting or study history
  • Voice recordings or audio of any kind
  • Photographs, camera access, contacts, calendar or location
  • Device identifiers, advertising identifiers or an IDFA
  • Usage analytics, event logs, session recordings or heatmaps
  • Crash reports or diagnostic reports sent to us
  • Cookies or similar identifiers in the app

There is no advertising in Little Orchid, no third-party advertising or analytics SDK embedded in it, and no data broker relationship. We do not profile users and we do not make automated decisions about anyone.

Why this is verifiable rather than merely promised. The released Android build does not request android.permission.INTERNET. Android will not permit an app to open a network connection without it, so on Android the app is incapable of transmitting anything, whatever its code intended. The application source also contains no HTTP client, socket, analytics SDK, crash reporter or advertising library at all. The forthcoming iOS release declares no tracking usage description, so it will not present an App Tracking Transparency prompt or access the advertising identifier.

03 What the app stores on your device

So that a learner can pick up where they left off, the app writes the following to a single SQLite database file — little_orchid.sqlite — inside its own private application documents folder:

WhatWhy it exists
Learner profiles — the display name a grown-up types, and the level chosen To greet the right child and keep siblings' progress separate
Study preferences — daily new-word and review limits, pinyin display, dictation scope, theme To keep the app set up the way you left it
Review scheduling state — the spaced-repetition stability and due date for each character To decide what to ask next and to colour the memory heat map
Handwriting records — per-character scores from the 田字格 To show handwriting progress and award the writing badges
Skill statistics — attempts and correct counts per skill To draw the 听说读写 mastery view
The mistake book (错题本) — each missed item, the skill it was missed in, and the option chosen instead To re-ask the word in the skill it was actually failed in
Streaks, study history and daily introduction counts To pace new words per level per day and to grow the orchid
A single entitlement flag — free or Little Orchid Plus To unlock what you have paid for

On the web build the same database is kept in your browser's own private storage for the site (OPFS or IndexedDB) rather than a file on disk.

On Android, this data is excluded from Google's Auto Backup and from device-to-device transfer: the app sets allowBackup="false" and its backup rules exclude databases, preferences and files. Your child's progress is therefore not copied to a Google account behind your back.

None of the above is transmitted anywhere. The weekly parent summary is generated on the device from this same data and placed on your clipboard when you press the button; it is not sent to us, because there is nowhere to send it to.

04 The only things that leave your device

A privacy claim is only worth reading if it also names what it does not cover. There are exactly four situations in which data crosses the boundary of your device, and each one requires a deliberate action by a grown-up. None of them sends anything to Little Orchid.

  1. Buying or restoring Little Orchid Plus. Google Play handles the transaction and sees it. See §07.
  2. Sharing a backup file you created. You choose the destination in your own operating-system share sheet. See §08.
  3. Using the optional read-aloud check. The microphone is handed to your device's own speech recogniser. See §06 — please read it; this is the one place where audio may be processed off your device by Apple or Google.
  4. Copying the weekly parent summary. It goes to your clipboard. Some operating systems synchronise the clipboard between your own devices (for example Apple's Universal Clipboard), so the text may travel between machines you own, under Apple's or Google's terms.

Outside these four, nothing.

05 Permissions, and why each exists

The app asks for as little as it can, and each permission maps to one visible feature. You can decline any of them and keep studying.

PermissionUsed forIf you decline
Microphone (Android RECORD_AUDIO; iOS microphone and speech recognition) Only the optional read-aloud check, and only while a child is tapping it Read-aloud still works; the child marks their own reading honestly
Notifications (Android POST_NOTIFICATIONS) One local daily study reminder that you set yourself No reminder; nothing else changes
Run after restart (Android RECEIVE_BOOT_COMPLETED) Re-arming that same local reminder after the phone reboots The reminder needs re-arming when you next open the app

There is deliberately no internet permission in the released Android build, no camera, no location, no contacts, no storage-wide access and no advertising identifier. On iOS the app declares only the microphone and speech-recognition usage strings and requests no other capability.

06 The optional read-aloud check

In the 说 · Read aloud mode a child can tap 听听我读 · Check my reading. The app then asks your device's own speech recogniser — Apple's Speech framework on iOS, or the recogniser installed on your Android device, usually Google's — to listen and return text. The app compares that text with the model sentence and stores only whether the reading was clear.

Please read this paragraph rather than trusting a summary. Little Orchid never records, saves or uploads your child's voice: it holds no audio file, writes nothing to disk and has no network client. However, the app does not require the recogniser to run strictly on-device, because insisting on an offline Mandarin pack makes the feature fail outright on devices that do not have one installed. Depending on your device, its language packs and your system settings, Apple or Google may therefore process that audio on their own servers, under their privacy policy rather than ours. We are not able to see or receive that audio either way.

If you would rather no audio ever left the device, do not use this feature — it is off until it is tapped, and the honest self-assessment (读得清楚 / 有点结巴 / 不会读) is always available and equally complete. You can also revoke microphone permission entirely; the app will simply say the speech check is unavailable and carry on.

All other audio in the app is the opposite of this: the Mandarin a child hears is 5,160 recordings packaged inside the app and played back offline. The app never uses device text-to-speech and never fetches audio over a network.

07 Purchases and subscriptions

Little Orchid Plus starts with a 7-day free trial for eligible new subscribers, then costs $2.99 SGD per month through Google Play. Google collects and processes your payment details under its own privacy policy; we never see them.

From the store, the app receives only the product identifier, the localised price to display, and whether the purchase succeeded, is pending or failed. The only thing it keeps is a single flag recording that the device is entitled to Little Orchid Plus. It does not store a receipt, a transaction identifier, a store account, an email address or a name — and that flag is deliberately excluded from backups you create, in both directions.

Restoring a purchase re-asks Google Play; it does not involve us. Manage or cancel the subscription in your Google Play settings. iOS is coming soon.

08 Backups you create yourself

The Parent tab can package one learner, or every learner on the device, into a versioned ZIP so you can move to a new phone. The archive contains learner profiles, study preferences, review scheduling, handwriting history, skill statistics, the mistake book, streaks and daily introduction counts. Purchase entitlement is excluded.

The file is built on your device and handed to your operating system's share sheet. You choose the destination — Google Drive, Files, OneDrive, email, or anything else installed — and whatever you choose then applies its own privacy terms. Nothing is uploaded until you pick somewhere for it to go, and we never receive a copy.

Because the ZIP contains learner names and progress in readable form, treat it as you would any document about your child, and keep it somewhere private.

09 Children's privacy

Little Orchid is made for primary-school children and is intended to be set up by a parent, guardian or teacher. It is designed so that compliance with children's privacy rules is structural rather than procedural: there is no account to create, no personal data collected, no advertising, no in-app messaging, no social features, no user-generated content shared with anyone, and no third-party SDK that could observe a child.

Because we collect no personal information from anyone, we do not knowingly or unknowingly collect personal information from children under 13 — or under any other age — and there is nothing for us to delete on request, because we hold nothing. The learner names you type are visible only on your own device and can be edited or deleted there at any time.

Purchases are gated behind a parent check inside the app and completed in your store account, not by the child.

10 This website

This site is static. It sets no cookies, uses no analytics or tag manager, embeds no social or advertising pixels, and loads no third-party fonts, scripts or iframes — every asset, including the 楷体 font, is served from this domain. There is no comment form, mailing list or sign-up.

As with any website, the server that delivers these pages writes ordinary technical request logs — IP address, timestamp, requested file, user agent — which exist so the site can be operated and abuse investigated. They are not used to build a profile, are not shared for advertising, and are kept no longer than needed for that purpose.

If you open the web build of the app, your learner data is stored by your browser in this site's own storage and is not transmitted to the server. Clearing site data for this domain erases it.

11 Your rights, and how to exercise them

Singapore's Personal Data Protection Act 2012 (PDPA) gives you rights of access to and correction of personal data an organisation holds about you, and the GDPR and similar laws give access, rectification, erasure, portability, restriction and objection rights.

We hold no personal data about you, so there is nothing for us to disclose, correct, export or erase — but you retain full practical control, directly and without asking us:

  • Access and portability — export any learner to a ZIP from the Parent tab at any time.
  • Correction — edit learner names and settings in the app.
  • Erasure — delete a learner in the app, clear the mistake book, or uninstall the app, which removes its database with it. On the web, clear site data for this domain.
  • Withdrawing consent — revoke the microphone or notification permission in your device settings; the app continues to work.

If you believe we hold data about you and want to make a request anyway, write to [email protected] and we will respond within 30 days. You may also complain to your data-protection authority; in Singapore that is the Personal Data Protection Commission.

12 Retention and deletion

We retain nothing, because we receive nothing. Data on your device is retained for as long as you keep it and is deleted when you delete the learner, clear the data, or uninstall the app. There is no server-side copy, no soft-delete window and no archive.

13 Security

Learner data is protected primarily by removing the ways it could be exposed: no network transmission, no cloud storage, no account to breach, and no credentials to steal. On the device the database sits in the app's private storage area, protected by the operating system's app sandbox and by your device passcode or biometric lock, and it is kept out of Android's automatic cloud backup.

Two consequences follow, and both are honest trade-offs of the offline design: a backup ZIP you export is a plain, readable archive, so store it privately; and if you lose the device without having exported a backup, the progress is gone, because there is no copy anywhere else.

14 Changes to this policy

If the app ever gains a feature that changes any of the above, this policy will be updated before that feature ships, with a new effective date and version at the top. Material changes — in particular anything that would begin collecting data — will also be described in the app's release notes. This page is the authoritative version.

15 Contact

Questions, corrections or a privacy request: [email protected]. For anything else, [email protected].