Rainy Clock

Privacy Policy · Last updated 21 September 2026

Overview

Rainy Clock is an iOS app that automatically adjusts your alarm time when rain is forecast along your commute route. We are committed to protecting your privacy. This policy explains what data is used and how.

Data We Do Not Collect

Rainy Clock does not:

Data Stored On Your Device

The following settings are stored locally on your device using UserDefaults:

Settings remain local. Address lookup uses the mapping services below, and AI generation sends the words you enter. Membership-backed generation also uses a verified membership session and usage records; see the membership section below.

AI Voice Alarm

Rainy Clock can wake you with a spoken line instead of a tone. The words entered for this feature are sent for processing when you tap Generate. Playing an already saved sound does not submit a new generation request.

Google processes the text under its applicable Cloud service terms. Its Cloud Text-to-Speech documentation says it does not log customer text or audio. Vertex AI data governance describes separate safety and abuse-monitoring retention; we do not promise zero retention by every processor. We do not authorize training on your submitted content.

If you do not generate an AI sound, your AI text is not sent for speech processing. Address searches still use the mapping services described below.

iOS Membership, Purchases and AI Allowances

Rainy Clock can create or recognize a membership automatically from Apple-verified app and purchase records. You do not register an email/password or separately use Sign in with Apple. We assign an internal member identifier. This is pseudonymous, not fully anonymous: records can be linked to the same App Store app/account identity across devices and reinstalls. Apple handles payment; we do not receive your Apple Account password or card details.

The backend runs on Google Cloud Run and uses Cloud Firestore databases in Taiwan (asia-east1). Production and test memberships use separate databases and keyed identity digests. Apple, Google AI and advertising services may process their respective data outside Taiwan. The app cannot directly write purchase rights or increase server allowances.

Paid plans remove banner ads, include calendar access and share one daily AI generation. Additional generations require a verified rewarded ad. The daily allowance resets at the member's local midnight and does not accumulate. Free membership has one initial generation, not one per day. Stored sounds can be played without consuming a generation. Restoring purchases restores benefits and recorded usage, not local alarm settings or an audio library.

Retention and Deleting Membership Data

Membership, purchase, usage and generation-status records remain while the membership exists. Server audio has the separate 24-hour availability window described above. Expiring sessions and challenges are rejected at expiry; database cleanup may occur later. Locally saved alarm settings and sounds remain under your control on the phone.

To delete membership data, open Settings › Other › Membership & plans › … › Delete membership data. The request revokes access first, then removes member details, purchase rows, device/session bindings, balances and saved server audio. If cleanup is interrupted, the maintenance process retries it. Local alarm settings and completed sounds are not deleted.

Limited anti-abuse records remain: keyed digests linking previously issued free/migration allowances, purchase ownership and used reward events; a current-day usage guard; and a deletion-completion marker. They prevent repeated grants, reward replay and reassigning another member's purchase. They contain no input text, audio, address or payment-card data. These digests can still recognize a returning verified identity; they are not fully anonymous. The current implementation does not automatically expire these minimal records. Contact us for questions or requests concerning this retention; applicable retention obligations and rights still apply.

Deleting membership does not cancel an Apple subscription. To stop further billing, use the app's Manage subscriptions entry or Apple subscription settings. You can delete membership without waiting for a subscription to expire. A later explicit membership refresh or restore can recreate a membership and recover valid purchases, without issuing the initial/migration grant again or resetting the current day's consumed allowance.

Service Diagnostics

Our hosting service records technical request information such as IP address, requested path, timestamp, response status and latency for security and operation. Diagnostic records may be linked to a device or request; we do not use them for advertising profiles. We do not intentionally log AI text, audio, session credentials or Apple signed payloads in application logs. Hosting logs follow the cloud project's configured retention and are separate from membership records, so deleting a membership does not immediately erase every infrastructure log.

Alarm calendar (iOS 1.7 and later)

Your calendar choice, manual ring/silent dates and time display format are stored on your device. The Taiwan office calendar downloads public calendar files from data.gov.tw and the Directorate-General of Personnel Administration (www.dgpa.gov.tw), without sending your manual dates or preferences. The United States calendar calculates recurring federal holidays and standard observed dates on the device using published Office of Personnel Management rules; it does not make a calendar network request. The app does not read your personal system calendars. Temporary disaster-closure rules are not publicly available in iOS 1.7.0.

Third-Party Services

When you enter addresses or tap "Schedule Smart Alarm," the app contacts the following services on your behalf:

Apple Maps and Apple Weather / WeatherKit are provided by Apple Inc. and are subject to Apple's own Privacy Policy. Google Maps Platform is provided by Google LLC and is subject to Google's Privacy Policy. Your addresses and location coordinates are used only to calculate routes and retrieve weather forecasts.

Weather requests on Android

Apple requires weather requests to be signed with a private key that cannot safely be placed inside an Android app, so the Android version asks Apple for the forecast through a small relay service we operate, rather than contacting Apple directly. What this means for you:

The iPhone version has no relay: it talks to Apple Weather directly.

Advertising

The free plan displays banner ads, and users may choose rewarded ads for additional AI generations. Paid plans remove banner ads; they do not remove optional rewarded ads. Advertising is provided through Unity LevelPlay, the ad mediation platform operated by Unity Technologies (formerly ironSource). Unity and the advertising partners bidding through it may process device, advertising, and interaction data to provide, limit, measure, and improve ads. LevelPlay is subject to Unity's Privacy Policy.

Tracking

On Android there is no App Tracking Transparency prompt — the mechanism does not exist on that platform. Whether the banner is personalised is governed entirely by the consent choice described at the end of this section, which the app passes to the ad SDK. The rest of this section describes the iPhone version.

When the app prepares to enable advertising and the system permits a prompt, iOS asks whether Rainy Clock may track your activity across other companies' apps and websites. This is Apple's App Tracking Transparency prompt, and your answer decides what happens:

You can change your answer at any time in Settings › Privacy & Security › Tracking. The app works exactly the same either way — the only difference is how relevant the banner is.

If you are in the European Economic Area, the United Kingdom, or Switzerland, a separate consent dialog appears before any ad loads, and you can revisit that choice at any time through Ad privacy options in the app.

Alarms and Notifications

On iOS 26 and later, alarms are scheduled through Apple's AlarmKit, which is what allows the alarm to sound through Silent mode and Focus. On iOS 17 through 25, alarms are scheduled as local notifications instead. Either way, alarms are processed entirely on your device and no alarm or notification content is sent to any server.

Children's Privacy

This app does not knowingly collect any data from children under 13.

Contact

If you have any questions about this privacy policy, please contact us at shukaihu@icloud.com.

繁體中文

概覽

Rainy Clock 是一款 iOS App,會在通勤路線預報可能下雨時,協助你把鬧鐘提前。本政策說明 App 使用哪些資料以及用途。

我們不收集的資料

Rainy Clock 不會:

iOS 會員、購買與 AI 額度

Rainy Clock 可依 Apple 已驗證的 App 與購買資料自動建立或認回會員,不要求另設 Email/密碼或另外使用「使用 Apple 登入」。我們配發內部會員編號。這是使用代碼識別的資料,不是完全匿名資料:同一 App Store 的 App/帳號身分可在換機或重裝後連結回原紀錄。付款由 Apple 處理,我們不接收 Apple 帳號密碼或信用卡資料。

後端使用 Google Cloud Run,以及位於台灣 asia-east1 的 Cloud Firestore 資料庫。正式與測試會員使用不同資料庫與身分摘要密鑰。Apple、Google AI 與廣告服務可能在台灣以外處理各自的資料。手機不能直接寫入購買權益或增加後端額度。

付費方案移除banner 廣告、提供日曆權限,並共用每天一次 AI 生成;額外生成須完成已驗證的獎勵廣告。每日額度依會員所在地午夜重置、未用不累積。免費會員為初始一次,並非每天一次。播放已存音檔不扣生成額度。「恢復購買」恢復權益與已記錄用量,不同步手機上的鬧鐘設定或音檔庫。

資料保留與刪除會員

會員、購買、用量及生成狀態紀錄在會員存續期間保留。伺服器音訊另有下述 24 小時下載期限。工作階段與請求驗證碼到期即停止接受,資料庫實體清理可能稍後完成。手機上的鬧鐘設定與音檔由你自行管理。

可在「設定 › 其他 › 會員與方案 › … › 刪除會員資料」提出刪除。系統先撤銷存取,再清除會員明細、購買資料、裝置/工作階段連結、額度與伺服器音檔;清理中斷時由維護工作續做。手機原有鬧鐘設定與完成音檔不會因此刪除。

系統仍保留最少防濫用紀錄:已發初始/遷移額度、購買歸屬、已用廣告事件的帶密鑰摘要、當日扣額度防重紀錄,以及刪除完成標記。用途是防止反覆領取、重送廣告回報或將他人的購買轉到別的會員。這些紀錄不含輸入原文、音訊、地址或卡號。摘要仍可辨認再次驗證的同一身分,並非完全匿名。目前實作未為這些最少紀錄設定自動到期;如對保留有疑問或相關資料請求,可與我們聯絡,適用的保留義務與資料權利仍須遵守。

刪除會員不會取消 Apple 訂閱。若不想再次扣款,請使用 App 的「管理訂閱」或Apple 訂閱設定停止續訂。你不必等訂閱到期才能刪除會員。之後主動同步會員或恢復購買可重建會員並恢復有效購買,但不重發初始/遷移額度,也不重置當日已使用的額度。

服務診斷

主機服務會記錄 IP 位址、請求路徑、時間、回應狀態及耗時等技術資訊,用於安全與維運。診斷紀錄可能與裝置或請求連結,不用於建立廣告輪廓。應用程式日誌不主動記錄 AI 輸入原文、音訊、工作階段憑證或 Apple 簽章內容。主機日誌依雲端專案的保留設定處理,與會員資料分開,因此刪除會員不代表所有基礎設施日誌會立即刪除。

儲存在裝置上的資料

以下設定會使用 UserDefaults 儲存在你的裝置上:

設定保存在手機;查詢地址會使用下述地圖服務,生成 AI 鬧鈴會送出輸入文字。會員生成也使用驗證過的工作階段及用量紀錄,詳見上方會員說明。

AI 語音鬧鈴

Rainy Clock 可以用一段人聲取代鈴聲叫醒你。為此功能輸入的文字會在按下「產生」時送出處理;播放已儲存的音檔不會發出新的生成請求。

Google 依適用的 Cloud 服務條款處理文字。其Cloud Text-to-Speech 文件說明不記錄客戶的文字或音訊;Vertex AI 資料治理另說明安全與濫用監測的保留情況,我們不承諾所有處理商都完全零保留。我們不授權以你提交的內容訓練模型。

若不生成 AI 音檔,你的 AI 文字不會送出做語音處理;地址查詢仍會使用下述地圖服務。

鬧鐘行事曆(iOS 1.7 以上)

行事曆來源、手動響鈴/靜音日期與時間格式保存在手機。台灣辦公日曆會從 data.gov.tw 及行政院人事行政總處(www.dgpa.gov.tw)下載公開日曆,不會傳送你的手動日期或偏好。 美國行事曆依美國人事管理局(OPM)公布的規則,在手機離線計算常態聯邦假日與標準補假日, 不發送日曆網路請求。App 不讀取你的個人系統行事曆。iOS 1.7.0 不公開提供天災臨時放假規則。

第三方服務

當你輸入地址或點選「排程智慧鬧鐘」時,App 會代表你使用下列服務:

Apple Maps 與 Apple Weather / WeatherKit 由 Apple Inc. 提供,並受 Apple 的 隱私權政策約束。Google Maps Platform 由 Google LLC 提供,並受 Google 的 隱私權政策約束。你的地址與座標只會用於計算路線與取得天氣預報。

Android 版的天氣請求

Apple 要求天氣請求必須以私鑰簽章,而該私鑰無法安全地放進 Android App,因此 Android 版是透過我們自行營運的一個小型轉發服務向 Apple 取得預報,而非直接連線。這對你的意義是:

iPhone 版沒有這個轉發服務,它直接與 Apple Weather 連線。

廣告

免費方案顯示 banner 廣告,也可自願觀看獎勵廣告取得額外 AI 生成。付費方案移除 banner,不移除自願使用的獎勵廣告。廣告透過 Unity LevelPlay 提供;LevelPlay 是由 Unity Technologies 營運的廣告中介平台(前身為 ironSource)。Unity 與透過它競價的廣告夥伴可能會處理裝置、廣告與互動資料,用於提供、限制、衡量與改善廣告。LevelPlay 受 Unity 的 隱私權政策約束。

追蹤

Android 版沒有「App 追蹤透明度」提示——這個機制在該平台上並不存在。廣告是否個人化,完全取決於本節末尾所述的同意選擇,由 App 傳遞給廣告 SDK。本節其餘內容描述的是 iPhone 版。

App 準備啟用廣告、且系統允許顯示提示時,iOS 會詢問是否允許 Rainy Clock 追蹤你在其他公司 App 與網站上的活動。這是 Apple 的「App 追蹤透明度」提示,你的選擇決定接下來的行為:

你可以隨時在「設定 › 隱私權與安全性 › 追蹤」更改這個選擇。無論選擇哪一種,App 的功能完全相同,差別只在廣告的關聯性。

若你位於歐洲經濟區、英國或瑞士,在任何廣告載入前還會出現一個獨立的同意對話框,之後可隨時透過 App 內的「廣告隱私設定」重新調整。

鬧鐘與通知

在 iOS 26 以上,鬧鐘透過 Apple 的 AlarmKit 排程,這也是鬧鐘能穿透靜音與專注模式的原因;在 iOS 17 至 25 則以本機通知排程。兩種方式都完全在你的裝置上處理,鬧鐘與通知內容不會傳送到任何伺服器。

兒童隱私

本 App 不會刻意收集 13 歲以下兒童的資料。

聯絡方式

若你對本隱私政策有任何問題,請聯絡:shukaihu@icloud.com。