Chính sách quyền riêng tư
Privacy policy — Memo Chinese
Có hiệu lực từ 12/09/2026 · Cập nhật lần cuối 25/09/2026 — Effective 12 September 2026 · Last
updated 25 September 2026
Tóm tắt / At a glance
Memo Chinese là ứng dụng luyện viết chữ Hán dành cho người Việt học tiếng Trung, do
Hồ Ngọc Lam — một cá nhân — phát triển và vận hành. Tài liệu này mô tả đúng
những gì bản đang phát hành thực sự làm. Nếu ứng dụng thay đổi cách xử lý dữ liệu, tài liệu
này thay đổi trong cùng bản phát hành đó.
-
Không quảng cáo, không theo dõi. Ứng dụng không cài bất kỳ bộ công cụ
quảng cáo hay đo lường quảng cáo nào, không theo dõi bạn sang ứng dụng hoặc trang web
khác, và không bao giờ hỏi xin quyền theo dõi (App Tracking Transparency). Chúng tôi khai
báo với Apple rằng ứng dụng không có hoạt động theo dõi nào.
-
Không bán, không chia sẻ để tiếp thị. Chúng tôi không bán dữ liệu cá
nhân, không trao đổi dữ liệu với bên môi giới dữ liệu, và không chia sẻ dữ liệu của bạn
cho mục đích quảng cáo hay tiếp thị của bất kỳ ai.
-
Mọi thứ chúng tôi giữ đều để ứng dụng chạy được. Tài khoản để tiến độ đi
theo bạn qua các thiết bị; dữ liệu học để ứng dụng biết nên dạy bạn từ nào tiếp theo, và
khi nào cần ôn lại.
-
Chữ viết tay và giọng nói của bạn không rời khỏi máy. Nhận dạng nét chữ
và nhận dạng giọng nói đều chạy ngay trên điện thoại; máy chủ của chúng tôi không có bộ
nhận dạng nào cả.
-
Không câu chữ nào bạn viết được gửi tới mô hình AI. Lời nhắc gửi cho nhà
cung cấp AI chỉ được ghép từ dữ liệu từ điển của chính máy chủ. Xem
Luyện tập cùng AI.
Trong phần khai báo dữ liệu trên App Store, chúng tôi khai sáu loại dữ liệu:
Tên, Địa chỉ email, Mã người dùng, Ảnh hoặc video, Tương tác với sản phẩm
và Giao dịch mua. Cả sáu đều được khai là gắn với tài khoản của bạn, không
dùng để theo dõi, và chỉ dùng cho chức năng của ứng dụng — đúng như tài liệu này mô tả.
Memo Chinese is a Chinese handwriting-practice app for Vietnamese learners, built and run by
Hồ Ngọc Lam, an individual developer. This document describes what the
shipping build actually does. If the app changes how it handles data, this document changes
in the same release.
-
No advertising, no tracking. The app contains no advertising or ad
measurement SDK, does not track you across other apps or websites, and never asks for
tracking permission (App Tracking Transparency). We declare to Apple that the app performs
no tracking.
-
No selling, no sharing for marketing. We do not sell personal data, do
not trade it with data brokers, and do not share your data for anyone's advertising or
marketing.
-
Everything we keep is there to make the app work. An account so your
progress follows you across devices; learning data so the app knows which word to teach
you next and when to bring one back.
-
Your handwriting and your voice never leave the device. Both stroke
recognition and speech recognition run on the phone itself; our servers have no recognizer
of either kind.
-
Nothing you write is sent to an AI model. The prompt sent to our AI
provider is assembled only from the server's own dictionary data. See
Practising with AI.
In the App Store data disclosure we declare six data types:
Name, Email Address, User ID, Photos or Videos, Product Interaction and
Purchases. All six are declared as linked to your account, not used for
tracking, and used for App Functionality — exactly as described below.
Ai chịu trách nhiệm / Who is responsible
Bên kiểm soát dữ liệu của Memo Chinese là Hồ Ngọc Lam, một nhà phát triển
cá nhân tại Việt Nam. Không có công ty, không có đội ngũ, không có phòng ban nào khác đọc dữ
liệu của bạn.
Mọi câu hỏi về quyền riêng tư, mọi yêu cầu về dữ liệu, và mọi liên hệ của phụ huynh hay
người giám hộ đều gửi tới
memochinese.support@gmail.com. Đây là địa
chỉ liên hệ duy nhất của ứng dụng.
The data controller for Memo Chinese is Hồ Ngọc Lam, an individual
developer in Vietnam. There is no company, no team and no other department that reads your
data.
Every privacy question, data request, and message from a parent or guardian goes to
memochinese.support@gmail.com. It is the
app's only contact address.
Tài khoản và danh tính / Account and identity
Memo Chinese bắt buộc đăng nhập: tiến độ học được lưu trên máy chủ để nó theo bạn khi bạn
đổi máy. Bạn có ba cách đăng nhập — Google, Apple (trên iOS), hoặc email kèm mật khẩu — và
cả ba đều do Firebase Authentication của Google quản lý.
-
Lần mở ứng dụng đầu tiên dùng một danh tính tạm thời. Phần hướng dẫn ban
đầu (chọn trình độ, lướt qua các từ bạn đã biết, viết thử hai từ đầu tiên) chạy trước khi
bạn đăng nhập, dưới một tài khoản ẩn danh do Firebase tạo ra. Tài khoản này không có tên,
không có email; nó chỉ có một mã người dùng. Những gì bạn làm trong phần hướng dẫn được
lưu trên máy chủ như dữ liệu học tập bình thường, gắn với
mã đó. Khi bạn kết thúc hoặc đóng phần hướng dẫn, danh tính tạm thời bị đăng xuất; xem
Lưu trữ và xoá để biết dữ liệu đó đi đâu.
-
Firebase giữ thông tin đăng nhập. Tuỳ cách bạn chọn, phần này gồm địa chỉ
email, mật khẩu đã băm (chỉ với tài khoản email), tên hiển thị nếu nhà cung cấp trả về, và
một mã người dùng do Firebase sinh ra.
-
Cơ sở dữ liệu của chúng tôi không lưu email và không lưu tên của bạn. Bản
ghi tài khoản trên máy chủ chỉ có: một số thứ tự nội bộ, mã người dùng Firebase, khoá và
mã phiên bản của tệp ảnh đại diện, thời điểm tạo tài khoản, thời điểm hoạt động gần nhất,
một dấu cho biết đó có phải danh tính tạm thời của lần mở đầu tiên hay không, và dấu đánh
khi tài khoản đang được xoá. Đó là toàn bộ. Tên và email hiển thị trong màn hình Cài đặt
được đọc trực tiếp từ Firebase trên máy bạn, không đi qua chúng tôi.
-
Đăng nhập bằng Apple và “Ẩn email của tôi”. Nếu bạn chọn ẩn địa chỉ,
Apple chỉ đưa cho chúng tôi địa chỉ chuyển tiếp mà Apple tạo ra — chúng tôi không bao giờ
thấy email thật của bạn. Apple chỉ trả tên của bạn đúng một lần, ở lần cấp quyền
đầu tiên; nếu có, tên đó được ghi vào hồ sơ Firebase và không đi đâu khác.
-
Tài khoản email phải xác minh địa chỉ trước khi vào được ứng dụng. Email
xác minh và email đặt lại mật khẩu do Firebase gửi, không phải chúng tôi.
Memo Chinese requires signing in: your progress is stored on the server so that it follows
you to a new device. There are three ways in — Google, Apple (on iOS), or email and password
— and all three are handled by Google's Firebase Authentication.
-
The very first launch uses a temporary identity. The introduction
(choosing a level, swiping through words you already know, writing your first two words)
runs before you sign in, under an anonymous account Firebase creates. It has no name and
no email — only a user identifier. What you do in the introduction is stored on the server
as ordinary learning data under that identifier. When you
finish or close the introduction, the temporary identity is signed out; see
Retention and deletion for where that data goes.
-
Firebase holds the credential. Depending on how you sign in, that means
your email address, a hashed password (email accounts only), a display name if the
provider returns one, and a user identifier Firebase generates.
-
Our own database stores neither your email nor your name. The account row
on our server holds only an internal serial number, the Firebase user identifier, the key
and version tag of your avatar file, when the account was created, when it was last seen,
a flag saying whether it is a first-launch temporary identity, and a marker set while it
is being deleted. That is the whole record. The name and email shown in Settings are read
straight from Firebase on your device and never pass through us.
-
Sign in with Apple and Hide My Email. If you choose to hide your address,
Apple gives us only the relay address it generates — we never see your real one. Apple
returns your name only once, at the first authorization; when it does, that name
is written to the Firebase profile and goes nowhere else.
-
Email accounts must verify the address before reaching the app. The
verification and password-reset messages are sent by Firebase, not by us.
Dữ liệu học tập / Learning data
Đây là phần lớn nhất trong những gì chúng tôi lưu, và toàn bộ nó tồn tại để dạy bạn: ứng
dụng phải biết bạn đã viết từ nào, viết lúc nào, và khi nào nên đưa từ đó quay lại. Mỗi bản
ghi đều gắn với tài khoản của bạn và chỉ tài khoản của bạn đọc được.
-
Lượt viết. Mỗi ký tự bạn luyện: ký tự đó, từ chứa nó, và thời điểm. Đây
là thứ vẽ nên chuỗi ngày học và bảng ghi chú ở màn hình chính.
-
Từ đã thuộc và từ cần học. Danh sách từ bạn đã hoàn thành bài viết, và
danh sách từ bạn đã tra nhưng chưa học xong, cùng dấu cho biết từ nào bạn tự bấm lưu.
- Trình độ HSK bạn đã chọn.
-
Lịch ôn tập. Với mỗi từ đã thuộc, một lịch nhắc lại (thuật toán FSRS) và
nhật ký từng lần ôn: kết quả lần đó, thời điểm, và khoảng cách tới lần ôn kế tiếp.
-
Bài luyện AI của bạn. Đoạn hội thoại đã sinh ra cho bạn cùng trạng thái
hoàn thành, để bạn mở lại được bài cũ và tiếp tục bài đang dở.
-
Số lượt bài AI đã dùng trong ngày, để áp hạn mức của gói bạn đang dùng.
Những gì không có trong đó: ứng dụng không ghi lại nội dung bạn gõ
vào ô tìm kiếm, không lưu nét chữ bạn viết, không lưu bản ghi âm, không lưu văn bản mà bộ
nhận dạng giọng nói nghe được, và không lưu điểm phát âm. Máy chủ không có nơi nào để chứa
những thứ đó.
Bạn có thể xoá riêng phần này mà vẫn giữ tài khoản:
Cài đặt → Dữ liệu → Đặt lại tiến độ học. Thao tác đó xoá lượt viết, từ đã thuộc,
danh sách cần học, lịch và nhật ký ôn tập, các bài luyện AI của bạn, rồi đưa trình độ về HSK
1.
This is the largest thing we store, and all of it exists to teach you: the app has to know
which words you have written, when, and when to bring one back. Every record belongs to your
account and only your account can read it.
-
Writing attempts. For each character you practise: the character, the
word it belongs to, and the time. This is what draws the streak strip and the note board
on the home screen.
-
Mastered words and your backlog. The words whose writing session you
finished, and the words you looked up but have not finished learning, with a mark on the
ones you saved yourself.
- The HSK level you chose.
-
Your review schedule. For each mastered word, a spaced-repetition
schedule (the FSRS algorithm) and a log of each review: how you did, when, and how far
away the next one is.
-
Your AI drills. The conversation generated for you and how far through it
you got, so you can re-read a past one and resume an unfinished one.
-
How many AI drills you have used today, so your plan's daily allowance
can be applied.
What is not in there: the app does not record what you type into
the search box, does not store the strokes you write, does not store recordings, does not
store the text the speech recognizer heard, and does not store pronunciation scores. The
server has nowhere to put any of it.
You can erase just this part and keep your account:
Cài đặt → Dữ liệu → Đặt lại tiến độ học (Settings → Data → Reset learning
progress). That deletes your writing attempts, mastered words, backlog, review schedule and
history, and your AI drills, then puts your level back to HSK 1.
Dữ liệu lưu trên máy bạn / Data kept on your device
Một số thứ chỉ nằm trên điện thoại và không bao giờ được gửi đi. Chúng tôi kể ra đây vì
chúng vẫn là dữ liệu của bạn, và vì điều quan trọng là bạn biết khi nào chúng bị xoá.
-
Tra cứu gần đây — tối đa 20 từ bạn đã mở từ ô tìm kiếm, để mở lại mà
không cần mạng. Bạn xoá được từng mục hoặc xoá tất cả ngay trên màn hình tìm kiếm.
-
Tuỳ chọn — số lần lặp mỗi bài, bật/tắt tự động phát âm thanh, và lựa chọn
chia sẻ dữ liệu sử dụng.
-
Bản sao tạm của danh sách cần học và của gói đăng ký, để màn hình hiện ra
ngay khi mạng chậm.
-
Bản ghi lời thoại của bạn trong bài hội thoại — xem
Micrô và giọng nói.
-
Bản sao ảnh bạn chọn làm ảnh đại diện — xem
Ảnh đại diện.
Toàn bộ danh sách trên bị xoá khi bạn đăng xuất hoặc khi tài khoản khác đăng
nhập.
Đây là một biện pháp bảo vệ có chủ đích, không phải dọn dẹp: điện thoại được cho mượn, được
bán lại, và một chiếc máy tính bảng ở nhà có thể có hai người học. Nếu việc xoá thất bại
giữa chừng, ứng dụng ghi nhớ khoản nợ đó và không cho danh tính nào vào cho tới khi xoá
xong.
Some things live only on the phone and are never sent anywhere. We list them because they
are still your data, and because what matters is knowing when they are erased.
-
Recent lookups — up to 20 words you opened from the search box, so they
reopen with no network. You can remove one or clear them all from the search screen
itself.
-
Preferences — repetitions per session, audio autoplay, and your
usage-data choice.
-
A warm copy of your backlog and of your subscription tier, so a screen
can appear before a slow network answers.
-
Recordings of your spoken lines in the conversation drill — see
Microphone and speech.
-
A copy of the photo you picked as an avatar — see
Avatar.
Every item above is erased when you sign out or when a different account signs
in.
That is a deliberate protection rather than tidiness: phones get lent and resold, and a
tablet at home may have two learners on it. If the erase fails part way through, the app
remembers the debt and admits no identity until it has finished.
Ảnh đại diện và thư viện ảnh / Avatar and photo library
Ảnh đại diện là tuỳ chọn. Nếu bạn đặt một tấm, ứng dụng xin quyền truy cập thư viện ảnh —
chỉ thư viện ảnh; ứng dụng không có tính năng chụp ảnh và không xin quyền camera.
-
Ảnh được xử lý lại trước khi lưu. Máy chủ giải mã ảnh bạn gửi lên và mã
hoá lại thành JPEG 256×256 do chính nó tạo ra. Vì ảnh được dựng lại từ điểm ảnh, mọi siêu
dữ liệu đi kèm — kể cả toạ độ GPS trong EXIF — không thể sống sót qua bước này.
-
Ảnh nằm trong kho lưu trữ riêng tư. Tệp được đặt trong một bucket
Cloudflare R2 không công khai, dưới một tên ngẫu nhiên không đoán được, và
không có đường dẫn công khai nào tới nó: ứng dụng lấy ảnh qua một yêu cầu
đã đăng nhập tới máy chủ của chúng tôi, chứ không qua một liên kết chia sẻ được.
-
Bản sao trên máy bị xoá. Bộ chọn ảnh của hệ điều hành không đưa lại tấm
ảnh trong thư viện mà ghi ra một bản sao mới trong vùng nhớ riêng của ứng dụng. Bản sao đó
bị xoá ngay sau khi tải lên (dù thành công hay thất bại), được quét dọn ở lần mở ứng dụng
kế tiếp nếu ứng dụng bị tắt giữa chừng, và bị xoá khi bạn đăng xuất hoặc xoá tài khoản.
- Gỡ ảnh bất cứ lúc nào trong Cài đặt; tệp trên máy chủ bị xoá theo.
An avatar is optional. If you set one, the app asks for photo-library access —
the library only; there is no camera feature and no camera permission.
-
The image is re-encoded before it is stored. The server decodes what you
upload and writes a fresh 256×256 JPEG of its own. Because the output is built from
decoded pixels, no attached metadata — including EXIF GPS coordinates — can survive the
round trip.
-
It lives in private storage. The file goes into a non-public Cloudflare
R2 bucket under an unguessable random name, and
there is no public URL for it at all: the app fetches it through an
authenticated request to our server, not through a shareable link.
-
The on-device copy is deleted. The system picker does not hand back the
library asset; it writes a new copy into the app's private storage. That copy is deleted
right after the upload (whether it succeeded or failed), swept away at the next launch if
the app was killed in between, and purged when you sign out or delete your account.
-
You can remove the picture at any time in Settings; the stored file is
deleted with it.
Chữ viết tay / Handwriting
Viết tay là cả ứng dụng, nên đây là câu đáng nói rõ nhất:
nét chữ của bạn không rời khỏi điện thoại.
-
Nhận dạng chạy trên máy. Ứng dụng dùng Google ML Kit Digital Ink
(
zh-Hani) nhúng ngay trong ứng dụng. Máy chủ của chúng tôi
không có bộ nhận dạng chữ viết tay nào — không có đường dẫn nào để gửi
nét chữ lên, kể cả nếu muốn.
-
Mô hình được tải một lần. Lần đầu bạn dùng bàn phím viết tay, điện thoại
tải mô hình nhận dạng từ Google (vài MB). Sau đó mọi thứ chạy ngoại tuyến. Việc tải này là
giữa máy bạn và Google, không đi qua chúng tôi.
-
Nét chữ không được lưu ở đâu cả. Chúng tồn tại trong bộ nhớ trong lúc bạn
viết và biến mất khi bạn sang ký tự tiếp theo. Thứ duy nhất được ghi lại là bạn
đã luyện ký tự đó vào lúc nào.
Handwriting is the whole app, so this is the sentence most worth being exact about:
your strokes never leave the phone.
-
Recognition runs on the device. The app uses Google ML Kit Digital Ink
(
zh-Hani) embedded in the app itself. Our server
has no handwriting recognizer — there is no route to send strokes to,
even if we wanted one.
-
The model downloads once. The first time you use the handwriting
keyboard, your phone downloads the recognition model from Google (a few megabytes). After
that everything is offline. That download is between your device and Google; it does not
pass through us.
-
Strokes are stored nowhere. They exist in memory while you write and are
gone when you move to the next character. The only thing recorded is that you
did practise that character, and when.
Micrô và giọng nói / Microphone and speech
Memo Chinese xin quyền dùng micrô và nhận dạng giọng nói để bạn luyện đọc to tiếng Trung:
nói lại từ vừa viết, đọc câu luyện tập, và nói lời thoại của bạn trong bài hội thoại cùng
AI. Bạn có thể từ chối và bỏ qua các bước nói; phần còn lại của ứng dụng vẫn hoạt động bình
thường.
-
Nhận dạng diễn ra ngay trên máy. Ứng dụng chỉ dùng bộ nhận dạng ngoại
tuyến có sẵn trong điện thoại (của Apple trên iOS; trên Android 13 trở lên, dịch vụ nhận
dạng trên thiết bị của máy). Nếu máy không nhận dạng được tiếng Trung khi ngoại tuyến, ứng
dụng không hiện các bước nói. Chúng tôi không bao giờ chuyển sang dịch vụ nhận dạng trực
tuyến.
-
Bản ghi âm chỉ được lưu tạm. Trong bài hội thoại, lời bạn nói được lưu
trong bộ nhớ riêng của ứng dụng để cuối bài bạn nghe lại cuộc hội thoại bằng giọng của
mình. Bản ghi bị xoá khi bạn rời bài. Bản ghi còn sót do ứng dụng bị tắt đột ngột sẽ bị
xoá ở lần mở tiếp theo, và toàn bộ bị xoá khi bạn đăng xuất hoặc xoá tài khoản. Bản ghi
không được sao lưu, chia sẻ hay lưu vào thư viện ảnh/phương tiện.
-
Chúng tôi không nhận giọng nói của bạn. Bản ghi âm, văn bản mà bộ nhận
dạng nghe được và điểm phát âm đều ở lại trên máy. Không thứ nào được gửi tới máy chủ của
chúng tôi hay nhà cung cấp AI, và không thứ nào nằm trong báo cáo sự cố.
Memo Chinese asks for microphone and speech-recognition access so you can practise reading
Chinese aloud: saying a word you just wrote, reading a practice sentence, and speaking your
lines in the AI conversation drill. You can decline and skip those steps; the rest of the
app works normally.
-
Recognition happens on your device. The app uses only your phone’s
built-in offline recognizer (Apple’s on iOS; the device’s on-device speech service on
Android 13 and later). If your device can’t recognize Chinese offline, the speaking steps
aren’t offered. We never fall back to an online recognition service.
-
Recordings are temporary. In the conversation drill, your spoken lines
are saved in the app’s private storage so you can hear the conversation back in your own
voice at the end. They’re deleted when you leave the session. Any left behind by a crash
are deleted the next time the app opens, and all of them are deleted when you sign out or
delete your account. They’re never backed up, shared, or saved to your photo or media
library.
-
We don’t receive your voice. The recording, the text the recognizer
heard, and the pronunciation score all stay on your device. None of them is sent to our
servers or our AI provider, and none is included in crash reports.
Luyện tập cùng AI / Practising with AI
Bài “Ôn tập cùng AI” lấy năm từ bạn đã học và nhờ một mô hình ngôn ngữ viết một đoạn hội
thoại ngắn dùng cả năm từ đó, rồi đọc đoạn ấy thành tiếng. Đây là phần duy nhất của ứng dụng
gửi bất cứ thứ gì tới một nhà cung cấp AI, nên chúng tôi nói thật rõ nó gửi cái gì.
-
Chúng tôi gửi cho Anthropic (Claude): năm từ tiếng Trung, phiên âm và
nghĩa tiếng Việt của chúng — tất cả đọc từ từ điển của chính máy chủ —, trình độ HSK của
bạn dưới dạng một con số, và một bối cảnh được máy chủ bốc ngẫu nhiên từ một danh sách có
sẵn.
-
Chúng tôi không gửi: tên, email, mã tài khoản, hay bất kỳ thứ gì cho phép
nhận ra bạn; và không một chữ nào do bạn viết ra. Lời nhắc được ghép hoàn
toàn từ dữ liệu của máy chủ, chọn ra bằng mã số của từ. Con đường duy nhất từng cho phép
văn bản của người học đi tới mô hình — một ô trả lời tự do — đã bị xoá khỏi mã nguồn vào
tháng 8/2026, cùng với toàn bộ tuyến xử lý của nó.
-
Chúng tôi gửi cho Alibaba Cloud DashScope (Qwen TTS, máy chủ quốc tế đặt tại
Singapore):
câu tiếng Trung mà mô hình vừa viết ra, kèm tên giọng đọc. Không có gì khác. Nếu dịch vụ
này không được bật, ứng dụng dùng bộ đọc có sẵn của điện thoại.
-
Đoạn hội thoại sinh ra không nói gì về bạn — nó chỉ là một cảnh dùng năm
từ ấy — nên nó được lưu chung và có thể dùng lại cho một người học khác chọn đúng năm từ
đó. Phần riêng của bạn (bạn đã điền gì, đã hoàn thành tới đâu) nằm ở bản ghi riêng gắn với
tài khoản bạn.
-
Lời bạn nói và chữ bạn viết trong bài này ở lại trên máy, giống mọi nơi
khác trong ứng dụng. Xem Micrô và giọng nói và
Chữ viết tay.
Vì các câu này do máy sinh ra và không ai đọc trước khi bạn nhìn thấy, ứng dụng luôn có nút
báo cáo — xem phần dưới.
The “Ôn tập cùng AI” (AI review) drill takes five words you have already learnt and asks a
language model to write a short conversation using all five, then has it read aloud. This is
the only part of the app that sends anything to an AI provider, so here is exactly what it
sends.
-
We send Anthropic (Claude): the five Chinese words, their pinyin and
their Vietnamese glosses — all read from the server's own dictionary — your HSK level as a
number, and a scene setting the server picks at random from a fixed list.
-
We do not send: your name, email, account identifier, or anything else
that could identify you; and not one word you wrote. The prompt is
assembled entirely from server-owned data, selected by numeric word ids. The one path that
could ever have carried learner text to a model — a free-text answer box — was deleted
from the codebase in August 2026, along with its whole pipeline.
-
We send Alibaba Cloud DashScope (Qwen TTS, international endpoint in
Singapore):
the Chinese sentence the model just wrote, plus a voice name. Nothing else. If that
service is not configured, the app uses your phone's built-in speech.
-
The generated conversation says nothing about you — it is just a scene
using those five words — so it is stored shared and may be reused for another learner who
picks the same five. Your own part of it (what you filled in, how far you got) lives in a
separate record belonging to your account.
-
What you say and write during the drill stays on the device, as
everywhere else in the app. See Microphone and speech and
Handwriting.
Because these sentences are machine-written and nobody reads them before you do, there is
always a way to report one — see below.
Báo cáo một câu / Reporting a sentence
Mỗi câu luyện tập do AI sinh ra đều có một nút hình lá cờ nhỏ bên cạnh (“Báo lỗi câu này”).
Khi bạn gửi báo cáo, chúng tôi lưu: bề mặt bạn đang xem và lý do bạn chọn (cả hai đều là
danh sách cố định, không phải chữ tự do), câu tiếng Trung và bản dịch tiếng Việt đúng như
bạn nhìn thấy, mã bài học nếu có, và ghi chú tuỳ chọn của bạn.
Ô ghi chú đó là
chỗ duy nhất trong toàn bộ ứng dụng mà chữ do bạn tự viết được gửi lên máy chủ. Nó được lưu để một con người đọc và xử lý, và
không bao giờ được đưa vào lời nhắc gửi cho mô hình AI. Vui lòng đừng viết
thông tin cá nhân vào đó — nó chỉ cần đủ để chúng tôi hiểu câu kia sai ở chỗ nào. Báo cáo bị
xoá cùng tài khoản khi bạn xoá tài khoản.
Every AI-generated practice sentence carries a small flag button beside it (“Báo lỗi câu
này”). When you send a report we store: which surface you were on and the reason you picked
(both closed lists, not free text), the Chinese sentence and its Vietnamese translation
exactly as you saw them, the session id where there is one, and
your optional note.
That note field is
the only place in the entire app where text you wrote yourself is sent to our
server. It is stored for a human to read and act on, and is
never put into a prompt sent to an AI model. Please do not put personal
information in it — it only needs to say what is wrong with the sentence. Reports are
deleted with your account.
Đăng ký trả phí / Subscriptions
Memo Chinese có gói trả phí, chỉ trên iOS. Apple thu tiền, RevenueCat xác
định bạn đang có quyền lợi nào, và máy chủ của chúng tôi dùng kết quả đó để mở hạn mức hằng
ngày.
-
Chúng tôi không thấy số thẻ hay phương thức thanh toán của bạn. Apple xử
lý việc thu tiền, hoá đơn, gia hạn và huỷ gói; chúng tôi nhận thông báo giao dịch và quyền
lợi từ RevenueCat như mô tả dưới đây. Ứng dụng hiển thị màn hình mua hàng do RevenueCat
dựng sẵn, nên giá cả đến từ App Store.
-
Xoá ứng dụng hoặc tài khoản Memo Chinese không huỷ gói đăng ký với Apple.
Nếu bạn đang đăng ký, hãy
quản lý gói trên Apple để tắt
gia hạn trước khi xoá tài khoản. Bạn vẫn có thể xoá tài khoản ngay, nhưng sẽ mất quyền
dùng Memo Pro qua tài khoản đó dù thời gian đã trả tiền còn lại. Nếu chưa huỷ với Apple,
bạn có thể tiếp tục bị thu tiền vào kỳ gia hạn tiếp theo. Nếu đã bị thu tiền ngoài ý muốn,
bạn có thể
yêu cầu Apple xem xét hoàn tiền.
-
RevenueCat nhận mã người dùng Firebase của bạn để gắn giao dịch mua với
tài khoản, cùng các sự kiện đăng ký mà Apple gửi cho họ.
-
Chúng tôi lưu hai thứ. Một là sổ sự kiện: mã sự kiện, loại sự
kiện, mã người dùng, môi trường (thật hay thử), thời điểm, và nội dung sự kiện thô mà
RevenueCat gửi. Hai là quyền lợi hiện tại của tài khoản bạn — gói nào, còn hiệu
lực đến khi nào.
-
Sổ sự kiện được giữ 400 ngày kể từ khi một sự kiện được xử lý xong, rồi
bị xoá tự động. Các dòng chưa xử lý xong được giữ lại cho tới khi giải quyết được — đó
chính là những dòng người ta cần khi có tranh chấp hoá đơn. Con số 400 ngày là 365 cộng
thêm quãng đệm, để khi một gói năm gia hạn thì chu kỳ trước đó vẫn còn.
-
Xoá tài khoản không xoá toàn bộ sổ sự kiện đăng ký. Chúng tôi thay mã
người dùng trong các cột tra cứu của những dòng hiện có bằng một mã ngẫu nhiên, để chúng
không tự nối lại với tài khoản mới. Tuy nhiên, chúng tôi giữ nguyên nội dung sự kiện thô
từ RevenueCat; nội dung đó có thể vẫn chứa mã Firebase hoặc mã giao dịch liên quan tới
bạn. Sự kiện gia hạn đến sau khi xoá tài khoản cũng có thể mang những mã đó. Vì vậy, sổ sự
kiện vẫn có thể liên kết được với bạn trong thời hạn lưu giữ nêu trên; nó không được ẩn
danh hoàn toàn. Chúng tôi giữ sổ này để kiểm tra giao dịch và xử lý sự cố thanh toán.
Memo Chinese has a paid plan, on iOS only. Apple takes the payment,
RevenueCat resolves which entitlement you hold, and our server uses that to unlock the daily
allowances.
-
We do not see your card number or payment method. Apple handles charges,
invoices, renewals and cancellations; we receive transaction and entitlement notifications
through RevenueCat as described below. The app shows RevenueCat's template paywall, so
prices come from the App Store.
-
Deleting the app or your Memo Chinese account does not cancel your Apple
subscription.
If subscribed,
manage the subscription with Apple
to turn off renewal before deleting the account. You can still delete your account
immediately, but you will lose access to Memo Pro through that account even if paid time
remains. If you have not cancelled with Apple, you may be charged at the next renewal. If
you were charged unexpectedly, you can
ask Apple to review a refund request.
-
RevenueCat receives your Firebase user identifier, so a purchase can be
attached to your account, plus the subscription events Apple sends it.
-
We store two things. An event ledger: event id, event type, user
identifier, environment (production or sandbox), timestamp, and the raw event RevenueCat
sent. And your account's current entitlement — which plan, valid until when.
-
The event ledger is kept for 400 days after an event is finished
processing, then deleted automatically. Rows that never finished are kept until they can
be resolved — those are the ones anyone ever opens this table to find. 400 is a year plus
a margin, so that when a yearly subscription renews its previous cycle is still there.
-
Deleting your account does not erase the entire subscription event ledger.
We replace your identifier in the lookup columns of existing rows with a random value so
those rows do not automatically join a new account. We leave RevenueCat's raw event JSON
unchanged, however, and it may still contain your Firebase identifier or related
transaction identifiers. Renewal events arriving after deletion may contain them too. The
ledger may therefore remain linkable to you for the retention period described above; it
is not fully anonymous. We keep it to check transactions and resolve billing problems.
Báo cáo sự cố và số liệu sử dụng / Crash reports and analytics
Cả hai đều tắt mặc định, và cùng chịu chung một công tắc:
Cài đặt → Chia sẻ dữ liệu sử dụng ẩn danh. Một máy vừa cài xong không gửi đi thứ
gì. Bật hay tắt công tắc này không ảnh hưởng tới tiến độ học của bạn — tiến độ luôn được lưu
vào tài khoản.
-
Hiện chưa có hệ thống thống kê nào. Ứng dụng không gửi số liệu sử dụng
tới đâu cả; phần mã dành cho việc đó là một khung rỗng, và ngay cả khi bạn bật công tắc
thì nó cũng không có nơi để gửi. Nếu điều này thay đổi, tài liệu này thay đổi trước.
-
Báo cáo sự cố dùng Sentry, và chỉ chạy khi có đủ hai điều kiện: bản dựng
phải được biên dịch kèm khoá Sentry, và bạn phải bật công tắc trên. Khi bạn tắt
nó, chúng tôi đóng luôn cả phần gốc (native) của Sentry, chứ không chỉ chặn ở lớp
JavaScript.
-
Nếu bạn bật, một báo cáo sự cố chứa: loại lỗi và vết gọi hàm trong mã của
chúng tôi, kiểu máy, phiên bản hệ điều hành, phiên bản ứng dụng, và một danh sách rút gọn
các yêu cầu mạng gần nhất — chỉ còn phương thức, mã trạng thái, và địa chỉ đã được cắt bỏ
phần truy vấn cùng mọi đoạn đường dẫn có thể chứa chữ Hán.
-
Báo cáo không chứa: địa chỉ IP của bạn, danh tính của bạn, nội dung yêu
cầu mạng, nhật ký console, từ bạn đang học, nội dung tìm kiếm, nét chữ, bản ghi âm hay
điểm phát âm. Chúng tôi cũng tắt hẳn việc đo hiệu năng và việc đếm phiên sử dụng.
Both are off by default and share one switch:
Cài đặt → Chia sẻ dữ liệu sử dụng ẩn danh (Settings → Share anonymous usage data).
A fresh install sends nothing. Turning it on or off does not affect your learning progress —
that is always saved to your account.
-
There is no analytics backend today. The app sends usage data nowhere;
the code for it is an empty shell with no destination even when the switch is on. If that
changes, this document changes first.
-
Crash reporting uses Sentry, and runs only when two things are true: the
build must be compiled with a Sentry key, and you must have turned the switch on.
When you turn it off we close Sentry's native layer as well, not just block it in
JavaScript.
-
If you turn it on, a crash report contains: the error type and a stack
trace through our code, your device model, OS version, app version, and a reduced list of
recent network requests — method, status code, and an address stripped of its query string
and of any path segment that could carry a Chinese word.
-
A report does not contain: your IP address, your identity, request
bodies, console logs, the words you are learning, your searches, your strokes, recordings
or pronunciation scores. Performance tracing and session counting are switched off
entirely.
Các bên chúng tôi dùng / Third parties we use
Đây là toàn bộ danh sách các bên xử lý dữ liệu thay chúng tôi. Không bên nào trong đây là
mạng quảng cáo, và không bên nào nhận dữ liệu của bạn cho mục đích riêng của họ ngoài việc
cung cấp dịch vụ dưới đây.
| Bên |
Nhận gì |
Để làm gì |
| Google — Firebase Authentication |
Email, mật khẩu đã băm (tài khoản email), tên hiển thị nếu nhà cung cấp trả về, mã
người dùng
|
Đăng nhập, xác minh email, đặt lại mật khẩu |
| Google — ML Kit |
Chỉ một lượt tải mô hình. Không nhận nét chữ của bạn |
Nhận dạng chữ viết tay ngay trên máy |
| Apple / Google — đăng nhập |
Việc bạn đã đăng nhập vào ứng dụng này, và thông tin bạn đồng ý chia sẻ |
Đăng nhập bằng Apple / Google |
| Railway |
Vận hành máy chủ và cơ sở dữ liệu — tức toàn bộ dữ liệu tài khoản và học tập |
Chỗ đặt máy chủ |
| Cloudflare — R2 |
Ảnh đại diện đã xử lý lại, tệp âm thanh của bài luyện AI |
Lưu trữ tệp riêng tư |
| Anthropic — Claude |
Năm từ tiếng Trung kèm phiên âm và nghĩa, trình độ HSK dạng số, bối cảnh ngẫu nhiên.
Không có gì nhận diện bạn, không có chữ bạn viết
|
Viết đoạn hội thoại luyện tập |
| Alibaba Cloud — DashScope (Qwen TTS, Singapore) |
Câu tiếng Trung do mô hình viết ra, và tên giọng đọc |
Đọc đoạn hội thoại thành tiếng |
| RevenueCat |
Mã người dùng Firebase, sự kiện đăng ký từ Apple |
Xác định quyền lợi gói trả phí |
| Apple — App Store |
Thanh toán. Chúng tôi không nhận thông tin thẻ |
Bán và gia hạn gói đăng ký |
| Sentry |
Báo cáo sự cố như mô tả ở trên — chỉ khi bạn bật |
Tìm và sửa lỗi làm ứng dụng văng |
This is the complete list of parties that process data on our behalf. None of them is an
advertising network, and none receives your data for its own purposes beyond providing the
service below.
| Party |
What it receives |
Why |
| Google — Firebase Authentication |
Email, hashed password (email accounts), display name if the provider returns one, a
user identifier
|
Sign-in, email verification, password reset |
| Google — ML Kit |
One model download. Never your strokes |
On-device handwriting recognition |
| Apple / Google — platform sign-in |
That you signed in to this app, and whatever you agree to share |
Sign in with Apple / Google |
| Railway |
Runs the server and database — i.e. all account and learning data |
Hosting |
| Cloudflare — R2 |
The re-encoded avatar, the AI drill's audio files |
Private file storage |
| Anthropic — Claude |
Five Chinese words with pinyin and glosses, your HSK level as a number, a random scene
setting. Nothing identifying, nothing you wrote
|
Writing the practice conversation |
| Alibaba Cloud — DashScope (Qwen TTS, Singapore) |
The Chinese sentence the model wrote, and a voice name |
Reading the conversation aloud |
| RevenueCat |
Your Firebase user identifier, subscription events from Apple |
Resolving your paid entitlement |
| Apple — App Store |
Payment. We receive no card details |
Selling and renewing the subscription |
| Sentry |
Crash reports as described above — only if you opt in |
Finding and fixing crashes |
Chuyển dữ liệu ra nước ngoài / International transfers
Nói thẳng: dữ liệu của bạn rời khỏi Việt Nam. Chúng tôi là một nhà phát
triển cá nhân và không tự vận hành trung tâm dữ liệu nào; mọi thứ chạy trên hạ tầng đám mây
của các nhà cung cấp trong bảng trên, và họ đặt máy chủ ở nước ngoài — chủ yếu tại Hoa Kỳ,
cùng với Singapore đối với dịch vụ đọc thành tiếng.
Với người dùng trong Khu vực Kinh tế châu Âu và Vương quốc Anh: các chuyển giao này dựa trên
điều khoản hợp đồng tiêu chuẩn (standard contractual clauses) và các cơ chế tương đương
trong điều khoản xử lý dữ liệu của từng nhà cung cấp. Nếu bạn muốn biết chi tiết về một nhà
cung cấp cụ thể, hãy viết thư cho chúng tôi.
Plainly: your data leaves Vietnam. We are an individual developer and run
no data centre; everything runs on the cloud infrastructure of the providers listed above,
and they host it abroad — mostly in the United States, plus Singapore for the text-to-speech
service.
For users in the European Economic Area and the United Kingdom: these transfers rely on the
standard contractual clauses and equivalent mechanisms in each provider's data-processing
terms. Write to us if you want the detail for a particular provider.
Cơ sở pháp lý / Legal bases
Với người dùng thuộc phạm vi GDPR, đây là cơ sở pháp lý cho từng mục đích. Với người dùng
tại Việt Nam, việc xử lý dữ liệu tuân theo Nghị định 13/2023/NĐ-CP; xem
Quyền của bạn.
| Mục đích |
Cơ sở |
| Tài khoản, đăng nhập, và toàn bộ dữ liệu học tập |
Thực hiện hợp đồng — không có những thứ này thì không có ứng dụng |
| Gói đăng ký và quyền lợi trả phí |
Thực hiện hợp đồng |
| Micrô, nhận dạng giọng nói, và thư viện ảnh |
Sự đồng ý của bạn (quyền hệ điều hành), rút lại bất cứ lúc nào trong Cài đặt máy
|
| Báo cáo sự cố và số liệu sử dụng |
Sự đồng ý của bạn, tắt mặc định, rút lại bằng một công tắc |
| Giới hạn tần suất, chống lạm dụng, xử lý báo cáo nội dung |
Lợi ích hợp pháp trong việc giữ dịch vụ an toàn và hoạt động được |
| Giữ sổ sự kiện đăng ký sau khi tài khoản bị xoá (có thể còn mã định danh) |
Lợi ích hợp pháp trong việc có hồ sơ đúng về giao dịch và giải quyết tranh chấp |
For users covered by the GDPR, these are the legal bases for each purpose. For users in
Vietnam, processing follows Decree 13/2023/NĐ-CP; see
Your rights.
| Purpose |
Basis |
| Account, sign-in, and all learning data |
Performance of a contract — without these there is no app |
| Subscriptions and paid entitlements |
Performance of a contract |
| Microphone, speech recognition, and photo library |
Your consent (the OS permission), withdrawable at any time in system settings |
| Crash reports and usage data |
Your consent, off by default, withdrawable with one switch |
| Rate limiting, abuse prevention, handling content reports |
Legitimate interest in keeping the service safe and working |
| Keeping the subscription event ledger after deletion (identifiers may remain) |
Legitimate interest in an accurate record of purchases and in resolving billing
disputes
|
Quyền của bạn / Your rights
Bạn có các quyền dưới đây theo Nghị định 13/2023/NĐ-CP của Việt Nam và, nếu bạn ở Khu vực
Kinh tế châu Âu hoặc Vương quốc Anh, theo GDPR. Hai bộ quy định dùng từ khác nhau nhưng
trùng nhau gần hết, nên chúng tôi gộp lại:
-
Được biết chúng tôi xử lý dữ liệu gì của bạn và vì sao — là tài liệu này.
- Truy cập bản sao dữ liệu chúng tôi giữ về bạn.
-
Sửa dữ liệu sai. Tên và email sửa ở nhà cung cấp đăng nhập; những thứ
khác hãy viết thư cho chúng tôi.
-
Xoá. Bạn tự làm được ngay trong ứng dụng, không cần hỏi ai:
Cài đặt → Dữ liệu → Xoá tài khoản. Xem
Lưu trữ và xoá.
-
Mang dữ liệu đi — nhận dữ liệu học tập của bạn ở định dạng máy đọc được.
- Hạn chế hoặc phản đối việc xử lý dựa trên lợi ích hợp pháp.
-
Rút lại sự đồng ý bất cứ lúc nào, với micrô, thư viện ảnh (trong Cài đặt
của máy) và báo cáo sự cố (công tắc trong ứng dụng). Việc rút lại không làm mất hiệu lực
những gì đã xử lý trước đó.
-
Khiếu nại. Bạn có thể khiếu nại với cơ quan quản lý nhà nước có thẩm
quyền — tại Việt Nam là Cục An ninh mạng và phòng, chống tội phạm sử dụng công nghệ cao
(A05) thuộc Bộ Công an; trong EEA/Anh là cơ quan bảo vệ dữ liệu nơi bạn cư trú.
Gửi mọi yêu cầu tới
memochinese.support@gmail.com từ chính
địa chỉ email của tài khoản. Chúng tôi trả lời trong vòng 30 ngày. Chúng tôi không thu phí
cho các yêu cầu này.
You have the rights below under Vietnam's Decree 13/2023/NĐ-CP and, if you are in the
European Economic Area or the United Kingdom, under the GDPR. The two use different words
for mostly the same things, so they are listed together:
- To know what we process and why — this document.
- Access a copy of the data we hold about you.
-
Rectification of anything wrong. Your name and email are changed at your
sign-in provider; write to us for anything else.
-
Erasure. You can do this yourself in the app without asking anyone:
Cài đặt → Dữ liệu → Xoá tài khoản (Settings → Data → Delete account). See
Retention and deletion.
- Portability — your learning data in a machine-readable format.
-
Restriction or objection where processing rests on a legitimate interest.
-
Withdrawing consent at any time, for the microphone and photo library (in
your device settings) and for crash reporting (the in-app switch). Withdrawing does not
undo processing that already happened.
-
Complaining. You may complain to the competent authority — in Vietnam the
Department of Cybersecurity and High-Tech Crime Prevention (A05) of the Ministry of Public
Security; in the EEA/UK, your local data-protection authority.
Send any request to
memochinese.support@gmail.com from the
account's own email address. We answer within 30 days, and we charge nothing for it.
Lưu trữ và xoá / Retention and deletion
Chúng tôi giữ dữ liệu tài khoản và dữ liệu học tập
chừng nào tài khoản của bạn còn tồn tại, vì đó chính là thứ làm nên tài
khoản. Không có bộ đếm ngược nào âm thầm xoá tiến độ của bạn.
Dữ liệu của phần hướng dẫn ban đầu là ngoại lệ duy nhất, vì nó thuộc về một
danh tính tạm thời chứ không phải tài khoản của bạn:
-
Khi phần hướng dẫn kết thúc, ứng dụng nhận một vé dùng một lần, chỉ nằm trong bộ nhớ của
ứng dụng và không bao giờ được ghi xuống máy. Máy chủ chỉ lưu mã băm của vé, và vé hết hạn
sau 60 phút.
-
Nếu bạn đăng nhập trong thời gian đó vào một tài khoản chưa từng học, những gì
bạn làm trong phần hướng dẫn được chuyển sang tài khoản đó. Nếu tài khoản đã có tiến độ,
không có gì được chuyển, để không ghi đè lên những gì bạn đã học.
-
Dù có chuyển hay không, danh tính tạm thời và mọi dữ liệu còn lại của nó bị xoá theo đúng
quy trình xoá tài khoản nêu dưới đây.
-
Nếu không có lần đăng nhập nào nhận vé (ví dụ bạn đóng ứng dụng ở màn hình đăng nhập),
danh tính tạm thời và dữ liệu của nó bị xoá tự động sau 72 giờ.
Có hai cách dừng lại, và chúng khác nhau:
-
Đặt lại tiến độ học (Cài đặt → Dữ liệu) giữ tài khoản và xoá
những gì bạn đã học. Bạn phải gõ đúng chữ xác nhận.
-
Xoá tài khoản (Cài đặt → Dữ liệu) xoá tài khoản và dữ liệu học
tập của bạn, với các ngoại lệ lưu giữ nêu dưới đây. Bạn phải đăng nhập lại ngay trước đó
và gõ đúng chữ xác nhận; nếu đăng nhập bằng Apple, ứng dụng còn thu hồi quyền đăng nhập
bằng Apple đã cấp cho Memo. Việc thu hồi quyền đăng nhập không huỷ gói đăng ký Apple.
Khi bạn xoá tài khoản, những việc sau xảy ra:
-
Toàn bộ dữ liệu học tập của bạn bị xoá ngay lập tức, trong một giao dịch
duy nhất: lượt viết, từ đã thuộc, danh sách cần học, trình độ, lịch và nhật ký ôn tập, các
bài luyện AI của bạn, các báo cáo nội dung bạn đã gửi, và bản ghi quyền lợi trả phí.
-
Ảnh đại diện và thông tin đăng nhập trên Firebase bị xoá. Hai việc này
nằm ngoài cơ sở dữ liệu nên chúng được ghi vào một hàng đợi và thử lại cho tới khi xong,
thay vì thử một lần rồi thôi.
-
Mọi bản sao trên máy bị xoá, kể cả bản ghi âm và bản sao ảnh — xem
Dữ liệu lưu trên máy bạn.
-
Bản ghi tài khoản trống được giữ lại tối đa 24 giờ, rồi bị xoá hẳn. Lý do
rất cụ thể: một phiên đăng nhập Firebase còn hiệu lực tới một giờ sau khi thông tin đăng
nhập bị xoá, nên phải có thứ gì đó ở lại để từ chối phiên đó. Giữ lâu hơn một hai ngày thì
không còn là bảo vệ nữa mà thành lệnh cấm bạn đổi ý, nên nó hết hạn. Sau 24 giờ, bạn có
thể đăng ký lại bằng chính email đó như một người hoàn toàn mới.
Một số dữ liệu vẫn được giữ lại sau khi xoá tài khoản. Sổ sự kiện đăng ký
có thể còn mã định danh trong nội dung sự kiện thô và vẫn có thể liên kết được với bạn trong
thời hạn lưu giữ; xem Đăng ký trả phí. Bộ đếm chi phí
chung của hệ thống — chỉ gồm các mốc thời gian, không có mã người dùng hay nội dung — được
giữ để khống chế chi phí gọi AI trong 24 giờ; nếu xoá tài khoản làm nó lùi lại thì bất kỳ ai
cũng có thể vô hiệu hoá nó bằng cách tạo tài khoản mới. Đoạn hội thoại do AI viết ra vẫn còn
trong bộ nhớ đệm dùng chung, nhưng không mang tên hay nội dung bạn đã nhập.
We keep account and learning data for as long as your account exists,
because that is what the account is. Nothing silently expires your progress.
Data from the first-launch introduction is the one exception, because it
belongs to a temporary identity rather than to your account:
-
When the introduction ends, the app receives a one-time ticket that is held only in the
app's memory and never written to the device. The server stores only a hash of it, and it
expires after 60 minutes.
-
If you sign in within that time to an account that has never studied, what you
did in the introduction moves onto that account. If the account already has progress,
nothing moves, so nothing you have learnt is overwritten.
-
Either way, the temporary identity and anything left under it are then deleted through the
same account-deletion process described below.
-
If no sign-in claims the ticket (for example, you close the app at the sign-in screen),
the temporary identity and its data are deleted automatically after
72 hours.
There are two ways to stop, and they are different:
-
Reset learning progress (Cài đặt → Dữ liệu) keeps the account
and erases what you have learnt. It requires typing an exact confirmation.
-
Delete account (Cài đặt → Dữ liệu) removes your account and
learning data, subject to the retention exceptions below. It requires a fresh sign-in
immediately beforehand and an exact typed confirmation; for Sign in with Apple accounts,
the app also revokes the Apple sign-in grant you gave Memo. Revoking sign-in access does
not cancel an Apple subscription.
When you delete your account, this is what happens:
-
All of your learning data is deleted at once, in a single transaction:
writing attempts, mastered words, backlog, level, review schedule and history, your AI
drills, the content reports you filed, and your entitlement record.
-
Your avatar and your Firebase credential are deleted. Those two live
outside the database, so they are written to a queue and retried until they succeed rather
than attempted once and hoped for.
-
Every copy on the device is erased, recordings and the picked photo
included — see Data kept on your device.
-
An empty account row is held for at most 24 hours, then hard-deleted. The
reason is specific: a Firebase sign-in stays valid for up to an hour after the credential
is deleted, so something has to remain in order to refuse it. Kept longer than a day or
two it stops being a protection and becomes a ban on changing your mind, so it expires.
After 24 hours you can sign up again with the same email as a completely new user.
Some data survives account deletion. The subscription event ledger may
still contain identifiers in its raw event JSON and remain linkable to you during its
retention period; see Subscriptions. A service-wide spend
counter — only timestamps, no user identifier or content — is kept to cap our AI costs over
any 24 hours; if deleting an account rolled it back, anyone could defeat it by making a new
account. The AI-written conversation stays in the shared cache, but carries neither your
name nor content you entered.
Bảo mật / Security
Chúng tôi chỉ kể ra những biện pháp thực sự có trong bản dựng này. Không có chứng nhận nào
được viện dẫn, vì chúng tôi không có chứng nhận nào.
-
Mọi yêu cầu đều phải có danh tính. Trừ một điểm kiểm tra tình trạng máy
chủ, mọi đường dẫn API mà ứng dụng gọi đều nằm sau một bức tường xác thực: máy chủ xác
minh thẻ đăng nhập Firebase của bạn và lấy danh tính chỉ từ đó — không bao giờ từ
nội dung yêu cầu. (Đường dẫn duy nhất còn lại là nơi nhận thông báo đăng ký từ RevenueCat,
được bảo vệ bằng khoá bí mật và chữ ký riêng.) Toàn bộ lưu lượng đi qua HTTPS.
-
Cách ly ở tầng cơ sở dữ liệu. Ngoài việc mọi câu truy vấn đều lọc theo
chủ sở hữu, cơ sở dữ liệu còn bật row-level security và các truy vấn của người dùng chạy
dưới một vai trò Postgres bị hạn chế, nên một lỗi lập trình bỏ sót bộ lọc vẫn không đọc
được dữ liệu của người khác.
-
Tệp nằm trong kho riêng tư. Bucket R2 không công khai. Ảnh đại diện chỉ
lấy được qua yêu cầu đã đăng nhập; tệp âm thanh bài luyện dùng đường dẫn ký tạm chỉ sống
một giờ.
-
Phản hồi riêng tư không được lưu vào bộ nhớ đệm HTTP. Khi máy chủ gửi ảnh
đại diện hoặc âm thanh bài luyện qua một yêu cầu đã đăng nhập, phản hồi mang
Cache-Control: no-store. Chỉ thị này yêu cầu bộ nhớ đệm tuân thủ chuẩn không
giữ thêm một bản sao trên máy; nó áp dụng cả khi không tìm thấy tệp hoặc trình phát chỉ
lấy một đoạn âm thanh.
-
Khoá bí mật chỉ nằm ở máy chủ. Khoá của các nhà cung cấp AI, kho lưu trữ
và webhook là biến môi trường phía máy chủ; chúng không có trong mã nguồn và không được
gói vào ứng dụng.
-
Ảnh tải lên được dựng lại từ điểm ảnh trước khi lưu, nên siêu dữ liệu và
nội dung ẩn kèm theo không đi tiếp được.
-
Có giới hạn tần suất trên các thao tác tốn kém hoặc nhạy cảm, tính theo
tài khoản đã đăng nhập.
Không hệ thống nào an toàn tuyệt đối. Nếu bạn phát hiện một lỗ hổng, xin viết thư cho chúng
tôi trước khi công bố; chúng tôi sẽ trả lời.
We list only measures that are actually in this build. No certification is claimed, because
we hold none.
-
Every request must carry an identity. Apart from one health check, every
API route the app calls sits behind an authentication wall: the server verifies your
Firebase ID token and takes the identity only from it, never from a request body.
(The one remaining route is where RevenueCat delivers subscription notifications, guarded
by a shared secret and its own signature.) All traffic goes over HTTPS.
-
Isolation at the database layer. Beyond every query filtering by owner,
the database has row-level security enabled and user queries run under a restricted
Postgres role, so a programming mistake that forgot a filter still cannot read anyone
else's data.
-
Files live in private storage. The R2 bucket is not public. Avatars are
reachable only through an authenticated request; drill audio uses signed links that live
for one hour.
-
Private responses are not stored in HTTP caches. When our server sends an
avatar or drill audio through an authenticated request, the response carries
Cache-Control: no-store. This instructs standards-compliant caches not to
retain another device copy; it also applies when the file is absent or a media player
requests only a byte range.
-
Secrets are server-side only. The AI provider, storage and webhook keys
are server environment variables; they are not in the source and are not bundled into the
app.
-
Uploaded images are rebuilt from decoded pixels before storage, so
attached metadata and hidden payloads cannot travel further.
-
Rate limits apply to expensive or sensitive operations, counted per
signed-in account.
No system is perfectly secure. If you find a vulnerability, please write to us before
disclosing it; you will get an answer.
Tuổi tối thiểu / Minimum age
Memo Chinese dành cho người dùng từ 13 tuổi trở lên. Khi tạo tài khoản, bạn
xác nhận mình đủ tuổi — câu này được ghi ngay tại màn hình đăng nhập và đăng ký, bên cạnh
đường dẫn tới chính sách này.
-
Chúng tôi không hỏi ngày sinh. Yêu cầu ngày sinh để chặn trẻ nhỏ có nghĩa
là thu thập thêm một thông tin cá nhân của tất cả mọi người — kể cả của chính những em mà
nó định từ chối — mà vẫn không xác thực được điều gì, vì một ngày sinh tự khai cũng chỉ là
lời tự khai. Vì vậy đây là mức tuổi được công bố và bạn tự xác nhận, không phải một bước
xác minh tuổi.
-
Ứng dụng không hướng tới trẻ em. Không có quảng cáo, không theo dõi
(tracking), không nội dung dành riêng cho trẻ em, và ứng dụng không nằm trong danh mục
Kids của App Store hay chương trình Designed for Families của Google Play.
-
Chúng tôi không cố ý thu thập dữ liệu của trẻ dưới 13 tuổi. Nếu biết một
tài khoản thuộc về người dưới 13 tuổi, chúng tôi xoá tài khoản đó cùng dữ liệu học tập,
ảnh đại diện và thông tin đăng nhập kèm theo.
-
Phụ huynh và người giám hộ. Nếu bạn là phụ huynh hoặc người giám hộ của
một người dùng dưới 16 tuổi và không muốn chúng tôi xử lý dữ liệu của
người đó, hãy viết thư tới
memochinese.support@gmail.com và chúng
tôi sẽ xoá tài khoản. Bạn không cần chứng minh gì thêm ngoài địa chỉ email của tài khoản.
-
Tự xoá bất cứ lúc nào. Trong ứng dụng:
Cài đặt → Dữ liệu → Xoá tài khoản. Việc này xoá dữ liệu trên máy chủ, ảnh đại
diện, thông tin đăng nhập và mọi bản sao được lưu trên thiết bị.
Memo Chinese is for people aged 13 and over. Creating an account confirms
that you are; the sentence saying so is on the sign-in and sign-up screens themselves,
beside the link to this policy.
-
We do not ask for a date of birth. Collecting one in order to exclude
younger children would take a new piece of personal data from everybody — including from
the children it is meant to turn away — and would verify nothing, because a self-entered
birthdate is no more evidence than a tapped confirmation. So this is a stated minimum you
confirm, not age verification.
-
The app is not directed at children. No advertising, no tracking, no
child-directed content, and it is in neither the App Store's Kids Category nor Google
Play's Designed for Families programme.
-
We do not knowingly collect data from children under 13. If we learn that
an account belongs to someone under 13, we delete that account along with its learning
data, avatar and sign-in credential.
-
Parents and guardians. If you are the parent or guardian of a user
under 16 and do not want us to process their data, write to
memochinese.support@gmail.com and we
will delete the account. Nothing beyond the account's email address is needed.
-
Deleting it yourself, at any time. In the app:
Cài đặt → Dữ liệu → Xoá tài khoản. That removes the server-side data, the avatar,
the sign-in credential, and every copy held on the device.
Thay đổi chính sách / Changes to this policy
Tài liệu này nằm trong chính mã nguồn của ứng dụng, cạnh đoạn mã mà nó mô tả. Đó là cách làm
có chủ đích: một thay đổi về dữ liệu ứng dụng thu thập hoặc quyền ứng dụng xin phải được
viết vào đây trong cùng một bản phát hành, chứ không phải để đó rồi quên. Một phần kiểm thử
tự động sẽ báo lỗi nếu ứng dụng xin quyền micrô mà mục tương ứng ở đây biến mất, hoặc nếu độ
tuổi tối thiểu ghi ở đây khác với con số ứng dụng hiển thị.
Khi có thay đổi, ngày “cập nhật lần cuối” ở đầu trang sẽ đổi. Nếu thay đổi làm mở rộng những
gì chúng tôi thu thập hoặc mục đích sử dụng, chúng tôi sẽ báo trong ứng dụng trước khi thay
đổi đó có hiệu lực, và xin lại sự đồng ý ở những chỗ cần sự đồng ý.
This document lives inside the app's own source code, next to the code it describes. That is
deliberate: a change to what the app collects or asks for has to be written here in the same
release, not left as a task. An automated test fails if the app requests the microphone and
the matching section here disappears, or if the minimum age stated here differs from the one
the app shows.
When something changes, the “last updated” date at the top changes. If a change widens what
we collect or what it is used for, we will say so in the app before it takes effect, and ask
again for consent where consent is what covers it.
Liên hệ / Contact
Hồ Ngọc Lam — Memo Chinese
memochinese.support@gmail.com
Hãy dùng địa chỉ này cho mọi việc: hỗ trợ, câu hỏi về quyền riêng tư, yêu cầu về dữ liệu, và
liên hệ của phụ huynh hoặc người giám hộ. Chúng tôi trả lời trong vòng 30 ngày.
Danh sách các thư viện mã nguồn mở và dữ liệu từ điển mà ứng dụng sử dụng, cùng giấy phép
của chúng, ở trang Giấy phép mã nguồn mở.
Hồ Ngọc Lam — Memo Chinese
memochinese.support@gmail.com
Use this address for everything: support, privacy questions, data requests, and messages
from a parent or guardian. We answer within 30 days.
The open-source libraries and dictionary data the app uses, with their licences, are listed
on the Open-source licences page.