生效日期:2026-05-23 — 最後更新:2026-07-15
Reading Pal 是一款閱讀紀錄與番茄鐘計時應用程式,由 林承葦(Darren Lin)(個人開發者,台灣)所營運。本政策說明您在使用 Reading Pal 時,我們蒐集哪些個人資料、蒐集目的為何、向誰提供,以及您可行使的相關權利。
本政策適用於 Reading Pal 行動應用程式及其後端 API。不適用於您所連結的第三方服務(如 Google)——該等服務由其各自的隱私權政策所規範。
| 欄位 | 來源 | 目的 |
|---|---|---|
| 電子郵件地址 | 您(於註冊時)或 Google OAuth | 帳號識別、登入、帳號找回 |
| 顯示名稱 | 您或 Google OAuth | 於應用程式內顯示 |
| 大頭貼網址 | Google OAuth(如適用) | 個人頭像 |
| 密碼雜湊值(bcrypt) | 您(限電子郵件+密碼註冊) | 身分驗證——我們從不儲存或查看您的明文密碼 |
| 語系與時區 | 於註冊時設定 | 介面在地化;確保通知於正確時間送達 |
sub)、電子郵件、email_verified 旗標,以及原始 id_token 酬載(用於驗證審計)。最長保存至帳號刪除為止。| 欄位 | 目的 |
|---|---|
| 匿名裝置 ID(裝置端產生的 UUID) | 將推播權杖與使用段落關聯至特定裝置,且不連結至手機硬體識別碼或 IMEI |
| FCM 推播權杖(Firebase 雲端訊息) | 讓我們向您的裝置傳送推播通知 |
| 應用程式版本與作業系統版本 | 當機診斷;相容性確認 |
每次對後端的請求均記錄下列資訊: - IP 位址(用於流量限速、資安防護與濫用偵測——每 30 天自動輪替清除) - HTTP 方法、URL 路徑、回應狀態碼、回應延遲、請求 ID
我們在正式環境不記錄請求本文。
我們僅針對以下四種事件類型維護審計日誌:deletion_requested、deletion_cancelled、deletion_executed、export_requested。每筆事件記錄下列資訊:
- 時間戳記
- 事件類型
- 數字型使用者 ID
- IP 位址、裝置 ID,以及您填寫的刪除原因(如有提供,上限 2,000 字)——這些後設資料欄位於帳號永久刪除時即設為 NULL;僅事件類型、時間戳記與數字型使用者 ID 於該時間點後繼續保存
這些記錄在您的帳號刪除後仍予以保留,並無限期保存以供法遵驗證之用——以證明我們已履行您的刪除或匯出請求。帳號永久刪除後,留存記錄已完全去識別化:僅包含事件類型、時間戳記,以及一個不再對應任何真實人士的數字型使用者 ID(帳號本身已不存在)。記錄中不含任何個人識別資訊,亦無任何閱讀內容。
當應用程式當機或後端發生錯誤時,我們傳送至 Sentry 的報告包含: - 堆疊追蹤 - 您的數字型使用者 ID(不含電子郵件或顯示名稱) - 應用程式版本與環境標籤 - 請求 URL 路徑(已移除查詢字串)
我們不傳送:您的電子郵件地址、顯示名稱、IP 位址、請求本文、Cookie、更新權杖,或任何自由文字備註內容。
Sentry 保留這些報告 7 天(免費方案預設值)。Sentry 資料託管於歐盟區域(de.sentry.io)。詳見第 4 節。
我們使用 Firebase Analytics(Google 服務)了解整體使用模式,以改善應用程式體驗。我們傳送的事件與參數嚴格限制於以下範圍:
| 事件/欄位 | 參數 | 目的 |
|---|---|---|
screen_view |
screen_name、screen_class |
畫面瀏覽與離開點漏斗分析。值為不含個人識別資訊的路由字面(/library、/library/[bookId]、/profile/shop 等);動態 ID 已以字面佔位符取代 |
sign_up、login、guest_start |
無 | 認證漏斗轉換率。不附帶電子郵件或帳號資料 |
add_book |
category(如 fiction) |
閱讀漏斗起點與內容類型偏好分析。僅到類別代碼層級,絕無書名、書本內容或 ISBN |
start_reading_session |
無 | 閱讀漏斗:開始閱讀。不帶書籍 ID 或書名 |
complete_reading_session |
duration_bucket(<15、15-30、30-60、60+ 分鐘) |
閱讀漏斗:完成閱讀及投入時長分布。僅使用粗分桶,絕無精確秒數 |
view_subscription、begin_purchase、purchase_success |
product_id(SKU 常數) |
變現漏斗。product_id 為靜態 SKU 字串,非個人資料——不含購買憑證、金額或付款資訊 |
view_shop、redeem_item |
item_id(商品常數) |
商店漏斗。item_id 為靜態常數——不帶數量或餘額 |
rewarded_offer_shown、rewarded_started、rewarded_earned |
無 | 獎勵廣告漏斗:曝光→開始觀看→看完獲獎 |
Firebase 內建:engagement_time、session_start、first_open |
自動 | Firebase SDK 自動採集的工程指標,我們未手動寫入 |
我們不傳送給 Firebase Analytics 的資料: 電子郵件地址、顯示名稱、書名、備註內容、閱讀時間戳記、精確閱讀時長、ISBN、購買憑證,或任何自由文字內容。
Firebase Analytics 也會自動將事件關聯至 App Instance ID(Firebase 產生的裝置安裝識別碼,清除應用程式資料或重裝即可重設)及 Android 上的 Android 廣告 ID(由 Google 管理的可重設裝置層識別碼)。這些識別碼由 Firebase SDK 自動收集,我們未手動附加。
Firebase Analytics 的資料由 Google 依其隱私條款處理。詳見第 4 節。
| 目的 | 使用的資料 |
|---|---|
| 提供服務——跨裝置同步書庫、紀錄閱讀段落、計算閱讀統計數據 | 第 2(a)、2(c)、2(h)、2(i) 節 |
| 身分驗證與帳號安全(權杖輪替、工作階段失效) | 第 2(a)、2(b)、2(d) 節 |
| 推播通知(各類型嚴格採用戶主動開啟制——詳見第 10 節) | 第 2(d) 節 FCM 推播權杖 |
| 當機診斷與服務穩定性 | 第 2(g) 節 |
| 資安防護——依 IP 與裝置的流量限速、驗證流程的詐欺偵測、防範撞庫攻擊 | 第 2(d)、2(e) 節 |
| 證明已履行刪除/匯出請求 | 第 2(f) 節 |
| 分析——了解整體使用模式並改善應用程式 | 第 2(j) 節 |
電子郵件驗證(電子郵件/密碼註冊): 當您以電子郵件與密碼註冊時,我們會透過 Resend 寄送一封含 6 位數驗證碼的驗證信,以確認您擁有該電子郵件地址。使用 Google 登入不會觸發此流程。
應用程式內廣告(Google AdMob): Reading Pal 透過 Google AdMob 投放廣告(僅限 Android;iOS 暫無廣告)。廣告形式共三種:書庫列表底部的 banner 廣告、閱讀時長達 13 分鐘以上的閱讀結束後全螢幕插頁廣告,以及使用者可主動選擇觀看以換取應用程式內積分的獎勵廣告。
提供給 AdMob 用於廣告投放、計量及防詐的資料:Android 廣告 ID(AAID,由 Google 管理的可重設裝置層識別碼)及情境/技術訊號(應用程式與裝置後設資料)。AAID 已由 Firebase Analytics SDK 收集(詳見上方第 2(j) 節);AdMob 沿用同一識別碼用於廣告用途。
獎勵廣告採用 AdMob 伺服器端驗證(SSV):我們傳送一個假名化的數字型使用者 ID 及自訂資料字串給 AdMob,僅用於驗證獎勵資格,不用於廣告定向。
我們不會向 AdMob 或任何廣告商提供:您的電子郵件地址、顯示名稱、帳號資料、書庫內容或閱讀記錄。
歐盟/英國使用者: 廣告載入前會先執行 Google 使用者訊息平台(UMP)同意流程。若您拒絕同意或法規另有要求,則僅顯示非個人化廣告(或不顯示廣告)。未取得同意前不載入廣告(fail-closed)。
選擇退出: Android 設定 → 隱私 → 廣告 → 重設或刪除廣告 ID。
| 提供者 | 角色 | 共享資料 | 地區 |
|---|---|---|---|
| Google(OAuth) | Google 登入 | 標準 OpenID Connect 聲明(sub、email、name、picture) | 全球 |
| Google Firebase 雲端訊息(FCM) | 推播通知傳遞 | FCM 註冊權杖;推播通知標題與內容 | 全球 |
| Google Firebase Analytics / Google Analytics | 使用分析 | 第 2(j) 節所列應用程式互動事件與參數;App Instance ID;Android 廣告 ID(Android,SDK 自動收集) | 全球 |
| Google Play | 應用程式發布與授權 | 標準安裝後設資料(不含閱讀資料) | 全球 |
| Sentry(Functional Software, Inc.,美國;資料託管於歐盟) | 當機與錯誤監控 | 詳見第 2(g) 節——堆疊追蹤、數字型使用者 ID、版本、路徑 | 歐盟 |
| Resend(Resend, Inc.,美國;寄送區域設定於歐盟—愛爾蘭) | 交易性電子郵件遞送(驗證碼信) | 電子郵件地址+驗證碼內容,僅於您以電子郵件/密碼註冊時傳送 | 歐盟(愛爾蘭) |
| Apple / APNs | iOS 推播傳遞(僅於 iOS 版本上線後適用——目前為 Android 專用) | APNs 裝置權杖+推播酬載 | 全球 |
| Google AdMob | 應用程式內廣告(Android) | Android 廣告 ID(AAID)+ 情境/技術訊號;獎勵廣告 SSV 另傳送假名化數字型使用者 ID 供獎勵驗證(非用於廣告定向) | 全球 |
我們從不將個人資料販售給任何第三方。
您的所有帳號、書庫及閱讀資料均儲存於 DigitalOcean 法蘭克福(德國,歐盟)資料中心(區域:FRA1)。歐盟使用者的資料不會離開歐盟境內。
Sentry 當機報告同樣使用 Sentry 的歐盟區域(de.sentry.io)。
部分次處理者(Google、AdMob)在全球範圍內運作,可能依其自身隱私條款在不同地區間傳輸資料以維持服務可靠性。
您可在應用程式中直接行使大多數權利,無需傳送電子郵件。
| 權利 | 行使方式 |
|---|---|
| 查閱 | 設定 → 帳號 → 「匯出我的資料」——立即產生完整 JSON 匯出檔供下載 |
| 更正 | 設定 → 個人頁面——直接編輯顯示名稱及其他個人資料欄位 |
| 刪除 | 設定 → 帳號 → 「刪除帳號」——啟動 30 天緩衝期。在此期間重新登入即可取消。30 天後,您的所有個人資料將從資料庫中永久刪除(依第 2(f) 節保留一筆去識別化審計記錄以供法遵驗證)。 |
| 可攜性 | 與查閱權相同的 JSON 匯出 |
| 限制處理 | 請傳送電子郵件(第 12 節) |
| 拒絕行銷 | 設定 → 通知 → 「行銷推播」——關閉(預設值即為關閉) |
歐盟/歐洲經濟區使用者: 您亦有權向所在國家的監管機關(如各國資料保護主管機關)提出申訴。
台灣使用者: 相關權利依據《個人資料保護法》行使。
我們將於收到請求後 30 天內予以回應。
Reading Pal 並非針對 13 歲以下兒童設計。我們不會在知情情況下蒐集未滿 13 歲使用者的個人資料。如您認為有兒童建立帳號,請傳送電子郵件至 tn08869679@gmail.com,我們將刪除該帳號。
Reading Pal 是行動應用程式,不使用網頁 Cookie。我們使用下列識別碼:
| 識別碼 | 類型 | 目的 | 可重設? |
|---|---|---|---|
| 裝置 ID | 於首次啟動時在本地端產生的匿名 UUID | 工作階段與推播路由——不連結至硬體識別碼 | 是——解除安裝應用程式後重裝即產生新的識別碼 |
| FCM 權杖 | 由 Firebase 指派 | 推播通知傳遞 | 是——Firebase 會定期更新;登出時亦會清除 |
| Firebase App Instance ID | 由 Firebase Analytics SDK 於安裝時指派 | 將分析事件關聯至同一次安裝 | 是——清除應用程式資料或重裝即重設 |
| Android 廣告 ID | Google(由 Firebase Analytics SDK 自動收集於 Android;AdMob 亦沿用同一識別碼) | 分析事件關聯;AdMob 廣告投放與計量 | 是——設定 → 隱私 → 廣告 → 重設廣告 ID |
| 資料類別 | 保存期限 |
|---|---|
| 帳號、書庫、閱讀段落、設定、成就、點數 | 使用期間保存;刪除帳號後進入 30 天緩衝期,期滿後永久刪除 |
| 審計日誌(刪除/匯出事件記錄——不含個人閱讀內容) | 去識別化記錄(事件類型+時間戳記+不再對應任何真實人士的數字型使用者 ID)無限期保存,供法遵驗證;IP、裝置 ID 與使用者填寫的原因於帳號永久刪除時設為 NULL |
| 伺服器存取日誌(IP 位址、請求後設資料) | 30 天,到期後自動輪替清除 |
| 當機報告(Sentry) | 7 天(Sentry 免費方案預設值) |
| 更新權杖記錄 | 至權杖過期或明確撤銷為止 |
| Firebase Analytics 事件資料 | 依 Google 的保留設定(使用者層級資料預設 2 個月;彙總報告由 Google 另行保留)。詳見 Google 資料保留說明。 |
行銷推播通知預設為關閉。您可主動開啟:設定 → 通知 → 「行銷推播」。您可隨時在同一位置關閉。
我們不傳送行銷電子郵件。
重大變更(新增資料類別、新增次處理者、擴大現有資料用途)將透過應用程式內橫幅,於生效前 30 天公告。更新版本將標註日期。
輕微修訂(錯字修正、不影響您權利的說明澄清)將立即生效,不另行事先通知。
預先揭露的未來變更:
重大變更(新增資料類別、新增次處理者、擴大現有資料用途)將透過應用程式內橫幅,於生效前至少 30 天公告。
如有隱私相關問題、申訴,或應用程式內無法處理的刪除/查閱請求:
我們致力於在 30 天內回應。
| 版本 | 日期 | 摘要 |
|---|---|---|
| 1.0 | 2026-05-23 | 初始版本 |
| 1.1 | 2026-06-14 | 新增第 2(j) 節 Firebase Analytics 揭露;同步更新第 3、4、8、9、11 節 |
| 1.2 | 2026-06-23 | 應用程式內廣告(Google AdMob)由預計未來用途改為現行揭露;同步更新第 3、4、8、11 節 |
| 1.3 | 2026-06-23 | 審計日誌保留措辭改為去識別化、無限期保存(移除未實作的 6 個月刪除承諾);資料匯出時效改為即時 |
| 1.4 | 2026-07-15 | 新增 Resend 次處理者(email 註冊驗證信);新增 email 驗證流程揭露 |