隱私政策
1. 我們是誰
本 App「Nyoki!(蘑菇計時器)」由獨立開發者 megshao(以下簡稱「我們」)開發與維運。聯絡方式:請至支援頁面填寫聯絡表單。
2. 我們蒐集的資料
Nyoki! 目前提供 iOS 版與 Android 版。我們僅蒐集為了提供服務所必須的最小資料,部分項目因平台機制不同而有差異:
| 類別 | 內容 | 來源 | 是否與身份連結 |
|---|---|---|---|
| 識別碼 | iOS:匿名 User ID(UUID)、Device ID(UUID);若您啟用推播或動態島,另包含 APNs Push Token、Live Activity Push-to-Start Token。 Android:匿名 User ID(UUID)、Device ID(UUID)與 Install ID(UUID),於呼叫後端 API 時以 X-Device-Id / X-Install-Id 標頭送出。Android 版沒有任何推播 Token。 |
App 首次啟動時於本機產生:iOS 儲存於 Keychain,Android 儲存於以 Android Keystore 加密保護的本機儲存區;推播 Token 由 Apple 發放(僅 iOS)。 | 否(不連結至姓名 / Email) |
| 診斷資料 | Crash log、堆疊追蹤、設備資訊(型號、OS 版本、App 版本),不含個人內容。為協助重現問題,每筆 Crash 報告會帶上您的匿名 User ID。兩個平台皆同。 | Firebase Crashlytics。 | 否 |
| 廣告識別碼 | iOS:IDFA 或裝置層級識別碼(僅於您在 ATT 提示同意時);用於廣告頻率上限、SKAdNetwork 歸因、防作弊,以及個人化廣告投放。 Android:Google 廣告 ID(GAID);App 宣告 AD_ID 權限(由 Google Mobile Ads SDK 自動合併),用於廣告頻率上限、歸因、防作弊與個人化廣告投放。 |
Google AdMob。 | iOS:視 ATT 選擇而定。Android:目前採 AdMob 預設之個人化投放,您可於系統設定重設/刪除廣告 ID 或關閉廣告個人化。 |
截圖不在此列:Nyoki! 採 100% 裝置端圖像辨識——iOS 版使用 Apple Vision framework,Android 版使用 Google ML Kit 文字辨識(Text Recognition v2),兩者都在您的裝置上完成運算。您匯入的截圖完全不離開您的手機,沒有任何圖片資料上傳到我們的伺服器或任何第三方雲端服務。
我們對應 Apple「App Privacy」問卷與 Google Play「資料安全」(Data safety)表單的揭露為:Identifiers / Diagnostics / Usage Data,用途為「App 功能」、「分析」與「第三方廣告」。iOS 版除非您於 App Tracking Transparency(ATT)提示中明確同意,我們不會將您的識別碼用於跨 App / 跨網站之使用者行為追蹤。Android 版沒有 ATT 這類系統層級的追蹤詢問,目前採 Google AdMob 預設的個人化廣告設定(詳見服務條款第 3 節);您可隨時於 Android 系統設定重設廣告 ID 或關閉廣告個人化。
3. 蒐集目的
- 提供匿名身份,讓您無須註冊帳號即可使用本 App,並在客服詢問時對應到後端紀錄。
- 於 App 發生錯誤時收集診斷資訊以改善穩定性。
- 僅 iOS 版:透過 Apple 推播服務(APNs)推送計時到時通知與動態島 Live Activity 更新。Android 版的到時提醒與鎖定畫面 Live Update 完全由裝置本機排程,不經過任何推播伺服器。
- 驗證自願贊助的購買憑證(見第 5 節)。
- 顯示廣告以支持 App 維運。
4. 第三方服務揭露
我們使用以下第三方服務,您的部分資料會在這些服務的條件下處理:
- Apple Push Notification service (APNs) — 僅 iOS 版,用於推送通知與 Live Activity 更新。Android 版不使用推播服務,亦未整合 Firebase Cloud Messaging(FCM)。
- Firebase Crashlytics — 由 Google LLC 提供,兩個平台皆啟用。當 App 發生 Crash 時,自動蒐集 Crash log、堆疊追蹤(Stack Trace)、設備資訊(裝置型號、OS 版本、App 版本)以重現並修復問題。每筆 Crash 報告會關聯至您的匿名 User ID(UUID),協助我們在客服詢問時定位問題;此 ID 不包含姓名、Email 或商店帳號。Crashlytics 不會用於跨 App / 跨網站之行銷追蹤。
- Firebase Analytics — 由 Google LLC 提供,兩個平台皆啟用。用於衡量廣告成效與使用分析,會蒐集 AdMob 自動記錄的事件(如 ad_impression 廣告曝光)以及裝置識別碼與產品互動資料(如畫面瀏覽、事件次數)。這些資料協助我們了解廣告表現與 App 使用情形;不含姓名、Email 或商店帳號。
- Google AdMob — 顯示廣告以支持 App 維運,兩個平台皆使用。iOS 版:AdMob 可能蒐集 IDFA/其他裝置層級識別碼,用於廣告頻率上限、SKAdNetwork 歸因、防作弊與個人化廣告投放;您在 ATT 提示中的選擇,決定您看到的廣告是不是個人化的——選擇「允許」時我們送出個人化廣告請求,選擇「要求 App 不要追蹤」、尚未回答或受系統限制時,一律以非個人化(npa=1)方式發送。Android 版:Android 沒有 ATT 機制,目前採 AdMob 預設的個人化廣告設定,未導入同意管理平台(CMP)流程;您可於 Android 系統設定重設/刪除廣告 ID 或關閉廣告個人化。
- Apple App Store/Google Play(金流) — 處理自願贊助的付款。我們不接觸您的付款方式資料,詳見第 5 節。
- Google Cloud Platform(後端基礎設施) — 用於匿名身份註冊、贊助收據的伺服器端驗證,以及 iOS 版 Live Activity 推播 token 註冊;資料儲存於 GCP,傳輸與靜態加密均啟用。
5. 自願贊助(Tip Jar)與金流資料
本 App 提供一次性的自願贊助,贊助不會解鎖任何功能,完整條款見服務條款第 4 節。就資料處理而言:
- 我們不接觸您的付款資料:贊助的金流全部由 Apple(App Store)或 Google(Google Play)處理。我們看不到也不會儲存您的信用卡號、帳單地址或商店帳號資訊。
- 收據驗證:為確認贊助確實完成,App 會把商店發出的購買憑證送到我們的後端做伺服器端驗證(Android 版為 POST /donations/verify,iOS 版為對應的收據驗證流程)。送出的內容是商店的交易憑證與商品識別碼,僅連結到您的匿名 User ID,不含姓名或 Email。
- 保留:贊助的交易紀錄依稅務與退款保固規定保留至交易發生後 5 年,且僅與您的匿名 User ID 連結。
6. 我們不會做的事
- 我們不販售您的個人資料。
- iOS 版除非您於 ATT 提示中明確同意,否則我們不會將您的識別碼跨 App / 跨網站連結以建立行銷檔案;Android 版我們自己也不做這件事,AdMob 的廣告個人化則由您在系統設定中的廣告 ID 選擇決定。
- 我們不會主動讀取您相簿中未經您授權的照片。
- 我們不會將您的截圖上傳到雲端——所有圖像辨識在裝置端完成。
- 我們不會儲存您的 Apple ID/Google 帳號 Email、密碼或其他帳號憑證。
7. 資料儲存、保留與安全
- 後端資料儲存於 Google Cloud Platform(asia-east1 區域);傳輸層使用 TLS,靜態資料由 GCP 預設加密。
- 匿名 User ID / Device ID / Session Token:iOS 版儲存於裝置 Keychain,不同步至 iCloud;Android 版儲存於以 Android Keystore 加密保護的本機儲存區,且 App 已關閉 Android 系統的自動備份。
- 計時器資料只存在您的裝置本機(iOS 為 SwiftData、Android 為本機 SQLite / Room 資料庫),不會上傳,也不會跨裝置同步。
- 診斷紀錄保留期間依 Firebase 預設(最長 14 個月)。
- Live Activity push token 於計時器結束後自動移除(僅 iOS 版;Android 版沒有推播 token)。
8. 兒童保護
本 App 於 Apple App Store 的年齡分級為 4+。本服務並非以 13 歲以下兒童為主要使用對象,且我們不會主動向 13 歲以下兒童蒐集任何個人資料。若您為兒童監護人並認為我們已蒐集到此類資料,請立即聯絡我們以刪除。
9. 您的權利
由於本 App 採匿名 ID 設計,我們無法以姓名或 Email 直接定位您的紀錄。您可在 App 設定畫面查看您的 User ID(前 8 碼),並透過下列方式行使權利:
- 存取 / 更正 / 刪除:請至支援頁面填寫聯絡表單,主旨選擇「資料刪除請求」,並於訊息中附上 App 內顯示之 User ID,我們將於合理期間內處理。
- 撤回:您可隨時於系統設定中關閉通知。iOS 版可於「設定 → 隱私權與安全性 → 追蹤」撤回 ATT 授權;Android 版可於系統設定重設或刪除廣告 ID、關閉廣告個人化。您也可以直接刪除 App 以停止裝置層級的資料蒐集。
10. Cookie 與追蹤技術
本網站(nyoki.app)為純靜態頁面,不使用 Cookie、Local Storage、Pixel 或任何分析腳本。App 內亦未植入跨網站追蹤技術。
11. 跨境資料傳輸
我們的後端伺服器位於 GCP asia-east1(台灣彰化)。Apple、Google、Firebase 等第三方服務之資料處理可能涉及全球資料中心;當資料離開您的所在地區時,我們會在合約上要求其遵守等同於本政策之保護標準。
12. 政策變更
若本政策有重大變更,我們會於本頁面更新「最後更新」日期,並於 App 內以顯著方式通知您。繼續使用 App 即視為您接受變更後之條款。
13. v1.x 訂閱資料留存(僅適用 iOS 版)
本節僅適用於 iOS 版;Android 版自首次上架起即為免費、無訂閱、無點數之設計,不存在 v1.x 交易紀錄。
v2.0.0 起 iOS 版已移除所有訂閱與點數購買功能。先前 v1.x 期間透過 Apple StoreKit 完成的交易紀錄(產品 ID、購買時間、收據)依稅務與退款保固規定保留至交易發生後 5 年;該等紀錄僅與您的匿名 User ID 連結,不含姓名或 Email。
14. 聯絡我們
如有任何隱私相關問題,請至支援頁面填寫聯絡表單。
English Version
1. Who We Are
"Nyoki!" is developed and operated by independent developer megshao. Contact: please use the contact form on our Support page.
2. Data We Collect
Nyoki! is available for iOS and Android. Some items differ because the two platforms work differently:
- Identifiers — iOS: anonymous User ID (UUID), Device ID (UUID), and APNs / Live Activity push tokens, stored in the Keychain. Android: anonymous User ID (UUID), Device ID (UUID) and Install ID (UUID), sent as X-Device-Id / X-Install-Id headers on API calls and stored in Android Keystore-protected local storage. The Android build has no push tokens of any kind. None of these are linked to your name or email.
- Diagnostics — crash logs, stack traces, device info (model, OS version, app version) via Firebase Crashlytics, on both platforms. Each crash report is tagged with your anonymous User ID so we can correlate it with our own logs; no personal content is included.
- Advertising identifiers — iOS: IDFA or device-level identifiers, only when you grant ATT consent. Android: the Google Advertising ID (GAID); the app declares the AD_ID permission (auto-merged by the Google Mobile Ads SDK). Used for ad frequency capping, attribution (SKAdNetwork on iOS), fraud prevention, and personalized ad delivery.
Screenshots are not collected. Nyoki! uses 100% on-device image recognition — Apple's Vision framework on iOS, Google ML Kit Text Recognition v2 on Android. The screenshots you import never leave your phone; no image data is uploaded to our servers or any third-party cloud service.
Mapping to Apple's App Privacy questionnaire and Google Play's Data safety form: Identifiers / Diagnostics / Usage Data, used for App Functionality, Analytics, and Third-Party Advertising. On iOS we do not link your identifiers across apps or websites for tracking purposes unless you explicitly opt in via the App Tracking Transparency prompt. Android has no ATT-style system prompt; the Android build currently uses AdMob's default personalized-ads setting (see Terms Section 3), and you can reset your advertising ID or opt out of ad personalization in Android system settings at any time.
3. Purposes
Anonymous identity so you can use the App without signing up; diagnostics & analytics; verification of voluntary tip receipts (Section 5); and ad serving to support the app. On iOS only, APNs delivers timer notifications and Dynamic Island / Live Activity updates — on Android, timer alerts and the Lock Screen Live Update are scheduled entirely on the device and never pass through a push server.
4. Third Parties
- Apple Push Notification service (APNs) — iOS only: push notifications and Live Activity updates. The Android build uses no push service and does not integrate Firebase Cloud Messaging (FCM).
- Firebase Crashlytics (Google LLC) — enabled on both platforms. Collects crash logs, stack traces, and device info (model, OS version, app version) to diagnose and fix bugs. Each crash report is associated with your anonymous User ID (UUID); the ID does not contain name, email, or store account. Not used for cross-app marketing tracking.
- Firebase Analytics (Google LLC) — enabled on both platforms, used to measure ad performance and app usage. Collects events automatically logged by AdMob (e.g. ad_impression) along with device identifiers and product-interaction data (e.g. screen views, event counts). It contains no name, email, or store account.
- Google AdMob — ads support the app's operation on both platforms. iOS: AdMob may collect IDFA / device-level identifiers for frequency capping, SKAdNetwork attribution, fraud prevention and personalized ads; your answer to the ATT prompt decides whether your ads are personalized — "Allow" sends a personalized request, while "Ask App Not to Track", no answer yet, or a system-level restriction sends every request in non-personalized mode (npa=1). Android: there is no ATT mechanism; the Android build currently uses AdMob's default personalized-ads behavior with no consent management platform (CMP) flow, and you can reset or delete your advertising ID or opt out of ad personalization in Android system settings.
- Apple App Store / Google Play (payments) — process voluntary tips. We never see your payment details; see Section 5.
- Google Cloud Platform — backend hosting for anonymous identity registration, server-side verification of tip receipts, and (iOS only) Live Activity push-token registration.
5. Voluntary Tip (Tip Jar) & Payment Data
- We never handle your payment details. Tips are processed entirely by Apple (App Store) or Google (Google Play). We cannot see and do not store your card number, billing address, or store account.
- Receipt verification. To confirm a tip completed, the App sends the store-issued purchase receipt to our backend for server-side verification (POST /donations/verify on Android; the equivalent receipt-verification flow on iOS). What is sent is the store transaction receipt and the product ID, linked only to your anonymous User ID — no name, no email.
- Retention. Tip transaction records are retained for up to 5 years per tax / refund regulations and are linked only to your anonymous User ID.
Tipping unlocks no features; see Terms Section 4 for the full conditions.
6. What We Do Not Do
We do not sell your personal data; on iOS we do not link identifiers across apps or websites for tracking unless you explicitly consent via ATT, and on Android we do not do so ourselves (AdMob's personalization follows your system advertising-ID choice); we do not access your photo library without your action; we do not upload your screenshots to any cloud — all image recognition runs on-device; and we do not store your Apple ID or Google account credentials.
7. Storage, Retention & Security
Backend hosted on GCP asia-east1 with TLS in transit and at-rest encryption. Identifiers are stored in the device Keychain on iOS (not iCloud-synced) and in Android Keystore-protected local storage on Android, where system auto-backup is disabled. Timer data lives only on the device (SwiftData on iOS, a local SQLite / Room database on Android) and is never uploaded or synced across devices. Live Activity push tokens are removed automatically when the timer ends (iOS only — Android has no push tokens). Diagnostic records retained per Firebase default (up to 14 months).
8. Children
The Apple App Store rating is 4+. We do not knowingly collect personal data from children under 13. Guardians may contact us for deletion.
9. Your Rights
Submit a request via the contact form on our Support page (choose subject "資料刪除請求" / Data Deletion) and include your in-app User ID (first 8 characters) to exercise access, correction, or deletion rights. You can also withdraw at any time: turn notifications off in system settings, revoke ATT consent under iOS Settings → Privacy & Security → Tracking, or reset / delete your advertising ID and opt out of ad personalization in Android system settings — or simply delete the App.
10. Cookies
This website uses no cookies, local storage, or analytics scripts.
11. Cross-Border Transfers
Backend resides in GCP asia-east1 (Changhua, Taiwan). Third-party providers may process data globally under their respective policies.
12. Changes
Material changes will update the "Last Updated" date on this page and be announced in-app.
13. v1.x Subscription Records (iOS only)
This section applies to the iOS build only; the Android build has been free with no subscriptions and no credits since its first release, so no v1.x transaction records exist for it. Starting with v2.0.0, all subscription and credit-purchase functionality was removed from iOS. Transaction records from prior v1.x StoreKit purchases (product IDs, timestamps, receipts) are retained for up to 5 years per tax / refund regulations. These records are linked only to your anonymous User ID and contain no name or email.
14. Contact
Please use the contact form on our Support page.
日本語版
1. 私たちについて
本App「Nyoki!(キノコタイマー)」は、独立開発者 megshao(以下「当方」)が開発・運営しています。お問い合わせはサポートページのお問い合わせフォームからご連絡ください。
2. 収集するデータ
Nyoki!はiOS版とAndroid版を提供しています。プラットフォームの仕組みの違いにより、一部の項目は異なります。
- 識別子:iOS版は匿名User ID(UUID)、Device ID(UUID)、APNs / Live Activityプッシュトークンで、Keychainに保存します。Android版は匿名User ID(UUID)、Device ID(UUID)、Install ID(UUID)で、バックエンドAPI呼び出し時にX-Device-Id/X-Install-Idヘッダーとして送信され、Android Keystoreで保護されたローカル領域に保存されます。Android版にはプッシュトークンは一切ありません。いずれも氏名やメールアドレスとは紐付きません。
- 診断情報:両プラットフォームでFirebase Crashlyticsによるクラッシュログ、スタックトレース、デバイス情報(機種、OSバージョン、アプリバージョン)を収集します。各クラッシュレポートには照合のため匿名User IDを付与しますが、個人情報は含みません。
- 広告識別子:iOS版はIDFAまたはデバイスレベル識別子(ATT同意時のみ)。Android版はGoogle広告ID(GAID)で、AD_ID権限を宣言しています(Google Mobile Ads SDKにより自動マージ)。いずれもフリークエンシーキャップ、アトリビューション(iOSはSKAdNetwork)、不正防止、パーソナライズ広告の配信に使用します。
スクリーンショットは収集しません。Nyoki!は100%デバイス内で画像認識を行います——iOS版はApple Visionフレームワーク、Android版はGoogle ML Kitのテキスト認識(Text Recognition v2)を使用します。お客様が取り込んだスクリーンショットは端末から外に出ず、当方のサーバーや第三者クラウドサービスへ画像データがアップロードされることはありません。
Appleの「App Privacy」アンケートおよびGoogle Playの「データセーフティ」フォームとの対応:Identifiers/Diagnostics/Usage Dataを「App機能」「分析」「第三者広告」の目的で利用します。iOS版ではApp Tracking Transparency(ATT)プロンプトで明示的に同意いただかない限り、識別子をアプリ/サイト横断のトラッキングには使用しません。Android版にはATTのようなシステムレベルの確認がなく、現在はAdMobのデフォルト(パーソナライズ広告)設定で動作しています(利用規約第3条参照)。Androidのシステム設定から広告IDのリセットや広告のパーソナライズのオプトアウトはいつでも可能です。
3. 利用目的
アカウント登録なしでご利用いただくための匿名アイデンティティの提供、診断・分析、任意の寄付のレシート検証(第5条)、アプリ運営のための広告配信。iOS版のみ、APNsによりタイマー通知とDynamic Island/Live Activityの更新を配信します。Android版のタイマー通知とロック画面のLive Updateはすべて端末内でスケジュールされ、プッシュサーバーを一切経由しません。
4. 第三者サービス
- Apple Push Notification service (APNs) — iOS版のみ。プッシュ通知とLive Activity更新に使用します。Android版はプッシュサービスを使用せず、Firebase Cloud Messaging(FCM)も導入していません。
- Firebase Crashlytics(Google LLC)— 両プラットフォームで有効。クラッシュログ、スタックトレース、デバイス情報(機種、OSバージョン、アプリバージョン)を収集して不具合を特定・修正します。各クラッシュレポートは匿名User ID(UUID)と紐付きます。User IDには氏名、メール、ストアアカウントは含まれません。アプリ横断のマーケティング追跡には使用しません。
- Firebase Analytics(Google LLC)— 両プラットフォームで有効。広告効果の測定と利用状況の分析に使用します。AdMobが自動記録するイベント(ad_impression(広告表示)など)、およびデバイス識別子や製品操作データ(画面表示、イベント回数など)を収集します。氏名、メール、ストアアカウントは含みません。
- Google AdMob — 両プラットフォームでアプリ運営のため広告を表示します。iOS版:フリークエンシーキャップ、SKAdNetworkアトリビューション、不正防止、パーソナライズ広告のためIDFA/デバイスレベル識別子を収集する場合があります。ATTプロンプトでのお客様の選択が、表示される広告がパーソナライズされるかどうかを決めます——「許可」の場合はパーソナライズ広告リクエストを送信し、「Appにトラッキングしないよう要求」・未回答・システム側の制限がある場合はすべてパーソナライズなし(npa=1)で送信します。Android版:ATTの仕組みがないため、現在はAdMobのデフォルト(パーソナライズ広告)で動作し、同意管理プラットフォーム(CMP)の同意フローは導入していません。Androidのシステム設定から広告IDのリセット・削除や広告のパーソナライズのオプトアウトが可能です。
- Apple App Store/Google Play(決済) — 任意の寄付の決済を処理します。当方がお客様の支払い情報に触れることはありません(第5条参照)。
- Google Cloud Platform — 匿名アイデンティティの登録、寄付レシートのサーバー側検証、およびiOS版のLive Activityプッシュトークン登録のためのバックエンド基盤。
5. 任意の寄付(Tip Jar)と決済データ
- お客様の支払い情報に当方は触れません。寄付の決済はすべてApple(App Store)またはGoogle(Google Play)が処理します。カード番号、請求先住所、ストアアカウント情報を当方が閲覧することも保存することもありません。
- レシート検証:寄付が正しく完了したことを確認するため、ストアが発行した購入レシートを当方のバックエンドへ送信しサーバー側で検証します(Android版はPOST /donations/verify、iOS版は対応するレシート検証フロー)。送信されるのはストアの取引レシートと商品IDのみで、匿名User IDにのみ紐付き、氏名やメールアドレスは含みません。
- 保持:寄付の取引記録は税務・返金保証の規定に従い取引発生後5年間保持され、匿名User IDにのみ紐付きます。
寄付によって解除される機能はありません。詳しい条件は利用規約第4条をご覧ください。
6. 行わないこと
個人情報の販売は行いません。iOS版ではATTでの明示的な同意がない限り、アプリ/サイト横断での識別子紐付けは行いません。Android版でも当方自身がそのような紐付けを行うことはありません(AdMobのパーソナライズはシステム設定の広告IDに関するお客様の選択に従います)。お客様の操作なしに写真ライブラリへアクセスしません。スクリーンショットをクラウドへアップロードしません——画像認識はすべてデバイス内で完結します。Apple IDやGoogleアカウントの認証情報は保存しません。
7. 保存・保持・セキュリティ
バックエンドはGCP asia-east1にホストし、転送時はTLS、保存時はGCPデフォルトの暗号化を使用します。識別子はiOS版ではデバイスKeychain(iCloud同期なし)、Android版ではAndroid Keystoreで保護されたローカル領域に保存し、Android版ではシステムの自動バックアップも無効にしています。タイマーデータは端末内のみに保存され(iOS版はSwiftData、Android版はローカルのSQLite/Roomデータベース)、アップロードも端末間同期も行いません。Live Activityプッシュトークンはタイマー終了時に自動削除されます(iOS版のみ。Android版にプッシュトークンはありません)。診断ログはFirebaseのデフォルト保持期間(最長14ヶ月)に従います。
8. 児童の保護
Apple App Storeの年齢制限は4+です。13歳未満の児童から個人データを意図的に収集することはありません。保護者の方は削除のためお問い合わせください。
9. お客様の権利
アクセス、訂正、削除のリクエストはサポートページのお問い合わせフォームからお送りください(件名で「資料刪除請求」を選択)。アプリ内に表示されるUser IDの先頭8文字を本文に記載してください。撤回はいつでも可能です:システム設定で通知をオフにする、iOS版は「設定 → プライバシーとセキュリティ → トラッキング」でATTの許可を取り消す、Android版はシステム設定で広告IDをリセット・削除するか広告のパーソナライズをオフにする、あるいはアプリを削除してください。
10. Cookie
本ウェブサイトはCookie、ローカルストレージ、分析スクリプトを一切使用しません。
11. 越境移転
バックエンドはGCP asia-east1(台湾彰化)に配置されています。各第三者サービスはそれぞれのポリシーに従い世界各地のデータセンターでデータを処理する場合があります。
12. 変更
重要な変更があった場合は、本ページの「最終更新日」を更新し、アプリ内でお知らせします。
13. v1.x サブスクリプション記録(iOS版のみ)
本条はiOS版にのみ適用されます。Android版は初回公開時から無料・サブスクリプションなし・ポイントなしの設計であり、v1.xの取引記録は存在しません。v2.0.0以降、iOS版からすべてのサブスクリプションおよびポイント購入機能は廃止されています。v1.x期間中にApple StoreKitで成立した取引記録(商品ID、購入日時、レシート)は税務・返金保証の規定に従い取引発生後5年間保持されます。これらの記録はお客様の匿名User IDのみと紐付き、氏名やメールアドレスは含みません。
14. お問い合わせ
サポートページのお問い合わせフォームをご利用ください。
한국어판
1. 운영자 정보
본 앱「Nyoki!(버섯 타이머)」는 독립 개발자 megshao(이하 "당사")가 개발·운영합니다. 문의는 지원 페이지의 문의 양식을 이용해 주세요.
2. 수집하는 데이터
Nyoki!는 iOS판과 Android판을 제공합니다. 플랫폼의 구조가 다르기 때문에 일부 항목은 차이가 있습니다.
- 식별자: iOS판은 익명 User ID(UUID), Device ID(UUID), APNs / Live Activity 푸시 토큰이며 Keychain에 저장됩니다. Android판은 익명 User ID(UUID), Device ID(UUID), Install ID(UUID)로, 백엔드 API 호출 시 X-Device-Id / X-Install-Id 헤더로 전송되며 Android Keystore로 보호되는 로컬 저장 영역에 보관됩니다. Android판에는 푸시 토큰이 전혀 없습니다. 어느 것도 이름이나 이메일과 연결되지 않습니다.
- 진단 정보: 두 플랫폼 모두 Firebase Crashlytics를 통한 충돌 로그, 스택 트레이스, 기기 정보(모델, OS 버전, 앱 버전)를 수집합니다. 각 충돌 리포트에는 대조 목적의 익명 User ID가 부여되며 개인 정보는 포함하지 않습니다.
- 광고 식별자: iOS판은 IDFA 또는 기기 수준 식별자(ATT 동의 시에만). Android판은 Google 광고 ID(GAID)이며 AD_ID 권한을 선언합니다(Google Mobile Ads SDK가 자동 병합). 모두 광고 빈도 제한, 어트리뷰션(iOS는 SKAdNetwork), 어뷰징 방지, 맞춤형 광고 게재에 사용합니다.
스크린샷은 수집하지 않습니다. Nyoki!는 100% 기기 내 이미지 인식을 사용합니다 — iOS판은 Apple Vision 프레임워크, Android판은 Google ML Kit 텍스트 인식(Text Recognition v2)을 사용합니다. 사용자가 가져온 스크린샷은 기기를 벗어나지 않으며, 당사 서버나 제3자 클라우드 서비스로 이미지 데이터가 업로드되지 않습니다.
Apple "App Privacy" 설문 및 Google Play "데이터 보안(Data safety)" 양식 매핑: Identifiers / Diagnostics / Usage Data를 "앱 기능", "분석", "제3자 광고" 목적으로 사용합니다. iOS판은 App Tracking Transparency(ATT) 프롬프트에서 명시적으로 동의하지 않는 한, 식별자를 앱·웹사이트 간 추적 용도로 사용하지 않습니다. Android판에는 ATT와 같은 시스템 수준의 확인 절차가 없으며, 현재 AdMob의 기본(맞춤형 광고) 설정으로 동작합니다(이용약관 제3조 참조). Android 시스템 설정에서 언제든지 광고 ID를 재설정하거나 광고 맞춤설정을 해제하실 수 있습니다.
3. 사용 목적
가입 없이 앱을 사용하실 수 있도록 하는 익명 아이덴티티 제공, 진단·분석, 자발적 후원의 영수증 검증(제5조), 앱 운영을 위한 광고 송출. iOS판에 한해 APNs로 타이머 알림과 다이나믹 아일랜드 / Live Activity 업데이트를 전송합니다. Android판의 타이머 알림과 잠금 화면 Live Update는 전적으로 기기 내에서 예약되며 푸시 서버를 전혀 거치지 않습니다.
4. 제3자 서비스
- Apple Push Notification service (APNs) — iOS판 전용. 푸시 알림 및 Live Activity 업데이트에 사용합니다. Android판은 푸시 서비스를 사용하지 않으며 Firebase Cloud Messaging(FCM)도 도입하지 않았습니다.
- Firebase Crashlytics(Google LLC) — 두 플랫폼 모두 활성. 충돌 로그, 스택 트레이스, 기기 정보(모델, OS 버전, 앱 버전)를 수집해 버그를 진단·수정합니다. 각 충돌 리포트는 익명 User ID(UUID)와 연결되며, ID에는 이름, 이메일, 스토어 계정이 포함되지 않습니다. 앱 간 마케팅 추적에는 사용하지 않습니다.
- Firebase Analytics(Google LLC) — 두 플랫폼 모두 활성. 광고 성과 측정 및 사용 분석에 사용합니다. AdMob이 자동 기록하는 이벤트(ad_impression(광고 노출) 등)와 기기 식별자, 제품 상호작용 데이터(화면 조회, 이벤트 횟수 등)를 수집합니다. 이름, 이메일, 스토어 계정은 포함하지 않습니다.
- Google AdMob — 두 플랫폼 모두 앱 운영을 위해 광고를 표시합니다. iOS판: 빈도 제한, SKAdNetwork 어트리뷰션, 어뷰징 방지, 맞춤형 광고를 위해 IDFA / 기기 수준 식별자를 수집할 수 있으며, ATT 프롬프트에서의 선택이 표시되는 광고가 맞춤형인지를 결정합니다 — "허용"이면 맞춤형 광고 요청을 전송하고, "앱에 추적 금지 요청"·미응답·시스템 제한인 경우 모든 요청을 비개인화(npa=1)로 전송합니다. Android판: ATT 메커니즘이 없어 현재 AdMob의 기본(맞춤형 광고) 동작을 사용하며 동의 관리 플랫폼(CMP) 절차는 도입하지 않았습니다. Android 시스템 설정에서 광고 ID를 재설정·삭제하거나 광고 맞춤설정을 해제하실 수 있습니다.
- Apple App Store / Google Play(결제) — 자발적 후원의 결제를 처리합니다. 당사는 사용자의 결제 정보에 접근하지 않습니다(제5조 참조).
- Google Cloud Platform — 익명 아이덴티티 등록, 후원 영수증의 서버 측 검증, 그리고 iOS판 Live Activity 푸시 토큰 등록을 위한 백엔드 인프라.
5. 자발적 후원(Tip Jar)과 결제 데이터
- 당사는 사용자의 결제 정보에 접근하지 않습니다. 후원 결제는 전적으로 Apple(App Store) 또는 Google(Google Play)이 처리합니다. 카드 번호, 청구 주소, 스토어 계정 정보를 당사가 볼 수도 저장하지도 않습니다.
- 영수증 검증: 후원이 실제로 완료되었는지 확인하기 위해 스토어가 발급한 구매 영수증을 당사 백엔드로 보내 서버 측에서 검증합니다(Android판은 POST /donations/verify, iOS판은 이에 상응하는 영수증 검증 절차). 전송되는 것은 스토어의 거래 영수증과 상품 ID이며, 익명 User ID에만 연결되고 이름이나 이메일은 포함하지 않습니다.
- 보관: 후원 거래 기록은 세무·환불 규정에 따라 거래 발생 후 최대 5년간 보관되며 익명 User ID에만 연결됩니다.
후원으로 해제되는 기능은 없습니다. 자세한 조건은 이용약관 제4조를 참고해 주세요.
6. 하지 않는 일
개인 정보를 판매하지 않습니다. iOS판에서는 ATT 동의 없이 식별자를 앱·웹사이트 간 추적 용도로 연결하지 않으며, Android판에서도 당사가 그러한 연결을 하지 않습니다(AdMob의 맞춤설정은 시스템 설정의 광고 ID 선택에 따릅니다). 사용자의 조작 없이 사진 라이브러리에 접근하지 않습니다. 스크린샷을 클라우드로 업로드하지 않습니다 — 모든 이미지 인식이 기기 내에서 완결됩니다. Apple ID나 Google 계정의 자격 증명을 저장하지 않습니다.
7. 보관, 보존 및 보안
백엔드는 GCP asia-east1에 호스팅되며, 전송 시 TLS, 저장 시 GCP 기본 암호화를 사용합니다. 식별자는 iOS판에서는 기기 Keychain(iCloud 동기화 없음), Android판에서는 Android Keystore로 보호되는 로컬 저장 영역에 보관되며 Android판은 시스템 자동 백업도 비활성화되어 있습니다. 타이머 데이터는 기기 내부에만 저장되며(iOS판은 SwiftData, Android판은 로컬 SQLite / Room 데이터베이스) 업로드되거나 기기 간 동기화되지 않습니다. Live Activity 푸시 토큰은 타이머 종료 시 자동 삭제됩니다(iOS판 전용 — Android판에는 푸시 토큰이 없습니다). 진단 로그는 Firebase의 기본 보관 기간(최대 14개월)을 따릅니다.
8. 아동 보호
Apple App Store 연령 등급은 4+입니다. 13세 미만 아동의 개인 정보를 의도적으로 수집하지 않습니다. 보호자께서는 삭제를 위해 연락 부탁드립니다.
9. 사용자의 권리
접근, 정정, 삭제 요청은 지원 페이지의 문의 양식으로 보내 주세요(주제에서 "資料刪除請求"를 선택). 앱 내 표시되는 User ID 앞 8자리를 본문에 적어 주시기 바랍니다. 철회는 언제든지 가능합니다: 시스템 설정에서 알림을 끄시거나, iOS판은 "설정 → 개인정보 보호 및 보안 → 추적"에서 ATT 허용을 취소하시거나, Android판은 시스템 설정에서 광고 ID를 재설정·삭제하고 광고 맞춤설정을 해제하시거나, 앱을 삭제하시면 됩니다.
10. 쿠키
본 웹사이트는 쿠키, 로컬 스토리지, 분석 스크립트를 일절 사용하지 않습니다.
11. 국외 이전
백엔드는 GCP asia-east1(대만 창화)에 위치합니다. 각 제3자 서비스 제공자는 자체 정책에 따라 전 세계 데이터 센터에서 데이터를 처리할 수 있습니다.
12. 변경 사항
중요한 변경이 있을 경우 본 페이지의 "최종 업데이트" 일자를 갱신하고 앱 내에서 안내합니다.
13. v1.x 구독 기록(iOS판 전용)
본 조항은 iOS판에만 적용됩니다. Android판은 최초 출시부터 무료이며 구독도 포인트도 없는 설계이므로 v1.x 거래 기록이 존재하지 않습니다. v2.0.0부터 iOS판에서 모든 구독 및 포인트 구매 기능이 제거되었습니다. v1.x 기간 중 Apple StoreKit으로 성사된 거래 기록(상품 ID, 구매 시각, 영수증)은 세무·환불 규정에 따라 거래 발생 후 최대 5년간 보관됩니다. 해당 기록은 익명 User ID에만 연결되며 이름이나 이메일을 포함하지 않습니다.
14. 문의처
지원 페이지의 문의 양식을 이용해 주세요.