Your data stays on your deviceDữ liệu của bạn ở lại trên máy
What we DON'T collect — the important part
DetoxBrain is an app about your screen time. That makes your usage data the most sensitive thing we could possibly touch: it draws a portrait of your behaviour, hour by hour. So we don't touch it.
- ❌ Your screen-time data never leaves your device. Which apps you open, for how long, how many times, at what hour — all of it is measured and stored on your phone (Apple SwiftData / Android Room) and goes nowhere else. We don't collect it, and our backend has no endpoint that receives it — the only server-side component is a purchase webhook, and the app links no Firebase Auth, Firestore or Functions SDK at all — there is no client code that could send anything to a backend of ours. There is no "just for debugging" exception.
- ❌ Your blocklist never leaves your device. On iOS, the apps you pick are represented by opaque, device-scoped tokens from Apple's Family Controls framework — they cannot be turned back into an app name even by us. On Android they are package names, and they still stay on the phone.
- ❌ Screen Time data stays on your device — by our design, and with the platform making it hard to do otherwise. Apple confines the detailed usage report to a sandboxed extension that has no network access and cannot hand its data back to the app, and the Family Controls entitlement we operate under forbids transmitting this data at all. On top of Apple's constraints we hold our own: no endpoint that receives it, no network SDK linked into our extensions, and nothing in those extension processes that could phone home even by mistake — their build configuration links system frameworks only.
- ❌ We never log an app name to analytics or crash reports. Analytics records categories, duration buckets and event counts only.
- ❌ We don't collect: screen contents, screenshots, keystrokes, contacts, calendar, SMS, call logs, location, browsing history, health data, photos, audio, or files.
- ❌ If you set up an NFC tag (an optional way to make ending a strict session require a physical tap), only a one-way hash of the tag's identifier is stored on your device — never the raw identifier, and never transmitted anywhere.
- ❌ The Apple Watch app receives no usage data. Your phone sends it your streak, your brain-health score, whether a focus session is running, when it ends, and the language you picked. Never minutes of use, never an app name, never a blocklist token.
- ❌ We don't collect your advertising ID (IDFA / GAID). DetoxBrain shows no ads and ships no ad SDK, so there is nothing to read and no ATT prompt to answer. We do measure whether an ad brought you to install us, but only through privacy-preserving methods that never touch an advertising identifier: Apple's AdServices attribution token and SKAdNetwork. (Showing ads inside the app is still undecided and may never happen.)
- ❌ We never sell your data. There is nothing here to sell.
Data we do collect
| Data | When | Where it's stored | Linked to you? |
|---|---|---|---|
| Purchase receipt / entitlement state | When you buy or restore Premium | RevenueCat (plus Apple's own receipt) | To an anonymous RevenueCat ID — DetoxBrain has no accounts |
| Crash logs & stability diagnostics | Whenever the app crashes or misbehaves. This is the one thing with no switch in the app — see Consent below. | Firebase Crashlytics | Pseudonymous |
| In-app analytics events (tab opened, paywall shown, trial started, purchase) | On by default; turn it off any time in Settings → Privacy. Used to improve the app and to measure our ad campaigns (ROAS). | Firebase Analytics (Google) | Pseudonymous |
| Ad-campaign attribution (which ad, if any, led you to install) | When you install after tapping an Apple Search Ads or Google ad | Apple AdServices token → RevenueCat; Firebase → Google Ads. No advertising identifier (IDFA). | Pseudonymous |
We do not collect an email address, and there is no sign-in. DetoxBrain has no accounts at all: nothing you make in the app — your profiles, your schedules, your focus sessions, your stats — is uploaded anywhere, because there is nowhere for it to go. That is also why you will not find a "delete my account" button: there is no server-side record of you to delete. Uninstalling destroys everything.
Note on your app selection: the apps inside a blocking profile stay on the device too. On iOS they are opaque, device-scoped tokens from Apple's Family Controls framework — they cannot be turned back into an app name even by us — and we chose not to work around that on Android either.
Third-party services
| Service | Purpose | Data shared |
|---|---|---|
| Firebase (Google) | Crash reporting, analytics + ad-campaign measurement (ROAS via Google Ads) | Crash traces, event names, purchase events, a pseudonymous app-instance id. No email, no account, no user id of ours — we have none to send. |
| RevenueCat | Subscription receipt validation, entitlement state, Apple Search Ads attribution | Store receipt, an anonymous RevenueCat ID, Apple AdServices attribution token |
| Apple Search Ads (Apple) | Measuring whether an App Store search ad led to your install/purchase — privacy-preserving, no IDFA | AdServices attribution token (campaign, not you personally) |
None of them receives your screen-time data, your app list, or your blocklist. Neither do we.
There is no AI coach and there won't be one. An earlier design would have sent your weekly totals to a language model. We dropped it: even summarised, weekly totals and pickup counts are still a portrait of your behaviour derived from Screen Time data, and sending them off the device would break the Apple entitlement this app runs on. Weekly insights are computed on your phone instead.
Ads: undecided, not shipped. We have not decided whether DetoxBrain will show ads at all — it may never happen. No ad SDK is in the app today. If ads ever ship they would be banner + rewarded only — never full-screen interstitials — and this policy would be updated at the same time.
Consent
DetoxBrain's core features are 100% on-device, so you don't have to consent to anything to use them.
Analytics is on by default, and you can turn it off any time in Settings → Privacy. It never includes your app list, your blocklist, or how long you spend in any app — only which screens and features you use, and what you buy. Turn it off and the app still works fully, with no nagging and nothing degraded. We name who receives it (Firebase / Google) right here.
- In-app analytics (Firebase Analytics) — which tab you opened, whether a paywall was shown, whether a trial started, what you purchased. Categories and counts only, plus our own product prices — never an app name. Also used to measure our ad campaigns (ROAS).
- Crash & stability reporting (Firebase Crashlytics) — a crash trace, the OS version, the device model. An honest caveat: this one has no switch in the app yet. It starts with the app and stays on. In an app like this the bug that matters most is blocking failing silently, and we can't catch that without stack traces — but "useful to us" isn't the same as "you chose it", so a switch is on our list. Until it ships, email us and we'll delete what we hold.
EU/EEA note. Under GDPR, on-by-default analytics needs a prior consent banner. DetoxBrain does not have one yet; if you are in the EU/EEA and analytics has not asked you first, that is a gap we are closing before we run ads in the EU. Until then you can opt out at any time in Settings → Privacy.
Neither one ever contains an app name, a package name, or any screen-time data — that rule has no exceptions (see "What we DON'T collect").
Legal basis (GDPR Art. 13) and retention
| What | Legal basis | How long we keep it |
|---|---|---|
| Purchase receipt / entitlement state | Contract + legal obligation (tax/accounting records) | Per Apple/RevenueCat retention |
| Analytics events (incl. ad-campaign measurement) | Legitimate interest — improving the app + measuring our own ads; on by default, opt out any time in Settings → Privacy. (EU/EEA: consent banner pending — see note above.) | 14 months (Firebase Analytics default), then aggregated |
| Ad attribution token (Apple Search Ads) | Legitimate interest — measuring our ad spend; privacy-preserving, no IDFA | Per Apple/RevenueCat retention |
| Crash logs & stability diagnostics | Legitimate interest — catching silent blocking failures. No in-app switch yet; email us to object, or to have what we hold deleted | 90 days (Firebase Crashlytics default) |
| Screen-time data, blocklist, NFC tag hash | No basis needed — we never collect it. | Local to your device; uninstalling destroys it |
Withdrawing consent is as easy as giving it and does not affect the lawfulness of anything processed before you withdrew it.
Who we are, formally: Ezapps Vietnam (Marco Hoang), Hanoi, Vietnam — the data controller for the processing described above. Data-protection contact: support@detoxbrain.web.app. We answer requests about your data within 72 hours (the Vietnam PDPL standard, which we apply to everyone). There is no account-deletion SLA here because there are no accounts — nothing of yours sits on a server waiting to be deleted. You also have the right to complain to your local data-protection authority.
International transfers: our processors are Google Firebase and RevenueCat, so the limited data above — analytics events, crash traces and purchase receipts — is processed outside Vietnam. There is no email address and no account record to transfer, because we hold neither. Your screen-time data is not transferred either, because it never leaves your phone at all.
Your rights
- Access & export: everything DetoxBrain knows about you is already on your phone and readable in the app — your profiles, schedules, session history and stats. We hold no personal copy on a server that we could send you.
- Delete your local data: uninstalling the app removes everything on the device. ("Remove all shields" in Settings clears the blocks without touching your setup — it is a safety valve, not a delete button.)
- Account deletion: DetoxBrain has no accounts — there is no sign-in, so there is no server-side record of you to delete. If optional sign-in ever ships, this policy will be updated at the same time as an in-app deletion flow that erases all server-side data within 24 hours — Vietnam PDPL 01/2026.
- Analytics & crash data: turn analytics off any time in Settings → Privacy. Crash diagnostics have no switch yet — email support@detoxbrain.web.app and we'll delete what we hold.
- GDPR / CCPA: the same rights apply — email support@detoxbrain.web.app
Children
DetoxBrain is rated 4+ / Everyone. We do not knowingly collect data from children under 13 (or the equivalent minimum age in your jurisdiction). DetoxBrain is a self-management tool — it is not a parental-monitoring product and does not report anyone's activity to anyone else.
Changes
We'll update this page and notify in-app for material changes. Last updated 28 July 2026.
Dữ liệu chúng tôi KHÔNG thu thập — phần quan trọng nhất
DetoxBrain là app về thời gian dùng điện thoại của bạn. Điều đó khiến dữ liệu usage trở thành thứ nhạy cảm nhất chúng tôi có thể chạm tới: nó vẽ ra chân dung hành vi của bạn theo từng giờ. Nên chúng tôi không chạm vào.
- ❌ Dữ liệu screen-time của bạn không bao giờ rời thiết bị. Bạn mở app nào, bao lâu, bao nhiêu lần, vào giờ nào — tất cả được đo và lưu ngay trên máy (SwiftData trên iOS / Room trên Android) và không đi đâu khác. Chúng tôi không thu thập nó, và backend không có endpoint nào nhận nó — DetoxBrain có đúng hai function phía server (trạng thái đăng ký và xoá tài khoản), không function nào nhận dữ liệu usage. Không có ngoại lệ kiểu "chỉ gửi để debug thôi".
- ❌ Danh sách app bạn chặn không bao giờ rời thiết bị. Trên iOS, app bạn chọn được biểu diễn bằng token mờ (opaque), gắn riêng với máy, do framework Family Controls của Apple cấp — ngay cả chúng tôi cũng không thể lần ngược ra tên app. Trên Android là package name, và nó vẫn ở lại trên máy.
- ❌ Dữ liệu Screen Time ở lại trên máy bạn — do chúng tôi thiết kế như vậy, và nền tảng khiến việc làm khác đi rất khó. Apple giam báo cáo usage chi tiết trong sandbox của một extension không có mạng và không thể trả dữ liệu ngược về app, còn điều kiện của entitlement Family Controls thì cấm truyền dữ liệu này đi. Trên các ràng buộc của Apple, chúng tôi tự đặt thêm ràng buộc của mình: không có endpoint nhận, không nhúng SDK mạng vào extension, và một bước kiểm tra tự động trong quy trình build sẽ báo lỗi nếu dữ liệu usage hay tên app lọt vào bất kỳ lệnh gọi mạng nào.
- ❌ Chúng tôi không bao giờ ghi tên app vào analytics hay crash report. Analytics chỉ ghi category, nhóm thời lượng và số lần sự kiện.
- ❌ Chúng tôi không thu thập: nội dung màn hình, ảnh chụp màn hình, phím gõ, danh bạ, lịch, SMS, nhật ký cuộc gọi, vị trí, lịch sử duyệt web, dữ liệu sức khoẻ, ảnh, âm thanh, tệp.
- ❌ Nếu bạn thiết lập thẻ NFC (cách tuỳ chọn để kết thúc phiên nghiêm ngặt phải chạm thẻ thật), chỉ hash một chiều của mã thẻ được lưu trên máy bạn — không bao giờ lưu mã gốc, và không bao giờ gửi đi đâu.
- ❌ App Apple Watch cũng không nhận dữ liệu usage. Điện thoại gửi sang streak, điểm sức khoẻ não, phiên focus có đang chạy không, kết thúc lúc nào, và ngôn ngữ bạn chọn. Không phút sử dụng, không tên app, không token blocklist.
- ❌ Chúng tôi không thu thập Advertising ID (IDFA / GAID) của bạn. DetoxBrain không hiển thị quảng cáo và không đóng gói ad SDK nào, nên không có gì để đọc và không có hộp thoại ATT nào để bạn trả lời. Chúng tôi có đo xem một quảng cáo có dẫn bạn tới việc cài app hay không (ROAS), nhưng chỉ bằng phương pháp bảo vệ riêng tư, không bao giờ chạm tới định danh quảng cáo: attribution token của Apple AdServices và SKAdNetwork. (Việc hiển thị quảng cáo trong app vẫn chưa được quyết định và có thể sẽ không bao giờ có.)
- ❌ Chúng tôi không bao giờ bán dữ liệu của bạn. Ở đây không có gì để bán.
Dữ liệu chúng tôi có thu thập
| Dữ liệu | Khi nào | Lưu ở đâu | Gắn với bạn? |
|---|---|---|---|
| Biên nhận mua hàng / trạng thái Premium | Khi bạn mua hoặc khôi phục Premium | RevenueCat (và biên nhận của chính Apple) | Gắn với một ID ẩn danh của RevenueCat — DetoxBrain không có tài khoản |
| Crash log & chẩn đoán ổn định | Mỗi khi app crash hoặc chạy sai. Đây là thứ duy nhất chưa có công tắc trong app — xem "Sự đồng ý" bên dưới. | Firebase Crashlytics | Ẩn danh (pseudonymous) |
| Sự kiện analytics trong app (mở tab, hiện paywall, bắt đầu dùng thử, mua hàng) | Bật mặc định; tắt bất cứ lúc nào ở Cài đặt → Quyền riêng tư. Dùng để cải thiện app và đo hiệu quả quảng cáo của chúng tôi (ROAS). | Firebase Analytics (Google) | Ẩn danh |
| Attribution chiến dịch quảng cáo (quảng cáo nào, nếu có, dẫn bạn tới cài app) | Khi bạn cài app sau khi bấm một quảng cáo Apple Search Ads hoặc Google | Apple AdServices token → RevenueCat; Firebase → Google Ads. Không có định danh quảng cáo (IDFA). | Ẩn danh |
Chúng tôi không thu thập địa chỉ email, và app không có đăng nhập. DetoxBrain không có tài khoản: mọi thứ bạn tạo trong app — profile, lịch, phiên focus, thống kê — không được tải lên đâu cả, vì không có chỗ nào để tải lên. Đó cũng là lý do bạn sẽ không thấy nút "xoá tài khoản": không có bản ghi nào về bạn ở phía server để xoá. Gỡ app là xoá sạch.
Về lựa chọn app của bạn: các app bên trong một blocking profile cũng ở lại trên máy. Trên iOS chúng là token mờ (opaque), gắn riêng với máy, do framework Family Controls của Apple cấp — ngay cả chúng tôi cũng không lần ngược ra tên app — và trên Android chúng tôi chủ động không lách quy tắc đó.
Dịch vụ bên thứ ba
| Dịch vụ | Mục đích | Dữ liệu chia sẻ |
|---|---|---|
| Firebase (Google) | Báo cáo lỗi, analytics + đo lường chiến dịch quảng cáo (ROAS qua Google Ads) | Crash trace, tên sự kiện, sự kiện mua hàng, và một app-instance id ẩn danh. Không email, không tài khoản, không user id nào của chúng tôi — chúng tôi không có để gửi. |
| RevenueCat | Xác thực biên nhận đăng ký, trạng thái quyền lợi, attribution Apple Search Ads | Biên nhận cửa hàng, một ID ẩn danh của RevenueCat, Apple AdServices attribution token |
| Apple Search Ads (Apple) | Đo xem một quảng cáo tìm kiếm trên App Store có dẫn tới việc cài/mua của bạn không — bảo vệ riêng tư, không IDFA | AdServices attribution token (gắn với chiến dịch, không phải cá nhân bạn) |
Không bên nào trong số đó nhận dữ liệu screen-time, danh sách app, hay blocklist của bạn. Chúng tôi cũng vậy.
Không có AI coach, và sẽ không có. Một bản thiết kế trước đây định gửi số liệu tổng tuần của bạn tới một mô hình ngôn ngữ. Chúng tôi đã bỏ: kể cả đã tổng hợp, tổng phút và số lần mở máy theo tuần vẫn là chân dung hành vi của bạn, dẫn xuất từ dữ liệu Screen Time — gửi nó rời khỏi máy là phá vỡ entitlement của Apple mà app này đang chạy trên đó. Insight tuần được tính ngay trên máy bạn.
Quảng cáo: chưa quyết định, chưa ship. Chúng tôi chưa quyết định DetoxBrain có hiển thị quảng cáo hay không — có thể sẽ không bao giờ có. Hiện trong app không có ad SDK nào. Nếu sau này có làm thì chỉ banner + rewarded — không bao giờ có quảng cáo toàn màn hình — và chính sách này sẽ được cập nhật cùng lúc.
Sự đồng ý
Các tính năng lõi của DetoxBrain chạy 100% trên thiết bị, nên bạn không cần đồng ý điều gì để dùng chúng.
Analytics bật sẵn, và bạn tắt được bất cứ lúc nào ở Cài đặt → Quyền riêng tư. Nó không bao giờ chứa danh sách app của bạn, blocklist của bạn, hay bạn dùng app nào bao lâu — chỉ có bạn mở màn hình nào, dùng tính năng nào, và mua gói nào của chúng tôi. Tắt đi thì app vẫn chạy đầy đủ, không nag, không cắt xén tính năng nào. Ai là bên nhận, chúng tôi nói thẳng ngay tại đây (Firebase / Google).
- Analytics trong app (Firebase Analytics) — bạn mở tab nào, có hiện paywall không, có bắt đầu dùng thử không, bạn mua gì. Chỉ category và số đếm, cộng giá sản phẩm của chính chúng tôi — không bao giờ có tên app. Cũng dùng để đo hiệu quả quảng cáo của chúng tôi (ROAS).
- Báo cáo lỗi & độ ổn định (Firebase Crashlytics) — crash trace, phiên bản hệ điều hành, model máy. Nói thật: thứ này hiện chưa có công tắc trong app. Nó bật cùng app và ở nguyên như vậy. Với một app như thế này, lỗi đáng sợ nhất là việc chặn âm thầm hỏng — không có crash trace thì chúng tôi không phát hiện được. Nhưng "chúng tôi thấy nó hữu ích" không giống "bạn đã chọn", nên một công tắc riêng đang nằm trong danh sách việc phải làm. Trong lúc chờ, gửi email cho chúng tôi và chúng tôi sẽ xoá phần đang giữ.
Lưu ý cho EU/EEA. Theo GDPR, analytics bật mặc định cần một banner xin phép trước. DetoxBrain hiện chưa có; nếu bạn ở EU/EEA và analytics chưa hỏi bạn trước, đó là khoảng trống chúng tôi đang đóng trước khi chạy quảng cáo tại EU. Trong lúc chờ, bạn tắt được bất cứ lúc nào ở Cài đặt → Quyền riêng tư.
Không thứ nào trong hai thứ đó bao giờ chứa tên app, package name, hay bất kỳ dữ liệu screen-time nào — quy tắc này không có ngoại lệ (xem "Dữ liệu chúng tôi KHÔNG thu thập").
Căn cứ pháp lý và thời hạn lưu trữ
| Dữ liệu | Căn cứ pháp lý | Lưu bao lâu |
|---|---|---|
| Biên nhận mua hàng / trạng thái Premium | Hợp đồng + nghĩa vụ pháp lý (chứng từ thuế/kế toán) | Theo thời hạn của Apple/RevenueCat |
| Sự kiện analytics (gồm cả đo lường quảng cáo) | Lợi ích hợp pháp — cải thiện app + đo quảng cáo của chính chúng tôi; bật mặc định, tắt bất cứ lúc nào ở Cài đặt → Quyền riêng tư. (EU/EEA: banner xin phép còn thiếu — xem lưu ý ở trên.) | 14 tháng (mặc định Firebase Analytics), sau đó chỉ còn dạng tổng hợp |
| Ad attribution token (Apple Search Ads) | Lợi ích hợp pháp — đo chi phí quảng cáo; bảo vệ riêng tư, không IDFA | Theo thời hạn của Apple/RevenueCat |
| Crash log & chẩn đoán ổn định | Lợi ích hợp pháp — bắt lỗi chặn âm thầm hỏng. Chưa có công tắc trong app; gửi email cho chúng tôi để phản đối hoặc để xoá phần đang giữ | 90 ngày (mặc định Firebase Crashlytics) |
| Dữ liệu screen-time, blocklist, hash thẻ NFC | Không cần căn cứ — chúng tôi không bao giờ thu thập. | Nằm trên máy bạn; gỡ app là xoá sạch |
Rút lại sự đồng ý dễ như khi cho, và không ảnh hưởng tới tính hợp pháp của việc xử lý đã diễn ra trước khi bạn rút.
Chúng tôi là ai, về mặt pháp lý: Ezapps Vietnam (Marco Hoang), Hà Nội, Việt Nam — bên kiểm soát dữ liệu cho các hoạt động xử lý nêu trên. Đầu mối bảo vệ dữ liệu cá nhân: support@detoxbrain.web.app. Chúng tôi trả lời mọi yêu cầu liên quan tới dữ liệu của bạn trong vòng 72 giờ (theo chuẩn PDPL Việt Nam, và chúng tôi áp dụng cho tất cả mọi người). Không có cam kết thời hạn xoá tài khoản ở đây, vì không có tài khoản — không có gì của bạn nằm trên server chờ được xoá. Bạn cũng có quyền khiếu nại tới cơ quan bảo vệ dữ liệu cá nhân có thẩm quyền.
Chuyển dữ liệu ra nước ngoài: bên xử lý của chúng tôi là Google Firebase và RevenueCat, nên phần dữ liệu hạn chế nêu trên — sự kiện analytics, crash trace và biên nhận mua hàng — được xử lý ngoài lãnh thổ Việt Nam. Không có địa chỉ email hay bản ghi tài khoản nào để chuyển, vì chúng tôi không giữ. Dữ liệu screen-time của bạn cũng không, vì nó không bao giờ rời khỏi máy.
Quyền của bạn
- Truy cập & xuất dữ liệu: mọi thứ DetoxBrain biết về bạn đã nằm sẵn trên máy bạn và đọc được ngay trong app — profile, lịch, lịch sử phiên và thống kê. Chúng tôi không giữ bản sao nào trên server để mà gửi cho bạn.
- Xoá dữ liệu trên máy: gỡ app là xoá sạch mọi thứ trên thiết bị. ("Gỡ toàn bộ shield" trong Cài đặt chỉ gỡ chặn mà giữ nguyên thiết lập — đó là van an toàn, không phải nút xoá.)
- Xoá tài khoản: DetoxBrain không có tài khoản — app không có đăng nhập, nên không có bản ghi nào về bạn phía server để xoá. Nếu bản sau có đăng nhập tuỳ chọn, chính sách này sẽ được cập nhật cùng lúc với luồng xoá trong app, xoá toàn bộ dữ liệu phía server trong vòng 24 giờ — PDPL Việt Nam 01/2026.
- Analytics & dữ liệu crash: tắt analytics bất cứ lúc nào ở Cài đặt → Quyền riêng tư. Chẩn đoán crash chưa có công tắc — gửi email support@detoxbrain.web.app và chúng tôi sẽ xoá phần đang giữ.
- GDPR / CCPA: các quyền tương tự đều áp dụng — email support@detoxbrain.web.app
Trẻ em
DetoxBrain được xếp hạng 4+ / Everyone. Chúng tôi không cố ý thu thập dữ liệu từ trẻ em dưới 13 tuổi (hoặc độ tuổi tối thiểu tương đương theo pháp luật nơi bạn ở). DetoxBrain là công cụ tự quản lý — không phải sản phẩm giám sát của phụ huynh và không báo cáo hoạt động của ai cho ai.
Thay đổi
Chúng tôi sẽ cập nhật trang này và thông báo trong app khi có thay đổi quan trọng. Cập nhật lần cuối 28/07/2026.