Chính sách quyền riêng tư — Uke Flow

Cập nhật: 31/07/2026 · Áp dụng cho ứng dụng Android com.mittohoa.ukeflow do Mít tờ Hoà (mittohoa@gmail.com) phát triển.

Uke Flow là app học đàn ukulele. Trang này nói rõ app lưu gì, để làm gì, ở đâu, bao lâu và bạn xoá bằng cách nào. Không có đoạn nào dài dòng hơn mức cần thiết.

1. Không tài khoản: mọi thứ nằm trên máy bạn

Bạn không cần tài khoản để dùng app. Ở chế độ này, không có dữ liệu nào rời khỏi điện thoại: lịch sử tập, độ thành thạo hợp âm, chuỗi ngày, cài đặt — tất cả nằm trong một tệp SQLite và SharedPreferences trên máy. Gỡ app là mất hết. App không có quảng cáo, không thư viện theo dõi/analytics.

2. Có tài khoản (tuỳ chọn): đồng bộ nhiều thiết bị

Nếu bạn đăng ký bằng email và bật Đồng bộ, dữ liệu dưới đây được lưu trên máy chủ Supabase do nhà phát triển vận hành (khu vực máy chủ theo cấu hình dự án, dữ liệu mã hoá khi truyền bằng HTTPS):

Dữ liệuMục đíchLưu bao lâu
Email và mật khẩu (mật khẩu chỉ lưu dạng băm bởi Supabase Auth)Đăng nhập, khôi phục dữ liệu trên máy mớiĐến khi bạn xoá tài khoản
Lịch sử luyện tập: buổi tập (bài, thời lượng, điểm), hợp âm/chuyển hợp âm nghe được (chỉ tên hợp âm — không audio), phút tập theo ngày, thử thách đã làm, mốc bài họcĐồng bộ giữa các thiết bị của bạn; khôi phục khi đổi máyĐến khi bạn xoá lịch sử hoặc xoá tài khoản
Mã thiết bị ngẫu nhiên do app tự sinh (không phải IMEI/Android ID)Không cộng trùng số liệu giữa các máy khi đồng bộCùng vòng đời với dữ liệu đồng bộ

Bạn cũng có thể trỏ app vào project Supabase của chính bạn (Cá nhân → Đồng bộ & sao lưu → Nhập tay/QR). Khi đó dữ liệu đi vào hạ tầng của bạn, không phải của nhà phát triển.

3. HLV AI (tuỳ chọn) — dùng key Gemini của chính bạn

Tính năng này chỉ chạy khi bạn tự dán key Google Gemini của bạn vào app (Cá nhân → HLV AI; key miễn phí lấy tại aistudio.google.com/apikey, app có hướng dẫn từng bước và nút dán từ bộ nhớ tạm). Chưa có key, app hiện lời nhắc cài đặt thay vì nhận xét — không gửi gì đi.

Khi có key và HLV AI đang bật: sau một buổi tập có chấm điểm, app gửi số liệu của đúng buổi tập đó — tên bài, số phút, 5 điểm thành phần, danh sách hợp âm bấm sai (tên), cặp chuyển chậm nhất, BPM — thẳng từ điện thoại tới Google (API Gemini) bằng key của bạn, để mô hình viết vài câu góp ý. Không đi qua máy chủ của Uke Flow; nhà phát triển không thấy, không lưu. Không gửi audio, không gửi email/tên, không gửi lịch sử cả đời. Google xử lý theo điều khoản API Gemini của họ (bậc miễn phí có thể dùng dữ liệu để cải thiện dịch vụ — hãy đọc điều khoản đó).

Key được lưu trong kho an toàn của hệ điều hành trên máy bạn, không đồng bộ, không gửi cho Uke Flow. Bạn xoá key, tắt công tắc, hoặc gỡ app là hết. Nội dung do AI sinh ra có thể sai — mỗi nhận xét có nút Báo cáo.

4. Quyền Android app xin và lý do

QuyềnDùng choNếu từ chối
MicroMáy lên dây và nhận diện hợp âm để chấm điểm. Âm thanh xử lý ngay trên máy rồi bỏ; không ghi file, không gửi đi.Lên dây và chấm điểm tắt; phần còn lại chạy bình thường.
CameraQuét mã QR cấu hình đồng bộ từ máy khác. Không chụp, không lưu ảnh.Nhập cấu hình bằng tay.
Thông báoNhắc tập hằng ngày vào giờ bạn chọn — thông báo cục bộ, không qua máy chủ. Chỉ hỏi khi bạn bật tính năng.Không có lời nhắc.
Khởi động cùng máyGiữ lịch nhắc sau khi khởi động lại điện thoại.Lời nhắc mất sau khi khởi động lại.
InternetChỉ dùng cho đồng bộ và HLV AI khi bạn bật.—

5. Xoá dữ liệu và xoá tài khoản

6. Trẻ em

App dành cho người từ 13 tuổi trở lên và không được thiết kế riêng cho trẻ em. App không thu thập dữ liệu nhằm mục đích nhận diện trẻ em.

7. Bên thứ ba được dùng

Dịch vụVai tròDữ liệu đi qua
SupabaseXác thực và cơ sở dữ liệu cho đồng bộ; hàm xoá tài khoảnMục 2
Google Gemini APISinh nhận xét HLV AI — gọi trực tiếp từ máy bạn bằng key của bạnSố liệu buổi tập (mục 3)
GitHub PagesTrang web nàyLog truy cập web chuẩn của GitHub

8. Thay đổi và liên hệ

Mọi thay đổi sẽ cập nhật tại trang này kèm ngày. Thắc mắc hay yêu cầu về dữ liệu: mittohoa@gmail.com.

Privacy Policy — Uke Flow

Updated: 31 July 2026 · Applies to the Android app com.mittohoa.ukeflow by Mít tờ Hoà (mittohoa@gmail.com).

Uke Flow is a ukulele learning app. This page says plainly what the app stores, why, where, for how long, and how you delete it.

1. Without an account: everything stays on your phone

You do not need an account. In that mode no data leaves the device: practice history, chord mastery, streaks and settings live in one SQLite file plus SharedPreferences on the phone. Uninstalling removes all of it. The app has no ads and no analytics/tracking libraries.

2. With an account (optional): multi-device sync

If you sign up with an email and turn on Sync, the data below is stored on a Supabase backend operated by the developer (encrypted in transit over HTTPS):

DataPurposeRetention
Email and password (password stored only as a hash by Supabase Auth)Sign-in; restoring your data on a new deviceUntil you delete the account
Practice history: sessions (song, duration, scores), chords/transitions heard (chord names only — never audio), minutes per day, completed challenges, lesson milestonesSync across your devices; restore after a phone changeUntil you clear history or delete the account
A random device id generated by the app (not IMEI / Android ID)Avoid double-counting between your devicesSame lifetime as synced data

You may also point the app at your own Supabase project (Profile → Sync & backup → manual / QR). Data then goes to your infrastructure, not the developer's.

3. AI coach (optional) — with your own Gemini key

This feature runs only when you paste your own Google Gemini key into the app (Profile → AI coach; free key from aistudio.google.com/apikey, with step-by-step guidance and a paste-from-clipboard button in the app). Without a key the app shows a setup hint instead of a note — nothing is sent.

With a key and the coach switched on: after a scored session the app sends the numbers of that one session — song title, minutes, the five scores, misplayed chords (names), slowest transition, BPM — directly from your phone to Google (Gemini API) using your key, so the model can write a short note. It never passes through Uke Flow's servers; the developer cannot see or store it. No audio, no email or name, no lifetime history. Google processes it under its Gemini API terms (the free tier may use data to improve the service — read those terms).

The key lives in the operating system's secure store on your phone, is not synced and not sent to Uke Flow. Remove the key, switch the coach off, or uninstall — and it's gone. AI output can be wrong — every note has a Report button.

4. Android permissions and why

PermissionUsed forIf denied
MicrophoneTuner and chord recognition for scoring. Audio is processed on-device and discarded; never recorded to a file or sent.Tuner and scoring are off; everything else works.
CameraScanning a sync-setup QR code from another phone. No photos taken or stored.Enter the configuration by hand.
NotificationsDaily practice reminder at a time you pick — a local notification, no server. Only requested when you enable it.No reminders.
Boot completedKeeps the reminder scheduled after a restart.Reminder lost after reboot.
InternetOnly for sync and the AI coach, when enabled.—

5. Deleting data and your account

6. Children

The app is intended for users 13 and older and is not designed for children. It does not collect data to identify children.

7. Third parties

ServiceRoleData involved
SupabaseAuthentication and database for sync; account-deletion functionSection 2
Google Gemini APIGenerates the AI coach note — called directly from your phone with your keySession numbers (section 3)
GitHub PagesHosts this websiteGitHub's standard web access logs

8. Changes and contact

Changes are posted here with a date. Questions or data requests: mittohoa@gmail.com.