Tóm tắt trong bảy dòng.
- Ứng dụng không có tài khoản. Chúng tôi không biết tên, email hay số điện thoại của bạn.
- Ảnh bài tập được gửi lên máy chủ để giải, rồi bị bỏ đi ngay — không lưu, không ghi vào nhật ký.
- Ảnh, lời giải và sổ tay nằm lại trên máy bạn, không đồng bộ đi đâu.
- Máy chủ chỉ giữ một mã máy ngẫu nhiên kèm bộ đếm lượt và hạn gói.
- Bản Android miễn phí có quảng cáo; bản iOS thì không. Bản Android vì thế
có đọc mã quảng cáo của máy — xem mục 8.
- Khi bạn bấm nút báo cáo một lời giải, phần chữ của bài đó được gửi lên và
giữ 90 ngày. Ngoài lần bấm ấy ra, máy chủ không giữ bài nào cả.
- Nút “Xoá hết và bắt đầu lại” trong Cài đặt xoá sạch mọi thứ trên máy.
1. Ai là người xử lý dữ liệu
Ứng dụng MagicMath Solver (mã gói com.mobiluck.magicmath, có trên
App Store và Google Play) do CÔNG TY TNHH MOBILUCK (MOBILUCK COMPANY LIMITED,
mã số doanh nghiệp 0109111491, trụ sở tại Tầng 9 Tháp C, Toà nhà Hồ Gươm Plaza, số 102
phố Trần Phú, Phường Hà Đông, Thành phố Hà Nội, Việt Nam) phát hành. Đây cũng là bên kiểm soát
dữ liệu theo nghĩa của GDPR. Thông tin định danh đầy đủ ở trang
Thông tin nhà cung cấp. Mọi câu hỏi về quyền riêng tư xin gửi tới
congvt@mobiluck.vn
(dự phòng: mobiluckvn@gmail.com).
Trang này nói về cả hai bản. Chỗ nào hai bản khác nhau thì nói rõ là khác —
và có ba chỗ như vậy: cách cất mã máy, phần quảng cáo, và cửa hàng bán gói.
2. Chúng tôi không có tài khoản người dùng
Bạn không đăng ký, không đăng nhập, không cần tài khoản nào để dùng phần giải bài. Khi mở ứng dụng
lần đầu, máy của bạn tự sinh một dãy ký tự ngẫu nhiên (gọi là mã máy).
Đó là toàn bộ danh tính mà hệ thống này biết về bạn.
Mã máy không được tạo ra từ số IMEI, số sê-ri hay bất kỳ đặc điểm nào của thiết bị, nên nó
không lần ngược ra được bạn là ai, và cũng không dùng chung với ứng dụng khác.
- Trên iPhone và iPad: mã máy cất trong Keychain, nên nó sống qua lần gỡ ứng dụng.
- Trên Android: mã máy cất trong vùng lưu trữ riêng của ứng dụng. Gỡ ứng dụng là
mất nó, và lần cài lại máy bạn sinh một mã mới — hệ thống không có cách nào biết đó vẫn là bạn.
Chúng tôi cố ý không neo mã máy vào một định danh bền của thiết bị, vì làm vậy
là biến một dãy số ngẫu nhiên thành một thứ theo dõi được.
3. Việc gì xảy ra khi bạn chụp một bài tập
- Ứng dụng thu nhỏ ảnh trên máy bạn.
- Ảnh đã thu nhỏ, ngôn ngữ bạn chọn và mã máy được gửi tới máy chủ của chúng tôi qua kết nối mã hoá HTTPS.
- Máy chủ chuyển tiếp ảnh sang Google Vertex AI (mô hình Gemini) để đọc đề và
dựng lời giải. Lượt gọi này đi qua điểm cuối toàn cầu của Vertex AI, nghĩa là
Google có thể xử lý nó tại một trung tâm dữ liệu ngoài Singapore. Ảnh chỉ nằm trong bộ nhớ
trong lượt gọi ấy: Google không dùng nó để huấn luyện mô hình, và máy chủ của chúng tôi không
lưu nó lại.
- Lời giải quay về máy bạn. Máy chủ không lưu ảnh, không lưu đề bài, không lưu lời giải,
và không ghi chúng vào nhật ký hệ thống.
Theo điều khoản của Google Cloud dành cho Vertex AI, dữ liệu khách hàng gửi qua dịch vụ này
không được dùng để huấn luyện mô hình nền.
Phần hỏi đáp hoạt động theo đúng cách trên: câu hỏi của bạn đi qua máy chủ tới mô hình rồi quay về,
không đọng lại ở giữa.
Bộ dò chữ trong ảnh chạy ngay trên máy bạn. Khung cắt tự bám vào khối chữ là do
ứng dụng tự đọc ảnh tại chỗ; bước đó không gọi mạng.
4. Máy chủ giữ lại đúng những gì
Chỉ năm loại bản ghi dưới đây, tất cả đều đặt khoá bằng mã máy ngẫu nhiên:
| Bản ghi | Chứa gì | Giữ bao lâu |
| Bộ đếm lượt | Số bài đã giải trong ngày | 24 giờ, rồi hệ thống tự xoá |
| Mốc dùng thử | Ngày đầu tiên máy này mở ứng dụng | Không hạn — xem giải thích bên dưới |
| Hạn gói đã mua | Ngày hết hạn gói thuê bao | Trong thời gian gói còn hiệu lực |
| Nhịp chống lạm dụng | Dấu thời gian của lượt gọi gần nhất | 1 giờ |
| Báo cáo nội dung |
Chỉ khi bạn bấm nút báo cáo: phần chữ của bài bị báo cáo, lý do bạn chọn,
lời bạn tự gõ (nếu có), phiên bản ứng dụng |
90 ngày, rồi hệ thống tự xoá |
Vì sao mốc dùng thử không có hạn xoá. Sau đợt dùng thử, ứng dụng vẫn cho bạn một bài mỗi
ngày, vĩnh viễn. Muốn giữ đúng lời hứa đó thì phải nhớ được máy này đã bắt đầu từ bao giờ. Bản ghi ấy gồm
đúng hai thứ: một mã ngẫu nhiên và một ngày.
Vì sao báo cáo nội dung là ngoại lệ duy nhất của câu “máy chủ không giữ bài của bạn”.
Nút báo cáo có mặt để bạn nói được rằng một lời giải sai hoặc không phù hợp. Một báo cáo không kèm chính
nội dung ấy thì chúng tôi mở ra chỉ thấy một mã và không kiểm được gì — tức là một nút không dẫn tới đâu.
Nên bản ghi này chỉ sinh ra khi bạn tự bấm, nó mang phần chữ của bài,
không kèm ảnh bạn đã chụp, và nó tự xoá sau 90 ngày. Chính màn hình báo cáo cũng nói
lại điều này trước khi bạn bấm Gửi.
Ngoài ra hệ thống giữ một bộ đếm tổng theo ngày cho toàn bộ dịch vụ (dùng cho cầu dao chống quá tải).
Bộ đếm này không gắn với máy nào cả và tự xoá sau ba ngày.
5. Dữ liệu ở lại trên máy bạn
Những thứ sau không bao giờ tự rời khỏi thiết bị:
- Ảnh bài tập đã chụp;
- Lời giải, sổ tay, ghi chú viết tay và bản ghi âm lời giảng;
- Tên hiển thị bạn tự đặt và ngôn ngữ bạn chọn.
Bản ghi âm không được chép thành chữ và không được gửi đi đâu — micro chỉ ghi ra
một tệp nằm trong vùng lưu trữ riêng của ứng dụng.
- Trên iPhone và iPad: ba lớp bảo vệ — mã hoá cấp tệp của iOS (máy khoá là không
đọc được), loại khỏi sao lưu iCloud và iTunes, và cất ngoài thư mục mà ứng dụng
Tệp nhìn thấy.
- Trên Android: dữ liệu nằm trong vùng lưu trữ riêng của ứng dụng, ứng dụng khác
không đọc được. Chúng tôi tắt hẳn sao lưu tự động và chuyển máy
(
allowBackup=false), nên vở và bài của bạn không đi lên Google Drive.
Đổi lại, đây là lựa chọn có giá: dữ liệu không tự sang máy mới. Muốn mang sổ tay đi
thì dùng chức năng xuất tệp trong ứng dụng.
Bạn xoá chúng bất cứ lúc nào bằng Cài đặt → Xoá hết và bắt đầu lại, hoặc bằng cách gỡ ứng dụng.
6. Đo đạc và báo cáo sự cố
Ứng dụng dùng Firebase Analytics và Firebase Crashlytics của Google để biết
tính năng nào được dùng và chỗ nào hay hỏng.
Ở Khu vực Kinh tế châu Âu và ở Anh, phần đo đạc hành vi bị tắt hẳn — từ bản 1.0.1 trở đi.
Nói rõ số hiệu bản vì nó chưa đúng với mọi người ngay lúc này: bản 1.0 đang có trên App Store
vẫn đo ở châu Âu, còn bản 1.0.1 thì chính chúng tôi đã rút khỏi hàng duyệt ngày 16/09/2026 để gộp thêm phần châu Mỹ. Nghĩa là phần tắt đo đạc ở châu Âu sẽ tới cùng bản kế tiếp, chưa phải hôm nay. Chúng tôi viết ra điều đó thay vì chờ duyệt xong
mới sửa trang, vì một trang quyền riêng tư nói trước một điều chưa xảy ra thì cũng là nói sai.
Từ 1.0.1: tắt sẵn, ngay từ lần mở ứng dụng đầu tiên, và không có hộp thoại nào hiện lên cả. Chúng tôi chọn cách
này thay vì dựng một hộp xin đồng ý vì sản phẩm này bán bằng câu “không tài khoản, máy chủ không giữ bài của
bạn”, mà một hộp xin theo dõi ở màn hình đầu tiên thì nói ngược lại đúng câu ấy. Ứng dụng nhận biết vùng qua
cài đặt vùng của máy; nó không xin quyền vị trí. Máy không khai vùng thì ứng dụng
coi như đang ở châu Âu và cũng tắt.
Crashlytics thì vẫn chạy ở mọi nơi, vì báo cáo sập là thứ giữ cho ứng dụng dùng được, và
nó không mang danh tính của bạn — mã máy không bao giờ được gửi sang Crashlytics.
Những gì thực sự được gửi: màn hình nào được mở, một lượt giải thành công hay thất bại, có bấm mua gói
hay không, báo cáo sập kèm dòng mã gây lỗi, và một mã cài đặt do Firebase sinh cho mỗi lần cài đặt.
Danh mục sự kiện là một danh sách đóng, có kiểm thử tự động khoá lại: không sự kiện nào mang theo
ảnh, đề bài, lời giải hay câu hỏi của bạn.
- Trên iPhone và iPad: chúng tôi nhúng bản Firebase không có phần đọc mã quảng
cáo (IDFA), và ứng dụng không hỏi hộp “Cho phép theo dõi” vì không có gì để
theo dõi. Theo phân loại của Apple, phần trên là Product Interaction,
Purchase History, Crash Data và Device ID — tất cả đều khai là
không liên kết với danh tính và không dùng để theo dõi.
- Trên Android: vì bản này có quảng cáo nên bộ thư viện của Google
có đọc mã quảng cáo của máy (Advertising ID). Xem mục 8.
7. Mua gói
Chúng tôi không nhìn thấy và không lưu số thẻ, địa chỉ hay tên chủ thẻ. Sau khi bạn mua,
cửa hàng trả về một chứng từ đã ký; ứng dụng gửi chứng từ đó lên máy chủ để mở quyền cho mã máy của bạn.
Chứng từ chứa mã sản phẩm và ngày hết hạn — không chứa thông tin thanh toán.
- Trên iPhone và iPad: giao dịch đi qua App Store của Apple.
- Trên Android: giao dịch đi qua Google Play. Quyền lợi gắn với
tài khoản Google bạn đang đăng nhập trên máy, nên đổi máy chỉ cần đăng nhập lại rồi bấm
Khôi phục giao dịch.
8. Quảng cáo — chỉ có ở bản Android
Bản Android miễn phí có quảng cáo. Bản iOS không có quảng cáo dưới
bất kỳ hình thức nào. Đây là khác biệt có chủ ý giữa hai bản, không phải phần chưa làm.
Người đã mua gói không thấy quảng cáo ở bất kỳ chỗ nào, và với họ bộ thư viện quảng
cáo không được khởi động — nghĩa là không có lượt đọc mã quảng cáo nào cả.
Với người dùng bản Android miễn phí, quảng cáo do Google AdMob phân phối. AdMob đọc
mã quảng cáo của máy (Advertising ID) để chọn quảng cáo và đo lượt hiển thị, và mã ấy
được chia sẻ với mạng quảng cáo. Đó là dữ liệu duy nhất trong cả hệ thống được chia sẻ
ra ngoài theo nghĩa ấy, và chúng tôi khai đúng như vậy ở mục An toàn dữ liệu trên Google Play.
- Xếp hạng nội dung quảng cáo tối đa là “T” (Teen) — đặt trong mã, áp cho mọi lượt
hiển thị. Cờ bạc, hẹn hò và đồ uống có cồn bị chặn ở mức này.
- Không có quảng cáo trong luồng chụp – cắt – xác nhận, giữa lời giải,
ở màn bán gói, và lúc bạn đang soạn trang sổ tay.
- Nếu bạn ở Châu Âu, Anh hoặc Thuỵ Sĩ, ứng dụng hỏi ý bạn về quảng cáo cá nhân hoá
ngay lần mở đầu tiên. Bạn đổi ý bất cứ lúc nào ở Cài đặt → Tuỳ chọn quảng cáo.
- Ở mọi nơi, bạn có thể đặt lại hoặc xoá mã quảng cáo trong Cài đặt của Android → Google →
Quảng cáo. Việc này nằm ngoài ứng dụng của chúng tôi và chúng tôi không can thiệp được.
Chính sách quyền riêng tư của Google, áp dụng cho phần quảng cáo và phần đo đạc:
policies.google.com/technologies/partner-sites.
9. Trẻ em
Người dùng dự kiến của ứng dụng là học sinh phổ thông. Trên Google Play chúng tôi khai đối tượng từ 13 tuổi trở lên. App Store không có ô khai tương tự: ở đó ứng dụng mang xếp hạng 4+, nghĩa là nội dung không có gì không phù hợp với trẻ nhỏ — chứ không có nghĩa nó nhắm tới trẻ 4 tuổi. Chúng tôi nói rõ chỗ khác nhau này vì trang trước đây viết “khai 13+ trên cả hai gian hàng”, mà với App Store thì câu ấy không đúng. Dù ở gian hàng nào, ứng dụng cũng:
- không có tính năng mạng xã hội, không có kênh chat giữa người dùng với nhau;
- không yêu cầu và không thu thập họ tên, tuổi, trường lớp, địa chỉ hay ảnh chân dung;
- không theo dõi bạn giữa các ứng dụng hay trang web để dựng hồ sơ cá nhân.
Nếu con bạn dưới 13 tuổi, chúng tôi đề nghị dùng bản iOS — bản đó không có quảng cáo —
hoặc mua gói ở bản Android, vì người đã mua gói không thấy quảng cáo ở bất kỳ chỗ nào.
Việc mua gói do phụ huynh kiểm soát được: Hỏi khi mua (Ask to Buy) trong Chia sẻ trong Gia đình
của Apple, và Yêu cầu xác thực trong Google Play.
Nếu bạn là phụ huynh và muốn chúng tôi xoá bản ghi gắn với máy của con mình, xin xem mục 11.
10. Chúng tôi chia sẻ dữ liệu với ai
Chúng tôi không bán và không cho thuê dữ liệu. Danh sách đầy đủ những nơi dữ liệu đi tới:
| Bên nhận | Nhận gì | Để làm gì |
| Google Cloud — Vertex AI | Ảnh bài tập, câu hỏi | Đọc đề và dựng lời giải |
| Google Cloud — Firestore, Cloud Run | Mã máy, bộ đếm lượt, hạn gói, báo cáo nội dung | Chạy máy chủ, đếm lượt, nhận báo cáo |
| Google — Firebase Analytics, Crashlytics | Sự kiện dùng ứng dụng, báo cáo sập | Sửa lỗi và cải thiện sản phẩm |
| Google AdMob (chỉ bản Android miễn phí) | Mã quảng cáo của máy | Chọn và đo quảng cáo |
| Apple (bản iOS) · Google Play (bản Android) | Giao dịch mua gói | Thanh toán và quản lý thuê bao |
Chúng tôi cũng có thể tiết lộ dữ liệu nếu pháp luật buộc phải làm vậy — nhưng phần lớn thứ người ta
hay yêu cầu (nội dung bài tập, lịch sử học) thì chúng tôi không có để mà đưa.
11. Quyền của bạn
- Xoá dữ liệu trên máy: Cài đặt → Xoá hết và bắt đầu lại. Thao tác này xoá cả
ảnh, lời giải và sổ tay, và không hoàn tác được.
- Xoá bản ghi trên máy chủ: gửi email tới
congvt@mobiluck.vn kèm mã máy của bạn
(mở Cài đặt → Pháp lý & hỗ trợ → Mã máy, chạm để chép). Chúng tôi xoá trong vòng
30 ngày và trả lời khi xong — kể cả các báo cáo nội dung bạn đã gửi. Lưu ý: xoá mốc
dùng thử sẽ làm mất luôn quyền “một bài mỗi ngày” đã tích luỹ nếu bạn chưa mua gói.
- Xem mình có gì: cũng qua email trên, kèm mã máy.
- Đổi ý về quảng cáo cá nhân hoá (bản Android):
Cài đặt → Tuỳ chọn quảng cáo. Hàng này hiện khi luật ở nơi bạn ở yêu cầu hỏi ý bạn.
Ngoài ra bạn đặt lại hoặc xoá mã quảng cáo được trong Cài đặt của Android.
- Rút khỏi phần đo đạc: gỡ ứng dụng sẽ dừng mọi sự kiện. Hiện chưa có công tắc riêng
trong ứng dụng; nếu bạn cần, hãy viết thư cho chúng tôi.
Chúng tôi không thể xác minh danh tính bạn theo cách thông thường (vì không có tài khoản), nên mã máy
chính là thứ duy nhất chứng minh yêu cầu đến từ đúng thiết bị đó.
12. Nếu bạn ở Hoa Kỳ, Brazil hay Canada
Các mục trên áp dụng cho mọi người dùng. Mục này nói thêm ba điều mà luật ở
ba nơi ấy đòi phải nói rõ.
Hoa Kỳ — COPPA. Luật này đòi có sự đồng ý của cha mẹ trước khi
thu thập thông tin cá nhân của trẻ dưới 13 tuổi, kể cả định danh bền vững
như mã thiết bị dùng cho đo đạc. Ứng dụng không hỏi tên, tuổi, trường lớp hay địa
chỉ của ai, và bản iOS không có quảng cáo. Nhưng ở Hoa Kỳ phần đo đạc hành vi
(Firebase Analytics) hiện vẫn bật, và ứng dụng chưa hỏi tuổi
người dùng — nên chúng tôi chưa thể nói là đã có đồng ý của phụ huynh. Chúng tôi
đang làm hai việc để đóng chỗ này: thêm một câu hỏi tuổi lúc mở ứng dụng, và tắt
đo đạc cho ai khai dưới 13 — đúng cơ chế đã dùng cho châu Âu. Trong lúc chờ, phụ
huynh viết thư tới địa chỉ ở mục 15 là chúng tôi xoá bản ghi gắn với máy của con
mình.
Brazil — LGPD. Cơ sở pháp lý của chúng tôi là lợi ích chính
đáng cho phần vận hành ứng dụng, và là thực hiện hợp đồng cho phần mua gói. Điều
14 của LGPD đòi sự đồng ý riêng và rõ ràng của cha mẹ đối với dữ liệu trẻ em; chỗ
này giống hệt phần COPPA ở trên và cùng chờ một bản sửa. Người ở Brazil có quyền
biết, sửa, xoá và mang dữ liệu đi — thực hiện qua mục 11. Đầu mối phụ trách dữ
liệu là địa chỉ ở mục 15.
Canada — PIPEDA và Luật 25 của Québec. Chúng tôi không bán và
không trao đổi dữ liệu cá nhân, không có quyết định tự động nào ảnh hưởng tới
bạn, và không có hồ sơ người dùng nào ở máy chủ để mà hợp nhất. Bản tiếng Pháp
của trang này và của ứng dụng đang được làm; tới khi xong, người ở Québec đọc
bản tiếng Anh hoặc viết thư cho chúng tôi bằng tiếng Pháp — chúng tôi trả lời
bằng tiếng Pháp.
Chúng tôi viết ra cả phần chưa làm xong thay vì chỉ liệt kê tên luật, vì một
trang quyền riêng tư kể tên một đạo luật mà không nói mình đứng ở đâu so với nó
thì không giúp được ai.
13. Dữ liệu được lưu ở đâu
Máy chủ và cơ sở dữ liệu đặt tại vùng asia-southeast1 (Singapore) của
Google Cloud — đây là nơi duy nhất chúng tôi lưu dữ liệu, và dữ liệu được lưu là những thứ liệt kê ở
mục 4.
Mô hình thì khác: lượt gọi mô hình đi qua điểm cuối toàn cầu của Google Vertex AI,
nên phần xử lý ấy có thể diễn ra ngoài Singapore. Nó là xử lý tức thời — không có gì được
lưu lại ở bước này, kể cả ảnh và lời giải. Chúng tôi nói rõ điều này thay vì nói gọn "mọi thứ ở
Singapore", vì câu gọn ấy sẽ không còn đúng.
14. Thay đổi chính sách
Khi có thay đổi đáng kể, chúng tôi cập nhật ngày hiệu lực ở đầu trang và ghi rõ điều gì đã đổi.
Bản 15/09/2026 — phần đo đạc hành vi nay tắt hẳn ở Khu vực Kinh tế châu Âu và ở
Anh, ngay từ lần mở đầu tiên, và không có hộp xin đồng ý nào (mục 6). Crashlytics giữ nguyên.
Bản 09/09/2026 — sửa lại chỗ nói về nơi mô hình chạy. Bản trước viết rằng
máy chủ, cơ sở dữ liệu và mô hình đều ở Singapore. Nay lượt gọi mô hình đi qua điểm cuối toàn cầu của
Google Vertex AI, nên phần xử lý ấy có thể diễn ra ngoài Singapore (mục 4 và mục 13). Nơi lưu
dữ liệu không đổi: vẫn chỉ Singapore, và vẫn chỉ những thứ liệt kê ở mục 4.
Bản 08/09/2026 — bản này mô tả cả bản Android bên cạnh bản iOS. Ba điều được thêm vào:
phần quảng cáo của bản Android (mục 8), bản ghi báo cáo nội dung (mục 4), và cách mã máy được
cất trên Android (mục 2). Bản trước, ngày 27/08/2026, chỉ nói về bản iOS.
15. Liên hệ
MOBILUCK COMPANY LIMITED
Email: congvt@mobiluck.vn
Dự phòng: mobiluckvn@gmail.com
The whole thing in seven lines.
- The app has no accounts. We don't know your name, email or phone number.
- Photos of problems go to our server to be solved and are thrown away immediately —
not stored, not written to logs.
- Photos, solutions and notebooks stay on your device and sync nowhere.
- The server keeps only a random device code with a usage counter and a plan expiry date.
- The free Android app shows ads; the iOS app does not. That is why the Android
app reads your device's advertising ID — see section 8.
- When you tap the report button on a solution, the text of that problem is sent to us and
kept for 90 days. Apart from that tap, the server keeps no homework at all.
- “Erase everything and start over” in Settings wipes everything on the device.
1. Who processes your data
MagicMath Solver (package com.mobiluck.magicmath, on the App Store and
Google Play) is published by CÔNG TY TNHH MOBILUCK (MOBILUCK COMPANY
LIMITED, company registration number 0109111491, registered at Floor 9, Tower C, Ho Guom
Plaza, 102 Tran Phu Street, Ha Dong Ward, Hanoi, Vietnam). This is also the data
controller within the meaning of the GDPR. Full provider identification is on the
Provider information page. Privacy questions go to
congvt@mobiluck.vn
(backup: mobiluckvn@gmail.com).
This page covers both versions of the app. Where they differ, it says so — and there
are three such places: how the device code is stored, advertising, and the store that sells plans.
2. There are no user accounts
You don't register, don't sign in, and don't need any account to solve problems. The first time you
open the app your device generates a random string (we call it the device code).
That is the entire identity this system has for you.
The device code is not derived from an IMEI, a serial number or any device characteristic, so it
cannot be traced back to you, and no other app shares it.
- On iPhone and iPad: it lives in the Keychain, so it survives uninstalling the app.
- On Android: it lives in the app's private storage. Uninstalling loses it, and a
reinstall generates a new one — the system has no way to know it is still you. We
deliberately do not anchor the device code to a persistent device identifier,
because that would turn a random string into something that can track you.
3. What happens when you photograph a problem
- The app shrinks the photo on your device.
- The shrunken photo, your chosen language and the device code are sent to our server over HTTPS.
- The server forwards the photo to Google Vertex AI (Gemini models) to read the
problem and build a solution. This call goes through Vertex AI's global
endpoint, which means Google may process it in a data centre outside Singapore. The photo only
exists in memory for that call: Google does not use it to train models, and our server does not
keep it.
- The solution comes back to your device. The server does not store the photo, the problem
or the solution, and does not write them to system logs.
Under Google Cloud's terms for Vertex AI, customer data sent through the service
is not used to train foundation models.
The question-and-answer feature works the same way: your question passes through the server to the
model and back, leaving nothing in between.
Text detection in photos runs on your device. The crop frame snapping to blocks of
text is the app reading the image locally; that step makes no network call.
4. Exactly what the server keeps
Only these five kinds of record, all keyed by the random device code:
| Record | Contains | Kept for |
| Usage counter | Problems solved today | 24 hours, then deleted automatically |
| Trial start | The first day this device opened the app | No expiry — see below |
| Plan expiry | When the subscription runs out | While the plan is active |
| Anti-abuse pacing | Timestamp of the most recent call | 1 hour |
| Content report |
Only when you tap the report button: the text of the reported problem, the reason
you picked, anything you typed, and the app version |
90 days, then deleted automatically |
Why the trial start has no expiry. After the trial, the app still gives you one problem
a day, forever. Keeping that promise means remembering when this device started. That record holds exactly
two things: a random code and a date.
Why content reports are the single exception to “the server keeps no homework”.
The report button exists so you can tell us a solution is wrong or inappropriate. A report without the
content itself would arrive as a bare code with nothing to check — a button that leads nowhere. So this
record is created only when you tap it, it carries the text of the
problem, it does not include the photo you took, and it deletes itself after 90 days.
The report screen says all of this before you press Send.
The system also keeps a service-wide daily counter (for the overload circuit breaker). That counter
is not tied to any device and deletes itself after three days.
5. Data that stays on your device
These never leave the device on their own:
- Photos of problems you took;
- Solutions, notebooks, handwritten notes and lesson recordings;
- The display name you chose and your language.
Recordings are not transcribed and are not sent anywhere — the microphone only writes
a file into the app's private storage.
- On iPhone and iPad: three layers — iOS file-level encryption (unreadable while the
device is locked), excluded from iCloud and iTunes backups, and stored outside the
folder the Files app can see.
- On Android: the data lives in the app's private storage, which other apps cannot
read. We turn off automatic backup and device transfer entirely
(
allowBackup=false), so your notebook and your work never reach Google Drive.
That choice has a price: your data does not follow you to a new device. To carry your
notebook across, use the export feature in the app.
You can erase all of it at any time with Settings → Erase everything and start over, or by
uninstalling the app.
6. Analytics and crash reporting
The app uses Google's Firebase Analytics and Firebase Crashlytics to
learn which features get used and where things break.
In the European Economic Area and in the United Kingdom, behavioural analytics is switched off
entirely — from version 1.0.1 onwards. We name the version because it is not yet true for everyone:
version 1.0, the one currently on the App Store, still collects in Europe, and 1.0.1
was withdrawn from the review queue by us on 16 September 2026, to fold in the Americas work. The European analytics switch-off therefore arrives with the next version, not today. We say so rather than waiting for approval before updating this page, because a
privacy policy that describes something which has not happened yet is also saying something untrue.
From 1.0.1: off from the very first launch, with no dialog shown at all. We chose this over building a consent prompt because this product is sold on the promise of “no account,
the server keeps none of your work”, and a tracking-consent box on the first screen contradicts exactly that
promise. The app reads your device region setting to tell where it is; it does
not ask for location permission. If the device reports no region, the app assumes Europe and
switches analytics off too.
Crashlytics keeps running everywhere, because crash reports are what keep the app usable,
and they carry no identity of yours — your device code is never sent to Crashlytics.
What is actually sent: which screens were opened, whether a solve succeeded or failed, whether the
purchase screen was tapped, crash reports with the failing line of code, and an installation ID that
Firebase generates per install. The event catalogue is a closed list, locked down by an automated
test: no event carries your photos, problems, solutions or questions.
- On iPhone and iPad: we link the Firebase build without the advertising-identifier
component (IDFA), and the app never shows the “Allow tracking” prompt because
there is nothing to track. In Apple's taxonomy the above is Product Interaction,
Purchase History, Crash Data and Device ID — all declared as
not linked to identity and not used for tracking.
- On Android: because that version shows ads, Google's libraries
do read the device's advertising ID. See section 8.
7. Purchases
We never see or store card numbers, addresses or cardholder names. After you buy, the
store returns a signed receipt; the app sends that receipt to our server to unlock the plan for your
device code. The receipt contains a product ID and an expiry date — no payment details.
- On iPhone and iPad: purchases go through Apple's App Store.
- On Android: purchases go through Google Play. Entitlements belong
to the Google account signed in on the device, so on a new device you sign in and tap
Restore purchases.
8. Advertising — Android only
The free Android app shows ads. The iOS app contains no advertising of
any kind. This is a deliberate difference between the two, not an unfinished port.
People who bought a plan see no ads anywhere, and for them the ads library is
never initialised — meaning no advertising ID is read at all.
For users of the free Android app, ads are served by Google AdMob. AdMob reads the
device's advertising ID to select ads and measure impressions, and that ID
is shared with the ad network. It is the only piece of data in the whole system that is
shared in that sense, and we declare it exactly that way in the Google Play Data safety section.
- Maximum ad content rating is “T” (Teen) — set in code, applied to every request.
Gambling, dating and alcohol are excluded at that level.
- No ads appear during the photograph–crop–confirm flow, inside a
solution, on the purchase screen, or while you are writing a notebook page.
- If you are in the EEA, the UK or Switzerland, the app asks for your choice about
personalised advertising the first time you open it. You can change your mind at any time under
Settings → Ad settings.
- Anywhere in the world you can reset or delete your advertising ID under Android Settings →
Google → Ads. That is outside our app and we cannot override it.
Google's own privacy policy, which covers the advertising and analytics parts:
policies.google.com/technologies/partner-sites.
9. Children
The app is meant for school students. On Google Play we declare an audience of 13 and over. The App Store has no equivalent field: there the app carries a 4+ rating, which means the content holds nothing unsuitable for young children — not that it is aimed at four-year-olds. We spell out the difference because this page used to say “13 and over on both stores”, and for the App Store that was not true. On either store, the app:
- has no social features and no user-to-user chat;
- never asks for or collects names, ages, schools, addresses or photographs of people;
- does not track you across other apps or websites to build a profile.
If your child is under 13, we suggest the iOS version — it has no ads — or a paid plan
on Android, since anyone with a plan sees no ads anywhere.
Purchases stay under a parent's control: Ask to Buy in Apple Family Sharing, and
Require authentication in Google Play.
If you are a parent and want the record tied to your child's device deleted, see section 11.
10. Who we share data with
We do not sell or rent data. This is the complete list of where data goes:
| Recipient | Receives | Purpose |
| Google Cloud — Vertex AI | Photos of problems, questions | Reading problems and building solutions |
| Google Cloud — Firestore, Cloud Run | Device code, usage counters, plan expiry, content reports | Running the server, counting usage, receiving reports |
| Google — Firebase Analytics, Crashlytics | Usage events, crash reports | Fixing bugs and improving the product |
| Google AdMob (free Android app only) | The device's advertising ID | Selecting and measuring ads |
| Apple (iOS) · Google Play (Android) | Purchase transactions | Payment and subscription management |
We may also disclose data where the law requires it — but most of what people ask for (homework content,
study history) we simply do not have.
11. Your rights
- Erase on-device data: Settings → Erase everything and start over. This also
removes photos, solutions and notebooks, and cannot be undone.
- Erase server records: email
congvt@mobiluck.vn with your device code
(Settings → Legal & support → Device code, tap to copy). We erase within
30 days and reply when it's done — including any content reports you sent. Note:
erasing the trial start also gives up the accumulated “one problem a day” right if you have no plan.
- See what we hold: same address, with your device code.
- Change your mind about personalised ads (Android):
Settings → Ad settings. That row appears where the law in your location requires the
question to be asked. You can also reset or delete your advertising ID in Android's own settings.
- Opt out of analytics: deleting the app stops all events. There is currently no
separate switch in the app; if you need one, write to us.
We cannot verify your identity the usual way (there are no accounts), so the device code is the only
thing that shows a request comes from that device.
12. If you are in the United States, Brazil or Canada
Everything above applies to everyone. This section adds three things the law in
those places asks us to state plainly.
United States — COPPA. The law requires a parent's consent before
collecting personal information from a child under 13, including a persistent
identifier such as the device id used for analytics. The app never asks for
anyone's name, age, school or address, and the iOS version carries no advertising.
But in the United States behavioural analytics (Firebase Analytics) is
still switched on, and the app does not ask the user's age — so we
cannot claim to have a parent's consent. Two changes are underway to close this:
an age question at first launch, and analytics switched off for anyone who says
they are under 13, using the same mechanism already built for Europe. Until then, a
parent who writes to the address in section 15 can have the record tied to their
child's device deleted.
Brazil — LGPD. Our legal basis is legitimate interest for running
the app, and performance of a contract for purchases. Article 14 requires specific,
prominent parental consent for children's data; this is the same gap described under
COPPA above and waits on the same fix. People in Brazil may access, correct, delete
and port their data through section 11. The contact point responsible for data is
the address in section 15.
Canada — PIPEDA and Québec's Law 25. We do not sell or trade
personal data, no automated decision affects you, and there is no server-side user
profile to combine with anything. A French version of this page and of the app is in
progress; until it ships, people in Québec can read the English version or write to
us in French — we will answer in French.
We describe the parts that are not finished rather than just listing statute names,
because a privacy page that names a law without saying where it stands against that
law helps nobody.
13. Where data is stored
Servers and database sit in Google Cloud's asia-southeast1 (Singapore)
region. That is the only place we store data, and what we store is the list in section 4.
Models are different: model calls go through Google Vertex AI's global endpoint, so
that processing may happen outside Singapore. It is transient processing — nothing is kept at
this step, not the photo and not the solution. We spell this out rather than saying "everything is in
Singapore", because that shorter sentence would no longer be true.
14. Changes to this policy
When something material changes we update the effective date at the top and say what changed.
15 September 2026 — behavioural analytics is now switched off entirely in the EEA
and the UK, from first launch, with no consent dialog (section 6). Crashlytics is unchanged.
9 September 2026 — corrects what we say about where the model runs. The
previous version said servers, database and models were all in Singapore. Model calls now go through
Google Vertex AI's global endpoint, so that processing may happen outside Singapore (sections 4 and 13).
Where data is stored has not changed: still Singapore only, and still only the items listed in
section 4.
8 September 2026 — this version describes the Android app alongside the iOS one.
Three things were added: advertising in the Android app (section 8), the content report record
(section 4), and how the device code is stored on Android (section 2). The previous version, dated
27 August 2026, covered only the iOS app.
15. Contact
MOBILUCK COMPANY LIMITED
Email: congvt@mobiluck.vn
Backup: mobiluckvn@gmail.com