隱私政策
生效及最後更新日期:2026 年 10 月 27 日
開發者品牌:Plantation Lab
營運者:LAM, Ka Lok(Eric Lam)
隱私聯絡:ericlamdev@gmail.com
本政策適用於由 LAM, Ka Lok 以 Plantation Lab 名義發布、連結至本政策的行動應用程式、網站及相關服務(以下稱「服務」),包括使用不同套件名稱或較早品牌名稱發布的服務。
不同應用程式與版本,使用的功能和服務可能不同。下列廣告、分析、訂閱、登入及雲端處理條款,只適用於實際使用該功能或服務的應用程式與版本。某項服務列於本頁,不代表每個應用程式都使用它;購買去除廣告也不等於停用其他分析或訂閱服務。
本頁的個別應用程式說明會進一步限定適用範圍。若應用程式另提供更具體的隱私說明,請一併閱讀;對該功能的具體說明優先於本頁的共通描述。你也可以寄信告知應用程式名稱、平台及版本,查詢適用內容。
一、資料種類與用途
應用程式內容與本機儲存
設定、學習進度、書籤、手札、作品及其他輸入內容,可依功能儲存在你的裝置上。使用雲端同步、上傳、分享或 AI 處理時,相應內容才會按該功能的說明交予伺服器或接收者。裝置的系統備份由 Apple、Google 或你選擇的備份服務及設定管理;本機儲存不代表系統備份必然關閉。
使用分析:Google Analytics for Firebase
整合此服務的版本會處理應用程式互動、使用時段、頁面或功能事件、應用程式執行個體識別碼,以及裝置、作業系統、語言和概略地區等資訊,用於了解使用情況及改善服務。依整合方式與同意設定,也可能使用廣告識別碼或應用程式使用者識別碼。
錯誤診斷:Firebase Crashlytics
整合此服務的版本會傳送當機報告、錯誤堆疊、診斷紀錄、應用程式及裝置版本、Crashlytics 安裝識別碼,用於排查錯誤及提升穩定性。
廣告:Google AdMob
有廣告的版本會透過 Google Mobile Ads 處理 IP 位址(可推算概略位置)、廣告及應用程式互動、診斷資訊,以及可用的裝置或廣告識別碼,用於提供及衡量廣告、分析和防範詐欺。個人化廣告取決於地區、年齡、裝置及同意設定;非個人化廣告仍可能處理投放、安全和衡量所需的資料。
購買、訂閱與 RevenueCat
付款由 Apple App Store 或 Google Play 處理,我們不會因此取得完整信用卡號。商店及整合 RevenueCat 的版本會處理交易或收據資訊、購買紀錄、產品、訂閱狀態、應用程式使用者識別碼及必要技術資訊,用於驗證付款、恢復購買、管理權益、防止濫用及訂閱統計。未整合 RevenueCat 的應用程式,可直接由商店元件處理購買。
登入、雲端資料與通知
採用 Firebase Authentication 或其他登入服務的功能,可使用匿名帳戶識別碼;你選擇登入時,也會處理該登入方式提供的帳戶識別碼及授權的個人資料。Firestore、Realtime Database、Storage 或我們的後端會處理該功能需要儲存的資料。Firebase Cloud Messaging 會使用安裝識別碼及推播權杖傳送通知;僅使用本機提醒的版本不需要將提醒內容交予推播服務。
照片、相機、語音及雲端 AI
相關功能在你使用時存取所需的相機、麥克風或你選擇的檔案。本機處理的內容不會因為使用這些權限而自動上傳。使用雲端辨識、翻譯或 AI 功能時,所選照片、錄音、辨識文字或提示內容會傳送至我們的後端及功能中指明的處理供應商。例如 Onegai 的雲端功能經 Cloudflare 後端及 OpenRouter 使用 Google Gemini;系統語音服務也可能由 Apple 或 Google 處理。具體傳送範圍及保留方式以該功能的說明為準。
網站、內容下載及支援
載入網站、題庫、圖片、字型或其他線上內容時,Firebase Hosting、Cloudflare、Vercel、Google 或相應主機服務會接收 IP 位址、請求時間、瀏覽器或裝置資訊等連線資料,用於傳送內容及維護安全。透過電子郵件或回報功能聯絡我們時,我們會處理你提供的聯絡資料、訊息及附件,以回覆和處理問題。本隱私政策頁面不需要登入,也沒有加入廣告或分析追蹤程式。
二、答案之書 3.0 的適用說明
答案之書:神諭與心情手札/The Book of Answers(舊商店名稱包括 The Book Of Answers 答案之書),應用程式識別碼:com.outlawshk.answersbook。以下適用於 3.0 起的版本:
- 不需要建立帳號;問題、手札、心情、修習與互動進度儲存在裝置上,應用程式不會把這些內容上傳至我們或 RevenueCat 的伺服器。
- 沒有廣告,沒有整合 AdMob、Firebase Analytics 或 Firebase Crashlytics;本頁相應的廣告與 Firebase 分析條款不適用於此版本。
- 每日提醒由裝置本機排程,不經雲端推播。
- 自 3.0.1 起,應用程式以 PostHog 收集匿名使用數據,用於了解各項功能的使用情況並改進應用程式:例如開啟了哪些功能、是否完成引導、會員方案頁是否順利載入、訂閱流程的結果,以及應用程式版本、作業系統與裝置的語言和地區設定。自 3.1 起,引導中從選項點選的答案(最近心裡繞著的主題、用天氣形容的心情、想找到什麼、喜歡的陪伴方式與時段)也會以選項代號記錄,用於了解哪些內容對哪一類讀者有幫助。數據以每次安裝隨機產生的識別碼標示,不包括任何輸入的文字(問題、手札與修習內容),手札裡記下的心情也不會上傳;數據不與身分、廣告識別碼或其他應用程式的資料連結,也不用於廣告或跨應用程式追蹤;PostHog 不保存 IP 位址。可隨時在「設定 → 分享匿名使用數據」關閉。
- 月光會員由 App Store 或 Google Play 付款,並由 RevenueCat 處理匿名應用程式識別碼、購買紀錄、訂閱狀態及必要技術資訊,以驗證、恢復會員資格及進行訂閱統計。
- 匯出備份或分享時,資料會交至你選擇的位置或接收者。在「設定 → 清除所有資料」可刪除本機紀錄;此操作不會取消訂閱或自動刪除商店與 RevenueCat 的購買紀錄。伺服器資料刪除可依下方方式聯絡我們。
仍在使用較早版本的使用者,可能會使用到該版本整合的廣告、分析、診斷及雲端推播服務;3.0 的說明不會追溯改變舊版本的行為。
musicinkloop:此應用程式另有專屬隱私政策。目前的本機創作及商店內購模式,不因本共用頁列出 Firebase、AdMob 或 RevenueCat 而變成使用這些服務。
三、激鬥文字陀螺的適用說明
激鬥文字陀螺/WordBlade Text Spinner(商店名稱包括 WordBlade 激鬥文字陀螺、WordBlade 文字ゴマバトル),應用程式識別碼:com.plantationlab.textspinner(iOS 與 Android 相同)。以下適用於 1.1.0 起的版本:
刪除帳戶:在應用程式首頁右上角打開「設定」,按「刪除線上資料」並確認,伺服器上的帳戶及相關資料會即時刪除。沒有安裝應用程式也可寄信要求刪除,步驟及刪除範圍見下方「刪除帳戶與資料」。
匿名帳戶與伺服器上的資料
- 不需要註冊或登入,應用程式不會要求姓名、電子郵件或電話號碼。你第一次有遊戲進度時,應用程式會自動建立匿名帳戶:隨機產生的玩家編號,以及只存在你裝置上的密鑰;伺服器只保存密鑰的雜湊值。
- 帳戶用於線上對戰、排行榜及進度備份。伺服器保存:系統從詞庫組合的名稱與編號;段位、對戰次數、勝場及各字的勝場;爬塔最佳層數;最近出戰的字與字型、裝備的外觀與稱號;對戰結果;你作出的檢舉與封鎖;帳戶建立及最近連線的時間;以及進度備份(金幣、遊玩得到的外觀、季票與爬塔進度、戰績、出戰的字)。
- 應用程式內購買不在進度備份內,購買權益由 App Store 或 Google Play 管理,每部裝置各自恢復購買。為確保新手禮包附送的金幣每筆購買只發一次,伺服器會記錄這類購買,購買識別碼只保存雜湊值。
- 換機可使用引繼碼:10 字元的代碼加上你自訂的密碼,伺服器只保存密碼的加鹽雜湊值;代碼使用一次即失效,連續輸錯 5 次會鎖定 1 小時。
- 匿名身分除了存在應用程式本機,也另存於 iOS 鑰匙圈(不隨 iCloud 同步)及 Android Block Store(需開啟 Google 備份),讓你重新安裝後自動取回進度。
- 遊戲伺服器由 Cloudflare 營運,資料庫位於亞太區。連線時 Cloudflare 會處理 IP 位址等連線資料,用於傳送資料、限制濫用及排查錯誤;我們不會把 IP 位址存入遊戲資料庫。
其他玩家看得到的資料
線上對戰的對手及排行榜會顯示你的名稱與編號、出戰的字與字型、裝備的外觀與稱號、段位及爬塔紀錄。名稱只能由系統詞庫組合,不能自由輸入文字,遊戲也沒有聊天功能。你可在線上對戰畫面檢舉不當用字或封鎖對手。
廣告、購買與精華短片
- 廣告由 Google AdMob 提供,包括插頁廣告及你自行選擇觀看的獎勵廣告,資料處理見本頁「廣告:Google AdMob」。應用程式會按地區需要顯示廣告同意訊息,需要時可在「設定」的「廣告隱私設定」更改;iOS 會詢問是否允許追蹤,不允許也能照常遊玩。購買去除廣告後不再顯示插頁廣告。
- 沒有整合 Firebase Analytics、Firebase Crashlytics 或 RevenueCat,本頁相應條款不適用於此應用程式;應用程式內購買由 App Store 或 Google Play 直接處理。
- 精華短片在你的裝置上製作,只在你選擇分享時交予你選擇的應用程式或接收者;iOS 只在你選擇儲存到相簿時,才要求加入相簿的權限。
刪除帳戶與資料
- 在應用程式內刪除(即時):首頁右上角打開「設定」,按「刪除線上資料」並確認。
- 沒有安裝應用程式:寄信至 ericlamdev@gmail.com,主旨寫「激鬥文字陀螺刪除帳戶」,並附上你的名稱與編號(設定頁及排行榜都看得到,格式如「名稱 #1234」)。為免他人冒認,我們可能請你提供最近一次對戰的大約日期或使用過的字以作核實;核實後會在 30 日內刪除並回覆你。
- 即時刪除:帳戶、名稱與編號、段位與戰績、各字的勝場、爬塔紀錄、進度備份、未使用的引繼碼、封鎖名單及你作出的檢舉。在應用程式內刪除時,裝置上的匿名身分(包括鑰匙圈及 Block Store 內的副本)也會一併移除。
- 保留但不再連到你:對戰紀錄改為匿名,保留作統計及遊戲平衡之用,對手的戰績不受影響;其他玩家對該帳戶作出的檢舉保留作防範濫用之用;新手禮包的發放紀錄只保留購買雜湊值,避免同一筆購買重複發放金幣。帳戶刪除後,這些紀錄無法再連回你。
- 不受影響:裝置上的金幣與外觀保留至你移除應用程式。應用程式內購買由 App Store 或 Google Play 管理,刪除線上資料不會取消購買,之後仍可恢復購買。日後再進入線上對戰或發出引繼碼,會以新的匿名帳戶重新開始。
- 只移除應用程式不會刪除伺服器上的資料,重新安裝後會自動取回;要刪除伺服器上的資料,請使用上述方法。
1.1.0 以前的版本沒有線上功能、帳戶或應用程式內購買,只按本頁「廣告:Google AdMob」所述顯示廣告。
四、CRE 中英文運用的適用說明
CRE 中英文運用|綜合招聘考試,應用程式識別碼:com.plantationlab.cre(iOS 與 Android 相同)。以下適用於 1.2.0 起的版本:
- 不需要建立帳號,不會要求你提供姓名、電話號碼或電郵地址。作答結果、各題對錯紀錄、錯題清單、收藏、速練卡熟悉程度、題解額度及應用程式設定儲存在裝置上;刪除應用程式即會清除這些資料。
- 題庫及學習內容經網絡取得。題目、選項、答案及題解只在使用期間暫存於記憶體,不會寫入裝置儲存空間。
- 為保護題庫,應用程式會在裝置產生一組隨機金鑰,向我們的內容服務登記其公開部分,並使用 Apple App Attest 或 Google Play Integrity 確認應用程式的完整性。內容服務由 Cloudflare 及 Neon 託管,只保存公開金鑰、登記紀錄及驗證所需的技術資料,不包含你的個人身分資料。
- 此應用程式以 PostHog 取代 Google Analytics for Firebase 收集使用數據:開始及完成練習或模擬測試;每題的題目識別碼,以及答對、答錯或未答;作答時間;開啟的學習指南;升級頁面的瀏覽及購買結果;獎勵廣告的結果;點按分享、評分、關於及推廣項目。每項數據附有應用程式隨機產生的識別碼,以及應用程式版本、裝置型號、作業系統版本、語言及網絡類型,不包含題目、選項、答案或題解的文字,也不包含姓名、聯絡資料、IP 位址或位置。
- 此應用程式以 Sentry 取代 Firebase Crashlytics 傳送當機報告:錯誤類別、出錯的程式位置、應用程式版本、裝置型號及作業系統版本,不包含錯誤訊息文字、螢幕截圖、題目內容、IP 位址或位置。使用數據及當機報告不能連繫到你的身分,不會因刪除應用程式而刪除,並按 PostHog 及 Sentry 的保留期限保存。
- 在題目中按「回報」時,我們會收到你選擇的原因、你輸入的說明(最多 500 字)、題目識別碼、應用程式版本及裝置登記識別碼,只用於修正題目。請勿在說明中填寫個人資料。
- 免費版提供 Google AdMob 獎勵廣告,只會在你主動選擇觀看時播放;應用程式不請求追蹤授權,只請求非個人化廣告。升級後不再顯示廣告。
- 升級為 6 個月使用權,由 App Store 或 Google Play 付款,到期不會自動續費。RevenueCat 以匿名購買者識別碼確認購買狀態,以解鎖及恢復付費內容。
本應用程式並非由香港特別行政區政府或公務員事務局提供或認可。
五、一傳十的適用說明
一傳十/Word Gets Around,應用程式識別碼:com.plantationlab.wordgetsaround(iOS)。以下適用於 1.0.0 起的版本:
- 不需要建立帳號,不會要求你提供姓名、電話號碼或電郵地址。遊戲進度、存檔、出處卡、紀錄及設定只儲存在裝置上;刪除應用程式即會清除這些資料。
- 沒有廣告,不請求追蹤授權;沒有整合 AdMob、Firebase Analytics、Firebase Crashlytics、RevenueCat 或其他使用分析及當機回報服務,本頁相應條款不適用於此應用程式。
- 排行榜及成就使用 Apple 的 Game Center。你登入 Game Center 後,遊戲會把每局分數及達成的成就交給 Game Center,其他玩家可在排行榜看到你的 Game Center 暱稱及分數。這些資料由 Apple 按其隱私政策處理,我們不會收到你的 Apple 帳戶資料。你可在裝置的「設定 › Game Center」登出,或更改暱稱及誰可以看到你。
- 挑戰碼、分享卡及縮時短片在你的裝置上產生,只在你選擇分享時交予你選擇的應用程式或接收者。只在你選擇儲存到相簿時,才要求加入相片的權限;應用程式不會讀取你的相片庫。
- 每日一局提醒由裝置本機排程,不經雲端推播;只在你開啟提醒時要求通知權限。
- 解鎖完整版及個別篇章由 App Store 付款,購買及恢復購買由 App Store 直接處理。
六、資料接收者與分享
我們會按上述用途使用供應商處理必要資料,包括 Google/Firebase/AdMob、Apple(含 Game Center)、RevenueCat,以及適用功能的主機、資料庫與 AI 供應商。你主動分享或匯出的內容,則交予你選擇的服務或接收者。若法律要求,或為處理詐欺、安全事件及保障合法權益,我們也可能向相關機關或專業顧問披露必要資料。
我們不以出售個人資料作為收入來源。有廣告的版本會按前述方式向廣告供應商傳送資料;在某些地區,特定廣告處理可能受「出售」、「分享」或定向廣告的法律定義規管,你可使用適用的同意及退出選項。閱讀本政策本身不代表你同意所有選擇性的資料處理。
供應商可能在你所在地以外處理資料。其處理及保留規則可參閱:
七、資料保留與安全
我們只在提供相關功能、處理支援、維護安全、驗證購買,以及履行法定義務所需期間保留資料:
- 本機內容:保留至你在應用程式中清除、刪除檔案,或移除相應的應用程式資料。匯出檔、系統備份及同步副本需在各自位置另外管理。
- 分析及診斷:依啟用服務的保留設定及供應商生命週期刪除或彙總;可聯絡我們查詢特定應用程式的適用設定。
- 帳戶及雲端內容:在功能需要期間保留,並依有效的刪除要求處理。雲端 AI 的暫存及例外情況以功能說明為準,本政策不將所有供應商描述為零保留。
- 購買及訂閱紀錄:依恢復購買、會員權益、退款、詐欺防範及必要會計或法律義務保留。刪除應用程式不會自動刪除這些紀錄。
- 支援與安全紀錄:在處理問題及必要的後續追蹤期間保留;法律要求或爭議需要的資料可保留較久。
我們採取與資料性質相稱的保護措施,包括 HTTPS 傳輸、存取權限管理及限制不必要的資料處理。任何網路傳輸或儲存方式均不能保證絕對安全。
八、你的選擇、資料查詢與刪除
- 你可在作業系統設定中管理相機、麥克風、照片及通知權限,並使用適用的廣告識別碼、追蹤及廣告個人化設定。若應用程式提供同意或隱私選項,也可在其中變更。
- 你可使用應用程式提供的清除或刪除功能管理本機內容。訂閱須在 App Store 或 Google Play 的訂閱管理中取消;刪除資料或移除應用程式不會代你取消訂閱。
- 要查詢、存取、更正或要求刪除由我們及代表我們處理的個人資料,請寄信至 ericlamdev@gmail.com,提供應用程式名稱、平台、要求內容,以及可供辨識的帳戶或應用程式識別碼(如有)。請勿寄送密碼或完整付款卡資料。
- 我們會在必要範圍內核實要求者身分,處理可識別及由我們控制的資料,並在適用法律要求的期限內回覆。若需要保留部分紀錄,會說明原因。商店自行保存的付款資料,仍需依 Apple 或 Google 的管道處理。
- 你所在地的法律可能賦予資料可攜、限制或反對處理、撤回同意,以及向監管機關申訴的權利;可透過上述聯絡方式提出要求。
九、兒童與政策更新
除個別應用程式另有明確說明外,我們的服務不以未滿 13 歲或所在地較高法定同意年齡的兒童為對象。我們不會明知而在未取得必要授權的情況下收集兒童個人資料。如家長或監護人認為孩子提供了不應收集的資料,請聯絡我們,以便調查及處理。
我們會因功能、供應商或適用要求的變動更新本政策,並修改頁首日期。涉及需要通知或重新取得同意的重大變更時,會透過適當方式處理。聯絡:ericlamdev@gmail.com。
Privacy Policy
Effective and last updated: 27 October 2026
Developer brand: Plantation Lab
Operator: LAM, Ka Lok (Eric Lam)
Privacy contact: ericlamdev@gmail.com
This policy applies to mobile apps, websites and related services published by LAM, Ka Lok under Plantation Lab that link to this policy (the “Services”), including Services published with different package identifiers or earlier branding.
Apps and versions use different features and providers. The advertising, analytics, purchasing, sign-in and cloud-processing sections below apply only where an app version actually uses that feature or provider. Listing a provider here does not mean every app uses it. Removing ads through a purchase does not necessarily disable other analytics or subscription services.
The app-specific information below narrows that scope. Read any more specific privacy notice supplied by an app alongside this policy; its description of a particular feature takes precedence over the general description here. You can contact us with the app name, platform and version to ask which practices apply.
1. Information processed and its purposes
App content and on-device storage
Settings, learning progress, bookmarks, journals, creative work and other input may be stored on your device according to the feature. Cloud sync, uploads, sharing and AI features send the relevant content to a server or recipient as described for that feature. Operating-system backups are controlled by Apple, Google or your chosen backup service and settings; on-device storage does not mean system backups are necessarily disabled.
Usage analytics: Google Analytics for Firebase
Versions using this service process app interactions, sessions, screen or feature events, app-instance identifiers, and information such as device, operating system, language and approximate region to understand usage and improve the service. Depending on integration and consent settings, advertising or app-user identifiers may also be used.
Diagnostics: Firebase Crashlytics
Versions using this service send crash reports, stack traces, diagnostic logs, app and device versions, and Crashlytics installation identifiers to investigate errors and improve reliability.
Advertising: Google AdMob
Ad-supported versions use Google Mobile Ads to process IP addresses (which can indicate approximate location), ad and app interactions, diagnostics, and available device or advertising identifiers for ad delivery, measurement, analytics and fraud prevention. Personalization depends on region, age, device and consent settings. Non-personalized advertising may still process information needed for delivery, security and measurement.
Purchases, subscriptions and RevenueCat
Apple App Store or Google Play handles payment; we do not receive full payment-card numbers through these purchases. The store, and RevenueCat where integrated, process transaction or receipt information, purchase history, products, subscription status, app-user identifiers and necessary technical information to validate purchases, restore access, manage entitlements, prevent abuse and provide subscription analytics. Apps without RevenueCat may use store components directly.
Sign-in, cloud storage and notifications
Features using Firebase Authentication or another sign-in service may use anonymous account identifiers. If you choose to sign in, they also process the account identifier and profile information you authorize. Firestore, Realtime Database, Storage or our backend processes the information needed by the relevant feature. Firebase Cloud Messaging uses installation identifiers and push tokens to deliver notifications. Versions using only local reminders do not send reminder content to a push service.
Photos, camera, voice and cloud AI
Relevant features access the camera, microphone or files you select when you use them. Granting these permissions does not itself upload locally processed content. Cloud recognition, translation and AI features transmit selected photos, recordings, recognized text or prompts to our backend and the providers identified by the feature. For example, Onegai’s cloud features use Google Gemini through OpenRouter and a Cloudflare backend; system speech services may also process information through Apple or Google. The feature’s notice describes its particular transfers and retention.
Websites, content delivery and support
When you load websites, question banks, images, fonts or other online content, Firebase Hosting, Cloudflare, Vercel, Google or the relevant hosting service receives connection information such as IP address, request time, browser or device information to deliver content and maintain security. If you contact us by email or submit a report, we process the contact details, message and attachments you provide to respond and resolve the issue. This privacy page requires no sign-in and includes no advertising or analytics tracking scripts.
2. The Book of Answers 3.0
答案之書:神諭與心情手札 / The Book of Answers (earlier listing names include The Book Of Answers 答案之書), app identifier com.outlawshk.answersbook. The following applies to version 3.0 and later:
- No account is required. Questions, journals, moods, practice and interactive-feature progress stay on your device; the app does not upload them to our servers or RevenueCat.
- There are no ads, AdMob, Firebase Analytics or Firebase Crashlytics integrations. The corresponding advertising and Firebase analytics sections do not apply to this version.
- Daily reminders are scheduled locally, without cloud push notifications.
- From 3.0.1, the app uses PostHog to collect anonymous usage data, so we can see how features are used and improve the app: for example which features are opened, whether the introduction was completed, whether the membership page loaded properly, the outcome of the subscription flow, and the app version, operating system and device language and region settings. From 3.1, the answers tapped from the choices in the introduction (what has been on your mind, the weather that describes how you feel, what you hope to find, how you like to be accompanied and the preferred time of day) are also recorded as option codes, to learn which content helps which readers. The data is labelled with an identifier generated at random for each install. It never includes anything typed (questions, journals or practice content), and moods noted in the journal are not uploaded; it is not linked to your identity, advertising identifiers or data from other apps, and is not used for advertising or cross-app tracking. PostHog does not keep IP addresses. You can turn it off at any time in Settings → Share anonymous usage data.
- Moonlight membership payments are handled by the App Store or Google Play. RevenueCat processes an anonymous app-user identifier, purchase history, subscription status and necessary technical information for membership validation, restoration and subscription analytics.
- Exporting backups or sharing sends information to the destination or recipient you choose. Settings → Erase all data removes local records; it does not cancel subscriptions or automatically erase store or RevenueCat purchase records. Contact us as described below to request deletion of server-side information.
Earlier app versions may still use their integrated advertising, analytics, diagnostics and cloud-push services. The description of 3.0 does not retrospectively change how earlier versions operate.
musicinkloop: this app has a dedicated privacy policy. Its current on-device creative features and direct store purchasing do not start using Firebase, AdMob or RevenueCat merely because those providers appear on this shared page.
3. WordBlade Text Spinner
激鬥文字陀螺 / WordBlade Text Spinner (listing names include WordBlade 激鬥文字陀螺 and WordBlade 文字ゴマバトル), app identifier com.plantationlab.textspinner on both iOS and Android. The following applies to version 1.1.0 and later:
Deleting your account: open Settings from the top-right corner of the app’s home screen, tap “Delete online data” and confirm. Your account and related information are deleted from our server immediately. You can also request deletion by email without the app; see “Deleting your account and data” below for the steps and what is deleted.
Anonymous account and server-side information
- No sign-up or sign-in is required, and the app never asks for your name, email address or phone number. When you first make progress, the app automatically creates an anonymous account: a randomly generated player ID and a secret key kept on your device. Our server stores only a hash of the key.
- The account is used for online battles, rankings and progress backup. Our server stores your name and number, combined by the system from a word list; your rank, number of matches, wins and wins per character; your best Tower floor; the character and typeface you last played and the cosmetics and title you have equipped; match results; reports and blocks you make; when the account was created and last connected; and your progress backup (coins, cosmetics earned through play, Season pass and Tower progress, match record and chosen character).
- In-app purchases are not part of the progress backup. The App Store or Google Play manages them, and each device restores them separately. To grant the coins included with the Starter Pack only once per purchase, our server records such purchases and stores the purchase identifier only as a hash.
- A transfer code lets you move to a new phone: a 10-character code plus a password you choose. Our server stores only a salted hash of the password. A code works once, and five wrong attempts lock it for one hour.
- Besides the app’s own storage, your anonymous identity is kept in the iOS Keychain (not synced through iCloud) and in Android Block Store (requires Google backup to be on), so your progress returns automatically after you reinstall.
- Cloudflare operates the game server, and the database is located in the Asia-Pacific region. Cloudflare processes connection information such as IP addresses to deliver data, limit abuse and investigate errors. We do not store IP addresses in the game database.
What other players can see
Online opponents and the rankings show your name and number, the character and typeface you play, your equipped cosmetics and title, your rank and your Tower record. Names can only be built from the system word list; there is no free text entry and no chat. You can report an offensive character or block an opponent from the online battle screen.
Ads, purchases and highlight videos
- Google AdMob provides interstitial ads and rewarded ads that you choose to watch; see “Advertising: Google AdMob” above for the information processed. The app shows an ad consent message where required, and “Ad privacy settings” appears in Settings when applicable. On iOS you are asked whether to allow tracking, and you can play normally either way. Removing ads through a purchase stops interstitial ads.
- The app does not integrate Firebase Analytics, Firebase Crashlytics or RevenueCat, so those sections do not apply to it. The App Store or Google Play handles in-app purchases directly.
- Highlight videos are made on your device and go only to the app or recipient you choose when you share them. On iOS, permission to add to your photo library is requested only when you choose to save a video there.
Deleting your account and data
- In the app (immediate): open Settings from the top-right corner of the home screen, tap “Delete online data” and confirm.
- Without the app: email ericlamdev@gmail.com with the subject “WordBlade account deletion” and your name and number (shown in Settings and the rankings, in the form “Name #1234”). To prevent impersonation, we may ask for the approximate date of your last match or a character you played. Once verified, we delete the account within 30 days and reply to you.
- Deleted immediately: the account, name and number, rank and match record, wins per character, Tower record, progress backup, unused transfer code, block list and reports you made. Deleting in the app also removes the anonymous identity from your device, including the copies in the Keychain and Block Store.
- Kept without any link to you: match records are anonymized and kept for statistics and game balance, so your opponents’ records stay intact; reports other players made about the account are kept to prevent abuse; Starter Pack records keep only the purchase hash so the same purchase cannot receive coins twice. Once the account is deleted, these records can no longer be linked to you.
- Not affected: coins and cosmetics on your device stay until you remove the app. In-app purchases are managed by the App Store or Google Play; deleting online data does not cancel them, and you can still restore them. If you later enter online battles or issue a transfer code, you start again with a new anonymous account.
- Removing the app alone does not delete server-side information; it is restored automatically when you reinstall. To delete it, use one of the methods above.
Versions before 1.1.0 have no online features, accounts or in-app purchases, and only show ads as described in “Advertising: Google AdMob” above.
4. CRE Use of Chinese and English
CRE 中英文運用|綜合招聘考試 / CRE Use of Chinese and English, app identifier com.plantationlab.cre on both iOS and Android. The following applies to version 1.2.0 and later:
- No account is required, and the app never asks for your name, phone number or email address. Results, per-question records, the wrong-answer list, bookmarks, flash-card familiarity, explanation allowance and settings are stored on your device and are removed when you delete the app.
- The question bank and study content are downloaded over the network. Questions, options, answers and explanations are held in memory only while the app runs and are never written to device storage.
- To protect the question bank, the app creates a random key pair on your device, registers its public part with our content service, and uses Apple App Attest or Google Play Integrity to confirm the app’s integrity. The content service is hosted by Cloudflare and Neon and keeps only the public key, the registration record and the technical information needed for verification, with no personal identity information.
- Instead of Google Analytics for Firebase, this app uses PostHog for usage analytics: starting and finishing a practice round or mock test; each question’s identifier and whether it was answered correctly, incorrectly or not at all; answer time; study guides opened; upgrade-screen views and purchase results; rewarded-ad results; and taps on share, rate, about and promotional items. Each event carries a random identifier created by the app, plus app version, device model, operating-system version, language and network type. It contains no question, option, answer or explanation text, and no name, contact details, IP address or location.
- Instead of Firebase Crashlytics, this app uses Sentry for crash reports: the error type, where in the code it occurred, app version, device model and operating-system version, with no error-message text, screenshots, question content, IP address or location. Usage data and crash reports cannot be linked to your identity, are not deleted when you delete the app, and are kept according to PostHog’s and Sentry’s retention periods.
- When you report a question, we receive the reason you choose, any description you type (up to 500 characters), the question identifier, the app version and the device registration identifier, used only to correct the question. Please do not include personal information in the description.
- The free version offers Google AdMob rewarded ads, played only when you choose to watch one. The app does not request tracking permission and requests only non-personalized ads. Upgraded users see no ads.
- The upgrade is six months of access, paid through the App Store or Google Play, and does not renew automatically. RevenueCat uses an anonymous purchaser identifier to confirm purchase status, unlock and restore paid content.
This app is not provided or endorsed by the Government of the Hong Kong SAR or the Civil Service Bureau.
5. Word Gets Around
一傳十 / Word Gets Around, app identifier com.plantationlab.wordgetsaround on iOS. The following applies to version 1.0.0 and later:
- No account is required, and the app never asks for your name, phone number or email address. Game progress, saved games, Source Cards, records and settings are stored on your device and are removed when you delete the app.
- There are no ads, and the app does not request tracking permission. It does not integrate AdMob, Firebase Analytics, Firebase Crashlytics, RevenueCat or any other usage-analytics or crash-reporting service, so those sections do not apply to it.
- Leaderboards and achievements use Apple’s Game Center. After you sign in to Game Center, the game gives Game Center your score for each game and the achievements you earn, and other players can see your Game Center nickname and scores on leaderboards. Apple handles this information under its privacy policy; we do not receive your Apple account information. You can sign out in Settings › Game Center on your device, or change your nickname and who can see you.
- Challenge codes, share cards and timelapse videos are created on your device and go only to the app or recipient you choose when you share them. Permission to add to your photo library is requested only when you choose to save there; the app does not read your photo library.
- Daily Game reminders are scheduled locally, without cloud push notifications. Notification permission is requested only when you turn reminders on.
- Unlocking the full game or individual chapters is paid through the App Store, which handles purchases and restoring purchases directly.
6. Recipients and sharing
We use providers to process information necessary for the purposes above, including Google/Firebase/AdMob, Apple (including Game Center), RevenueCat and the hosting, database or AI providers used by a feature. Content you choose to share or export goes to your selected service or recipient. We may disclose necessary information to authorities or professional advisers when required by law or to address fraud, security incidents or legitimate legal interests.
We do not earn revenue by selling personal information. Ad-supported versions transmit information to advertising providers as described above; in some jurisdictions, particular advertising practices may fall within legal definitions of “sale,” “sharing” or targeted advertising, with applicable consent and opt-out choices. Reading this policy is not consent to all optional processing.
Providers may process information outside your country. Their processing and retention practices are described in the Google Privacy Policy, Firebase privacy information, Google advertising information, and the policies of RevenueCat, Apple, Cloudflare, Vercel, OpenRouter, PostHog, Sentry and Neon.
7. Retention and security
We retain information for the periods needed to provide the relevant features, support users, maintain security, validate purchases and meet legal obligations:
- Local content: until you clear it in the app, delete the files or remove the relevant app data. Exported files, system backups and synced copies must be managed separately.
- Analytics and diagnostics: deleted or aggregated according to the enabled service’s retention settings and provider lifecycle. Contact us for the settings applicable to a particular app.
- Accounts and cloud content: retained as needed by the feature and handled according to valid deletion requests. Temporary storage and exceptions for cloud AI are described by the feature; this policy does not claim that all providers retain no data.
- Purchases and subscriptions: retained as needed for restoration, entitlements, refunds, fraud prevention and necessary accounting or legal obligations. Uninstalling an app does not automatically delete these records.
- Support and security records: retained for resolving the issue and necessary follow-up, with longer retention where required by law or a dispute.
We use safeguards appropriate to the information, including HTTPS transmission, access controls and limiting unnecessary processing. No network transmission or storage method can guarantee absolute security.
8. Choices, information requests and deletion
- Manage camera, microphone, photo and notification permissions in your operating-system settings, along with available advertising-identifier, tracking and ad-personalization controls. Use any consent or privacy controls provided by the app.
- Use the app’s clearing or deletion features to manage local content. Cancel subscriptions separately through App Store or Google Play subscription management; deleting data or uninstalling an app does not cancel a subscription.
- To ask about, access, correct or request deletion of personal information handled by us or on our behalf, email ericlamdev@gmail.com with the app name, platform, request and an account or app identifier if available. Do not send passwords or full payment-card details.
- We verify requests only as needed, handle identifiable information under our control and respond within applicable legal deadlines. If some records must be retained, we explain why. Payment information independently retained by a store must be handled through Apple’s or Google’s own channels.
- Your local law may provide rights to portability, restriction or objection, withdrawal of consent, or a complaint to a regulator. Contact us to exercise applicable rights.
9. Children and policy changes
Unless an app expressly states otherwise, our Services are not directed to children under 13 or a higher local age of consent. We do not knowingly collect children’s personal information without required authorization. Parents or guardians who believe a child has provided information that should not have been collected can contact us so we can investigate and act.
We update this policy when features, providers or applicable requirements change, and revise the date above. Material changes requiring notice or renewed consent will be handled through appropriate means. Contact: ericlamdev@gmail.com.