Privacy policy
What this site stores, and who sees it
No account, no analytics, and a few values kept in your browser. This page says what they are and where the rest of the traffic goes.
What is stored
These values are kept in local storage on your device:
hsk2026_opened_v1, the list of deck ids you have opened, written so the level page can show your progress and Continue can resume where you stopped.hsk2026_seen_v1, which cards of each deck you have had on screen, so every deck in the grid can draw its own completion line and percentage.hsk2026_tests_v1, your last result for each deck test and level test: the mark, the pass or fail, the date and whether the clock ran. It is written when you finish a sitting, so the test page can tell you what you already passed.hsk2026_timing_v1, the clock setting you chose, so the next sitting keeps it.hsk2026_practice_v1, a count and a running total for guided drawing and speaking, kept per deck. It holds no audio and no transcript, only the numbers needed to show an average.lab_best_tone,lab_best_match,lab_best_listen,lab_best_oppositeandlab_best_forge, your best score in each game, so the hub can show it.
No server belonging to this site receives any of it, because there is no server: every page is a static file.
Speaking practice
The microphone is used only on a practice page, and only after you press Speak. Without that press, no microphone permission is requested and nothing is recorded.
- When you press Speak, the page asks the browser for the microphone. The browser's own speech recognition service turns the audio into text. In Chrome and Edge that service belongs to the browser's maker and usually runs over the network; the exact route is set by your browser and its settings, not by this site.
- This site never receives or stores the audio. It gets back one or more text alternatives in the page, compares them with the target word or sentence, and stores only a percentage locally.
- The permission can be withdrawn at any time in your browser's site settings. The practice page will then show the words and let you repeat them aloud without marking.
The first reading comes from your browser's speech synthesis voice, inside the browser. The second reading is a recording that ships with the site: a male Mandarin voice, served from this domain like any other audio file, and played without any request to another server.
Cookies and analytics
No cookies are set. No analytics, tag manager, pixel, heat map, session recorder or advertising code runs on these pages. The site is a set of HTML, CSS and JSON files.
Who else is involved
Vercel sits between you and these files.
- Vercel hosts the site and keeps standard request logs, including IP address, user agent, path and time, for delivery, security and abuse prevention. Vercel's privacy policy governs those logs.
- If you use speaking practice, your browser's speech recognition service processes the audio as described above. That service is chosen by the browser, not by this site.
The typefaces, the drawing library and the stroke data are served from this domain with the pages. No font or script on these pages is fetched from another origin, and there are no third-party images or embeds.
Children
The site is written for adult learners. This site collects no personal information from anyone, so it collects none from a child. A child using the microphone should have a parent or guardian set the browser permission.
Your choices
You hold the only copy of the progress list, the test results, the practice scores and the game bests. Clearing site data for this domain deletes them, and there is nothing to restore afterwards. Anything else on this page can be raised through the contact route below.
Changes and contact
This policy can change. The date below records the last revision. The person who runs the site can be reached through their GitHub profile. There is no mailing list and no account to close.
Last updated 2 November 2026.