Halo 隱私政策 / Privacy Policy
更新日期 / Last updated:2026-08-31
中文
Halo 是單字學習 App。本政策說明不同版本會如何處理資料;若資料處理方式改變,我們會更新本頁。
我們處理的資料
- 帳號登入資料:用於建立及維持帳號、登入與帳號管理。
- 使用者建立的學習資料:例如單字、清單、筆記與複習內容,主要用於同步及本機學習功能。
- 使用者主動提交的圖片與文字:用於圖片辨識、翻譯及相關學習功能。
- 圖片處理作業紀錄:為了診斷圖片辨識的可靠性與效能,伺服器會記錄隨機 request ID、16 字元的縮短 SHA-256 圖片指紋、檔案大小與尺寸、OCR 字元/行/詞的數量(不含 OCR 原文)、處理範圍、供應商與模型、嘗試次數、耗時、HTTP 狀態、候選數及錯誤類別。客製提示只記錄長度與縮短 SHA-256 指紋。正式環境不把原始圖片、base64、OCR 原文或客製提示原文寫入這些作業紀錄。
- 自願附圖回報:辨識失敗後,你可自行送出錯誤資訊、請求識別碼、App 版本、選取條件與補充說明。只有你勾選附圖並送出,才會保存預覽圖片的壓縮副本,供 Halo 團隊調查問題;副本不保留 EXIF/GPS 中繼資料,不包含 OCR 全文。回報存於有存取控制的 Firestore,包含帳號識別以支援刪帳清除,不會透過公開網址提供圖片,也不會自動交給 AI 重測。
- 自願提交的產品研究回覆:例如最喜歡的功能、最好用的頁面、價格意向及價格疑慮。
- 問卷 Email:完成並送出問卷時需要提供 Email,用於辨識回覆、通知並提供 Pro 正式上線後一個月免費資格。你可以關閉並不參加問卷,不影響 App 使用。
- 使用分析資料:只有在你允許後,Halo 才會使用 Firebase Analytics 處理 App 安裝識別碼、裝置與系統概況、約略地區、App 開啟與工作階段、訂閱互動,以及匯入來源與數量區間、學習模式、同步成功或失敗等有限的功能事件。Halo 不會將實際單字、圖片、PDF、OCR 或文字內容、筆記、Email 或 Firebase 帳號 UID 傳送至 Firebase Analytics。
- 閃退診斷資料:支援閃退診斷的較新版本使用 Firebase Crashlytics 自動處理閃退堆疊、App 版本與 Build、裝置與作業系統概況、App 安裝識別碼(Crashlytics Installation UUID 與 Firebase installation ID),以及介面語言與發行管道,以找出穩定性問題。若你允許使用分析,閃退報告也可能附帶崩潰前的功能操作事件。Halo 不會向 Crashlytics 設定帳號使用者 ID,也不會把實際單字、圖片、PDF、OCR 或文字內容、筆記或 Email 加入自訂診斷欄位。
- 廣告版本差異:移除廣告後的版本(免費版與 Pro)不包含廣告投放 SDK,也不向廣告平台發送廣告請求。尚未更新的較早免費版本仍包含 Google AdMob。Google 可能處理裝置或廣告識別資訊、IP 位址、廣告互動、診斷資料及你的廣告同意選擇,以提供、衡量及防止廣告詐騙。Pro 與 TestFlight 不會向 AdMob 請求廣告。
用途與第三方服務
Halo 用上述資料提供登入、同步及本機學習、圖片辨識與翻譯、了解功能使用情況、改善產品及評估定價。使用相關功能時,圖片或文字可能傳給雲端及第三方 AI 或翻譯服務處理。使用分析由 Google Firebase Analytics 提供;預設不收集,只有在你允許後才會啟用,且不提供給廣告個人化使用。閃退診斷由 Google Firebase Crashlytics 提供並自動收集,用於維護 App 穩定性,不用於廣告或跨 App 追蹤。問卷 Email 只用於辨識回覆、Pro 上線通知及一個月免費資格。較早免費版本的廣告由 Google AdMob 提供,資料處理依 Google 的政策及你在廣告同意介面中的選擇辦理。Halo 不出售資料,包括個人資料。
跨 App 追蹤
Halo 不使用 Firebase Analytics 或 Firebase Crashlytics 進行跨 App 追蹤,也不向這兩項服務設定 Halo 帳號使用者 ID。較早免費版本的第三方廣告服務只會在 Apple 規則與你的授權允許範圍內處理廣告資料;未取得許可時,不會使用 IDFA 進行跨 App 追蹤。
資料保存與帳號刪除
資料可能在裝置或服務端保存,時間取決於提供功能、同步及維持帳號所需的情況。伺服器圖片處理作業紀錄目前寫入 Google Cloud Logging 的 _Default bucket,依目前專案設定保存 30 天;這些圖片作業紀錄不寫入 Firestore,也不包含原始 Halo 帳號 UID;會帶上不可直接識別姓名的帳號雜湊與已查得的方案,以便關聯故障。自願提交的附圖回報另存於 Firestore,刪除帳號時一併刪除。雲端平台另可能產生標準服務請求紀錄,例如時間、endpoint、HTTP 狀態、耗時、IP 位址或 user agent。
你可以在 App 設定停用使用分析,也可以刪除帳號;Halo 會刪除帳號相關的服務端資料,並清除 App 能控制的本機資料。作業紀錄不會因刪除帳號而立即消失,而會依上述 30 天保留設定到期。Firebase Analytics、Firebase Crashlytics、AdMob、雲端 AI、翻譯及其他第三方服務上的資料依其政策處理,刪除後可能無法復原。
聯絡
公開聯絡信箱:dongdongig0802@gmail.com。
English
Halo is a vocabulary-learning app. This policy describes how different versions handle data. We will update this page if those practices change.
Data we process
- Account and sign-in data: used to create and maintain an account, sign in, and manage the account.
- User-created learning data: such as words, lists, notes, and review content, used mainly for sync and on-device learning features.
- User-submitted images and text: used for image recognition, translation, and related learning features.
- Image-processing operational logs: to diagnose image-recognition reliability and performance, the server records a random request ID, a 16-character shortened SHA-256 image fingerprint, file size and dimensions, OCR character/line/word counts (not the OCR text), processing scope, provider and model, attempt count, latency, HTTP status, candidate count, and error category. For custom prompts, only the length and a shortened SHA-256 fingerprint are logged. Production operational logs do not contain the original image, base64 data, OCR text, or custom-prompt text.
- Voluntary image-failure reports: After recognition fails, you may submit error details, request IDs, app version, selection instructions and your comments. A compressed copy of the previewed image is stored only when you select the attachment option and send the report, so the Halo team can investigate. The copy excludes EXIF/GPS metadata and the report excludes full OCR text. Reports are stored in access-controlled Firestore with an account identifier for account deletion. Images have no public download URL and are not automatically sent to AI for retesting.
- Voluntary product-research responses: such as favorite features, most useful pages, price intent, and pricing concerns.
- Survey email: required when you complete and submit the survey, so Halo can identify the response, notify you, and provide one free month when Pro officially launches. You can close and skip the survey without affecting use of the app.
- Usage analytics data: only after you allow it, Halo uses Firebase Analytics to process an app-installation identifier, device and system details, approximate region, app opens and sessions, subscription interactions, and limited feature events such as import source and count range, study mode, and sync success or failure. Halo does not send actual words, images, PDFs, OCR or text content, notes, email addresses, or Firebase account UIDs to Firebase Analytics.
- Crash diagnostic data: newer versions that support crash diagnostics use Firebase Crashlytics to automatically process crash stack traces, app version and build, device and operating-system details, app installation identifiers (the Crashlytics Installation UUID and Firebase installation ID), interface language, and distribution channel so Halo can identify stability problems. If you allow usage analytics, crash reports may also include feature-interaction events from before the crash. Halo does not set an account user ID in Crashlytics or add actual words, images, PDFs, OCR or text content, notes, or email addresses to custom diagnostic fields.
- Advertising across versions: versions with advertising removed, both Free and Pro, contain no ad-serving SDK and send no ad requests to advertising platforms. Earlier free versions that have not been updated still include Google AdMob. Google may process device or advertising identifiers, IP address, ad interactions, diagnostics, and your advertising-consent choices to serve and measure ads and prevent fraud. Pro and TestFlight do not request ads from AdMob.
Purposes and third-party services
Halo uses this data to provide sign-in, sync and on-device learning, image recognition and translation, understand feature usage, improve the product, and evaluate pricing. When you use these features, images or text may be sent to cloud and third-party AI or translation services for processing. Usage analytics is provided by Google Firebase Analytics; collection is off by default, starts only after you allow it, and is not made available for advertising personalization. Crash diagnostics are provided and collected automatically by Google Firebase Crashlytics to maintain app stability, and are not used for advertising or cross-app tracking. Survey email is used only to identify the response, send the Pro launch notice, and deliver the one-month benefit. Ads in earlier free versions are provided by Google AdMob, and data is handled under Google’s policies and the choices you make in the advertising-consent interface. Halo does not sell data, including personal data.
Cross-app tracking
Halo does not use Firebase Analytics or Firebase Crashlytics for cross-app tracking and does not set a Halo account user ID in either service. Third-party advertising services in earlier free versions may process advertising data only within Apple’s rules and the permissions you grant. Without permission, the IDFA is not used for cross-app tracking.
Retention and account deletion
Data may be retained on the device or by services for as long as needed to provide features, sync, and maintain an account. Server image-processing operational logs are currently written to Google Cloud Logging's _Default bucket and retained for 30 days under the current project setting. These image-operation logs are not written to Firestore and do not contain a raw Halo account UID; they include a pseudonymous account hash and the verified access plan when available for incident correlation. Voluntary image reports are separately stored in Firestore and are removed when the account is deleted. The cloud platform may also create standard service-request logs containing details such as time, endpoint, HTTP status, latency, IP address, or user agent.
You can disable usage analytics in App Settings, and you can delete your account there; Halo will delete account-related service data and clear the local data it can control. Operational logs are not erased immediately by account deletion and instead expire under the 30-day retention setting described above. Data held by Firebase Analytics, Firebase Crashlytics, AdMob, cloud AI, translation, and other third-party services is handled under their policies, and deletion may not be reversible.
Contact
Public contact email: dongdongig0802@gmail.com.