all_for_send_privacy

Rokki(岩誌)Privacy Policy

Last updated / 最後更新 / 最終更新 / 최종 업데이트:2026-09-06

繁體中文 · English · 日本語 · 한국어


繁體中文

岩誌隱私權政策

生效日期:2026 年 9 月 6 日

本隱私權政策適用於 Rokki(岩誌)iOS App、Rokki CLOUD,以及由 Rokki 開發者提供的相關支援與公開網站(以下合稱「本服務」)。

我們以「你的攀岩紀錄屬於你」為原則。核心記錄功能採 local-first 設計:資料優先保存在你的裝置上;需要帳號、雲端、分析或客服後台的功能,才會依下列方式處理資料。

本政策所稱「我們」是指 Rokki(岩誌)的開發者。隱私相關問題請聯絡 rokki.rokki.app@gmail.com。

1. 我們處理哪些資料

1.1 儲存在裝置上的資料

你在 App 中建立的資料可能包括:

這些資料主要保存在你的裝置。只有你另外啟用 Rokki CLOUD 時,完整備份才會上傳至 Rokki 的雲端服務。使用情況與攀岩統計只傳送第 1.4 與 1.9 節列出的資料,不會上傳完整日誌。你主動送出的客服內容,以及自行分享或匯出的資料,依相關功能處理。

刪除 App、清除本機資料或更換裝置,可能導致未另行備份的本機資料無法復原。

1.2 帳號與登入資料

只使用本機功能或記錄同意選擇時,Rokki 不會因為 App 啟動而建立 Firebase 帳號。只有你主動連結 Apple/Google,或送出需要安全後端工作階段的回報時,才可能按需透過 Firebase Authentication 建立隨機匿名 UID。這是可持續辨識同一帳號的假名化識別碼,不代表完全匿名。

你可選擇使用「使用 Apple 登入」或 Google 登入連結帳號。依你授權的範圍,Apple、Google 與 Firebase 可能處理:

未連結 Apple 或 Google 帳號,仍可使用不需要雲端身分的核心記錄功能。

後端 Functions 可能產生必要的營運與安全日誌,例如 UID、訂閱權益到期時間、訂閱事件 ID/類型、處理結果及錯誤資訊。這些日誌用於除錯、防詐、安全與稽核,並依 Google Cloud 專案設定及必要期間保存。

Firebase Remote Config 會使用 Firebase Installation ID(FID)及其 token 辨識一次 App 安裝,以取得最低支援版本等遠端設定。這類請求也可能包含國家/地區、語言、作業系統、時區、App 版本與 build 等技術資訊。即使你關閉使用情況分析,這些 App 功能所需的資料仍可能被處理;FID 不等同於你的 Apple/Google 帳號。

1.3 Rokki CLOUD

Rokki CLOUD 是需要連結帳號並另行確認開啟的 FREE 功能,與訂閱無關。啟用後,完整備份會與 Firebase UID 綁定並上傳至 Google Cloud Storage。備份可能包含第 1.1 節所列的個人檔案、攀岩/訓練內容、RPE、場館、路線、備註及相關時間資料。啟用狀態、同意版本與更新時間也會綁定帳號保存,供重裝或換機後恢復選擇。

為避免每次輸入都產生大量版本,App 會在本機資料成功保存後稍候合併更新,並在 App 進入背景等時機嘗試同步。同一天的多次同步會更新該日的最終版本。

Rokki CLOUD 的設計保留:

較舊備份會在後續成功同步時清理。如果同步長期停止,舊檔可能暫時保存超過上述期間,直到再次同步、刪除雲端帳戶或由我們依有效請求清除。

關閉 Rokki CLOUD 後,新的自動上傳會停止,但既有雲端備份不會自動刪除。

1.4 使用情況分析

設定中的「使用情況與攀岩統計」是單一選用開關,預設關閉。只有你明確選擇允許分享後才會開始;同一次選擇同時涵蓋本節的使用情況分析與第 1.9 節的攀岩統計。拒絕不會限制任何功能,FREE 與 PRO 都可自由選擇。你的選擇、時間、來源與同意版本保存在本機,可隨時在「設定」→「隱私」變更。

當此設定開啟時,App 使用 Firebase Analytics 處理假名化的使用資料,協助我們了解功能使用情況、安排修正優先順序及改善穩定性,例如:

分析事件不包含你輸入的路線名稱、自由文字備註或暱稱。你選擇的岩館不會經由 Analytics 送出,而是依第 1.9 節作為攀岩統計處理。我們不會把 Firebase 帳戶 UID 設為 Analytics user ID,也不使用分析資料進行跨 App/網站追蹤、第三方廣告或資料販售。

你可隨時關閉「使用情況與攀岩統計」。關閉後停止傳送新的分析事件及攀岩統計;攀岩統計的刪除方式見第 1.9 節。已產生的 Analytics 彙總統計或依服務設定保存的既有事件,可能無法再對應至個別使用者刪除。

1.5 購買與訂閱

App 內購買與自動續訂由 Apple App Store 處理。我們及 RevenueCat 不會取得你的完整信用卡號。

為了顯示 PRO 權益、驗證收據、恢復購買、處理轉移、防詐及提供訂閱支援,Apple、RevenueCat、Firebase 與 Rokki 可能處理:

Rokki 會在 Firebase 保存最小化的訂閱權益鏡像與 webhook 稽核資料。價格、付款、退款、續訂及取消依 Apple 的規則與你所在地 App Store 顯示為準。

你也可透過 App Store 購買一次性「請我喝咖啡」支持。這是消耗型購買,不提供 PRO 或其他功能權益。為收入報表、對帳、防詐、稽核及帳務/法律義務,RevenueCat webhook 會在 Firebase 保存事件 ID、商品 ID、幣別、gross 金額、接收時間與按幣別彙總。咖啡專用紀錄不保存 UID、Email 或付款卡資料,但共用 webhook 稽核資料仍可能包含 Firebase UID、App User ID 或 aliases。這些必要購買/稽核紀錄不一定隨帳戶刪除。

1.6 聯絡我們與取消訂閱回報

當你在 App 內主動送出「聯絡我們」或取消原因時,我們可能收到:

這些資料會顯示於受管理員權限保護的 Rokki Admin,用於回覆客服、處理問題、了解取消原因、改善服務及防止濫用。如果你希望我們回覆,而登入帳號沒有可用 Email,請在訊息中自行留下聯絡方式。

你主動送出的岩館建議還會包含國家、地區、岩館名稱與補充內容,並與 Firebase UID、帳號既有 Email、登入供應商、App 版本、語言、提交時間及處理狀態一起保存於 Firebase,供管理員維護岩館目錄與回覆。建議設定在提交後 365 天到期,由 TTL 程序清理;刪除帳戶會啟動提早清理。這些是你主動提交的內容,不屬於第 1.9 節的統計上傳。

1.7 App 內公告

App 會從 Firebase 讀取公告,並在裝置上依 App 版本、語言、地區、登入或訂閱狀態判斷是否顯示。你明確關閉公告或點擊公告按鈕後,公告 ID 會保存在該裝置,避免重複顯示。Rokki 不使用公告發送系統推播通知。

1.8 照片、影片、分享與匯出

當你製作分享 Story 時,可透過 iOS 系統照片選擇器選取照片或影片。所選媒體會在裝置上用於排版與輸出,不會因為選取而自動上傳至 Rokki 伺服器。只有在你授權後,App 才會把完成的 Story 寫入照片圖庫。

Rokki 不要求精確位置、聯絡人、麥克風或相機權限。若你選擇分享到 Instagram,App 會暫時把成品放入 iOS pasteboard 並設定短時間到期,再開啟 Instagram。當你使用 Instagram、iOS 分享表單、匯出 JSON/CSV/圖片/影片或把檔案傳到其他 App/服務時,接收方會依其自身隱私政策處理該資料。

1.9 攀岩統計

攀岩統計由同一個「使用情況與攀岩統計」開關控制。只有你允許分享且已連結 Apple 或 Google 帳號時,才會上傳。

同意後,Rokki 會把符合條件的抱石紀錄整理成每日彙總,上傳至 Firebase/Google Cloud,內容包括:岩館目錄識別碼、難度系統與難度、預設路線標籤、日期,以及依完攀結果和嘗試次數分組的筆數(Flash、2 至 3 次、4 至 7 次、8 次以上完攀,以及未完攀)。App 依日期、岩館、難度及標籤彙總筆數,不上傳逐條路線。資料另包含 Firebase UID 及伺服器更新時間,用於帳號歸屬、更新與刪除。

這項統計不會上傳路線名稱、備註、暱稱、大頭照、照片、影片、完整攀岩紀錄、到館時間或停留時長。你自行輸入的岩館名稱與自由文字標籤不列入統計。

這些每日資料與你的 Firebase 帳號識別碼綁定,屬於假名化資料,並非匿名資料。我們收集並整理這些資料,用於研究攀岩表現、難度分布與不同岩館之間的難度差異,及改善攀岩統計方法。帳號識別碼讓我們能比較同一帳號在不同岩館的紀錄;不會公開你的個人紀錄。

這些資料不用於廣告、不出售,也不做跨 App 或跨網站追蹤。是否同意不影響你可以使用哪些功能。

你可隨時在「設定」→「隱私」關閉「使用情況與攀岩統計」。關閉後停止新的上傳,App 會嘗試刪除該帳號已上傳的每日資料。若未登入、裝置離線或請求失敗,既有資料可能仍保留;你可透過刪除 Rokki 帳戶或聯絡我們提出刪除請求。刪除帳戶會啟動後端清理。若資料已併入不再保留個別來源的彙總統計,該部分無法回溯移除。

1.10 登入活躍人數與紀錄總覽點擊

完成資料處理告知後,已連結 Apple/Google 的帳號在 App 進入前景時會送出已驗證的活動請求(heartbeat),不含日誌內容。後端依 Firebase UID 保存最近 30 個 UTC 日期的 FREE/PRO 狀態、最後活動時間及更新時間,用於內部 7/30 天活躍人數報表。方案由後端判斷;管理報表提供彙總人數,不提供 UID 名單。個別帳號資料不是匿名資料,會設定在最後活動後 35 天到期,由服務的 TTL 程序清理;刪除帳戶會啟動提早清理。

點擊抱石或上攀紀錄總覽卡時,App 會送出卡片類型與短期操作 ID,用於同步公開累計點擊數及內部每日報表。這不會建立 Firebase 匿名帳號。未登入或未驗證為 Apple/Google 的點擊歸入匿名累計;已驗證的連結帳號會以 Firebase UID 保存各卡累計與更新時間,至刪除帳戶清理。操作 ID 及其日期與處理時間紀錄設定在 7 天後到期。公開累計與每日彙總不保留個別來源,可持續保存,刪除帳戶不會扣回。

這些是上述功能的營運資料,不屬於第 1.4 節的選用 Analytics,也不受「使用情況與攀岩統計」開關控制。請求另包含 App 執行環境(例如正式版或測試環境),用於區分正式版統計,不包含路線、岩館、備註或暱稱。TTL 到期後的實際清理可能有服務處理延遲。

1.11 支持者留言

完成一次性支持後,你可以自願留下最多 25 字的留言。留言、留言識別碼、支持品項、方案標記、建立時間,以及由 Firebase UID 加鹽雜湊產生的代號(例如 user-3f9a),會公開顯示於方案頁。你的姓名、Email 與 Firebase UID 不會公開,但管理員可在受權限保護的後台查閱對應 UID。這是使用代號的公開留言,並非對我們匿名。

後端另保存購買關聯、App 版本、語言、處理狀態及更新時間,用於確認留言資格、內容管理與防止濫用。檢舉會保存留言識別碼、檢舉者 UID、原因及時間,並設定在 365 天後到期;封鎖代號清單會與執行封鎖的帳號綁定。刪除帳戶會啟動該帳號留言、檢舉與封鎖資料的清理。管理員也可移除違規留言。不留言不影響你的支持。

2. 我們如何使用資料

我們只在下列目的所需範圍內處理資料:

依適用法律,處理依據可能包括履行你要求的服務、你的選擇或同意、維護服務安全與改善服務的正當利益,以及法律義務。

3. 服務供應商、分享與跨境處理

我們不販售個人資料,不提供第三方行為廣告,也不進行跨 App/網站追蹤。為提供本服務,必要資料可能由下列服務供應商代為處理:

服務供應商 用途
Apple 使用 Apple 登入、App Store 付款/訂閱、照片圖庫與系統分享功能
Google Firebase/Google Cloud/Google Sign-In 身分驗證、公告與 Remote Config、Functions、使用情況分析、攀岩統計、活躍/點擊報表、客服與岩館建議、支持者留言及 CLOUD 備份
RevenueCat 購買/支持收據、權益、恢復購買與交易事件處理
Instagram/Meta 僅在你主動選擇分享到 Instagram 時接收你選擇分享的 Story
GitHub 公開支援與隱私權政策頁面託管

我們也可能在法律要求、保護使用者/服務安全,或處理合法權利主張所必要的範圍內揭露資料。

這些供應商可能在你所在國家或地區以外處理資料。Firebase Authentication 及 RevenueCat 的部分處理可能在美國進行;Cloud Storage、Functions 與其他服務則可能在所選 Google Cloud 地區或全球基礎設施處理。跨境處理受供應商條款及適用資料保護機制約束。

我們要求代表我們處理資料的服務供應商,依其與我們適用的合約、資料處理條款及法律義務,對資料提供與本政策相同或同等程度的保護,並只在提供約定服務所需範圍內使用資料。

供應商政策:

4. 保存與刪除

5. 你的選擇與權利

你可以:

刪除雲端帳戶不會刪除這台 iPhone 上的本機日誌,也不會取消 Apple 訂閱。 若不希望繼續被扣款,請另外在 Apple 的訂閱管理頁面取消訂閱。

刪除 Firebase 帳戶時,Rokki 會啟動 CLOUD 備份、攀岩統計每日資料、登入活躍紀錄、UID 點擊累計、客服回報、岩館建議、支持者留言相關資料及 Firebase 訂閱鏡像的清理。Apple 的交易紀錄以及 RevenueCat 的收據、客戶或稽核資料,可能依帳務、爭議、防詐、法律義務或技術流程繼續保留;如需協助刪除 RevenueCat 中可刪除的資料,請聯絡我們。

刪除已連結的雲端帳戶後,如果你繼續使用需要後端工作階段的功能,App 可能建立新的匿名 UID。新的 UID 不會恢復已刪除帳戶的 CLOUD 備份或訂閱鏡像。

為避免存取或刪除錯誤帳號,我們可能要求你透過已連結的登入方式或其他合理方法驗證身分。部分權利可能受所在地法律的例外限制。

6. 安全

我們採用合理的技術與管理措施,例如 HTTPS 傳輸、供應商的靜態加密、Firebase Authentication、依 UID 限制的 Storage Security Rules、管理員權限與資料最小化。Rokki CLOUD 目前不是只有使用者持有金鑰的端對端加密服務;任何網路或儲存系統也無法保證絕對安全。

7. 兒童

本服務並非特別為兒童設計。我們不會刻意要求兒童提供超出功能所需的資料。如果你是家長或監護人,並認為兒童在未取得適用同意的情況下提供了個人資料,請聯絡我們處理或刪除。

8. 政策變更

若資料類型、用途或服務供應商有重大變更,我們會更新本頁的日期,並視需要透過 App 內公告說明。若適用法律要求對新的處理另行取得同意,我們會在開始該處理前提供適當選擇。

9. 聯絡我們

如需提出隱私權利請求或詢問本政策,請寄信至:

rokki.rokki.app@gmail.com


English

Rokki Privacy Policy

Effective date: September 6, 2026

This Privacy Policy applies to the Rokki iOS app, Rokki CLOUD, and related support and public websites provided by the developer of Rokki (collectively, the “Service”).

Our guiding principle is that your climbing records belong to you. Core logging features are local-first: data is stored on your device by default. Data is processed online only when an account, cloud backup, analytics, subscription, or support feature requires it, as described below.

In this Policy, “we” means the developer of Rokki. For privacy questions, contact rokki.rokki.app@gmail.com.

1. Data we process

1.1 Data stored on your device

Data you create in the app may include:

This data is primarily stored on your device. Complete backups are uploaded to Rokki’s cloud services only when you separately enable Rokki CLOUD. Usage and climbing statistics send only the data described in Sections 1.4 and 1.9, not your complete logbook. Support messages and data you intentionally share or export are processed by the relevant features.

Deleting the app, clearing local data, or changing devices may permanently remove local data that you have not backed up elsewhere.

1.2 Accounts and authentication

Local-only use or recording a consent choice does not create a Firebase account at app launch. A random anonymous UID may be created on demand through Firebase Authentication when you link Apple or Google or submit a report that requires a secure backend session. This is a persistent pseudonymous account identifier, not a guarantee of anonymity.

You may choose to link your account using Sign in with Apple or Google Sign-In. Depending on the permissions you grant, Apple, Google, and Firebase may process:

You can continue to use core local features that do not require cloud identity without linking an Apple or Google account.

Backend Functions may generate necessary operational and security logs, such as UIDs, subscription-entitlement expiration times, subscription event IDs and types, processing outcomes, and error information. These logs are used for troubleshooting, fraud prevention, security, and auditing, and are retained according to Google Cloud project settings and as long as necessary.

Firebase Remote Config uses a Firebase Installation ID (FID) and token to identify an app installation and retrieve remote settings such as the minimum supported version. These requests may also include technical information such as country or region, language, operating system, time zone, app version, and build. This app-functionality data may still be processed when usage analytics is turned off; the FID is not the same as your Apple or Google account.

1.3 Rokki CLOUD

Rokki CLOUD is a FREE feature independent of subscriptions. It requires a linked account and your separate confirmation to enable it. Complete backups are associated with your Firebase UID and uploaded to Google Cloud Storage. They may contain the profile, climbing and training data, RPE, gyms, routes, notes, and timestamps described in Section 1.1. The enabled state, consent version, and update time are also stored with your account to restore your choice after reinstalling or changing devices.

To avoid creating a separate version for every keystroke, the app briefly groups changes after local data has been saved and also attempts to sync when the app enters the background. Multiple uploads on the same day update that day’s final version.

Rokki CLOUD is designed to retain:

Older backups are pruned during a later successful sync. If syncing stops for an extended period, an older file may remain longer until syncing resumes, the cloud account is deleted, or we process a valid deletion request.

Turning off Rokki CLOUD stops new automatic uploads but does not automatically delete existing cloud backups.

1.4 Usage analytics

“Usage and climbing statistics” is a single optional switch in Settings, off by default. Sharing starts only after you explicitly allow it. The same choice covers usage analytics in this section and climbing statistics in Section 1.9. Declining does not restrict any features; both FREE and PRO users can choose freely. Your choice, decision time, source, and consent versions are stored locally and can be changed under Settings → Privacy.

While this setting is enabled, the app uses Firebase Analytics to process pseudonymous usage information to understand feature use, prioritize fixes, and improve stability, such as:

Analytics events do not contain free-text route names, notes, or your nickname. Your selected gym is not sent through Analytics; it is processed as climbing statistics under Section 1.9. We do not set your Firebase account UID as an Analytics user ID. We do not use analytics for cross-app or cross-site tracking, third-party advertising, or the sale of personal data.

You can turn off “Usage and climbing statistics” at any time. This stops new analytics events and climbing-statistics uploads; Section 1.9 explains deletion of climbing statistics. Previously aggregated Analytics statistics or events retained under the service configuration may no longer be identifiable for individual deletion.

1.5 Purchases and subscriptions

In-app purchases and auto-renewable subscriptions are processed by Apple through the App Store. Neither Rokki nor RevenueCat receives your full credit card number.

To display PRO access, validate receipts, restore purchases, process transfers, prevent fraud, and provide subscription support, Apple, RevenueCat, Firebase, and Rokki may process:

Rokki stores a minimized subscription-entitlement mirror and webhook audit records in Firebase. Pricing, billing, refunds, renewals, and cancellation are governed by Apple and the terms shown in your local App Store.

You can also make a one-time “Buy me a coffee” support purchase through the App Store. This consumable purchase does not grant PRO or other feature access. For revenue reporting, reconciliation, fraud prevention, auditing, and accounting or legal obligations, RevenueCat webhooks store event IDs, product IDs, currency, gross amounts, receipt times, and currency totals in Firebase. Coffee-specific records do not store UIDs, emails, or card data, but shared webhook audit records may still contain Firebase UIDs, App User IDs, or aliases. Necessary purchase and audit records may remain after account deletion.

1.6 Contact and cancellation feedback

When you intentionally submit a Contact Us message or cancellation feedback in the app, we may receive:

This information is available in the administrator-protected Rokki Admin dashboard and is used to respond to support requests, troubleshoot problems, understand cancellation reasons, improve the Service, and prevent abuse. If you want a reply and your linked account has no usable email address, include contact information in your message.

Gym suggestions you intentionally submit also contain the country, region, gym name, and optional details. Firebase stores them with your UID, existing account email, sign-in provider, app version, language, submission time, and handling status so administrators can maintain the gym catalog and respond. Suggestions expire 365 days after submission for TTL cleanup; account deletion initiates earlier cleanup. These are messages you choose to send, separate from the statistical uploads in Section 1.9.

1.7 In-app announcements

The app retrieves announcements from Firebase and evaluates eligibility on your device using app version, language, region, sign-in status, and subscription status. After you explicitly close an announcement or use its action button, its announcement ID is stored on that device to prevent repeated display. Rokki does not send system push notifications for announcements.

1.8 Photos, videos, sharing, and exports

When you create a shareable Story, you may select a photo or video through the iOS system photo picker. Selected media is processed on-device for layout and export and is not automatically uploaded to Rokki’s servers. The app writes a completed Story to your photo library only after you grant permission.

Rokki does not request access to precise location, contacts, microphone, or camera. If you choose to share to Instagram, the app temporarily places the finished Story on the iOS pasteboard with a short expiration and then opens Instagram. If you use Instagram, the iOS share sheet, export JSON/CSV/images/videos, or send a file to another app or service, the recipient processes that data under its own privacy policy.

1.9 Climbing statistics

Climbing statistics use the same “Usage and climbing statistics” switch. Uploads require both your permission to share and a linked Apple or Google account.

Once enabled, Rokki uploads daily summaries of eligible bouldering logs to Firebase / Google Cloud. These contain the gym catalog identifier, grade system and grade, preset route tags, date, and counts grouped by outcome and attempts (Flash, sends in 2 to 3 attempts, 4 to 7 attempts, 8 or more attempts, and not sent). The app groups counts by date, gym, grade, and tags without uploading individual routes. Records also contain your Firebase UID and a server update timestamp for account attribution, updates, and deletion.

These statistics do not upload route names, notes, nicknames, profile images, photos, videos, complete climbing logs, gym arrival times, or visit durations. Gym names and tags entered as free text are excluded.

These daily records are linked to your Firebase account identifier and are pseudonymous, not anonymous. We collect and organize them to study climbing performance, grade distributions, and difficulty differences between gyms, and to improve climbing-statistics methods. The account identifier lets us compare the same account’s records across gyms. We do not publish your individual records.

This data is not used for advertising, sold, or used for cross-app or cross-site tracking. Your choice does not affect which features you can use.

You can turn off “Usage and climbing statistics” under Settings → Privacy at any time. This stops new uploads, and the app attempts to delete the account’s uploaded daily records. If you are signed out, the device is offline, or the request fails, existing data may remain; you can request deletion by deleting your Rokki account or contacting us. Account deletion starts backend cleanup. If data has already been merged into statistics that no longer retain individual sources, that portion cannot be retroactively removed.

1.10 Account activity and logbook-card taps

After you acknowledge the data-processing notice, linked Apple / Google accounts send an authenticated activity request (heartbeat) when the app enters the foreground, without logbook content. Under your Firebase UID, the backend stores FREE / PRO status for the most recent 30 UTC dates, last activity time, and update time for internal 7- and 30-day active-user reports. The backend determines the plan. Administrator reports provide aggregate counts, not UID lists. Individual account records are not anonymous; they are set to expire 35 days after the last activity for TTL cleanup. Account deletion initiates earlier cleanup.

Tapping the bouldering or rope logbook overview card sends its card type and a short-lived operation ID to synchronize public cumulative tap counts and internal daily reports. This does not create an anonymous Firebase account. Taps without verified Apple / Google sign-in go into anonymous totals. Verified linked accounts have per-card totals and update times stored under their Firebase UID until account-deletion cleanup. Operation IDs and their date and processing-time records expire after 7 days. Public totals and daily aggregates retain no individual sources, may be kept indefinitely, and are not reduced when an account is deleted.

These operational records support the features above, are separate from optional Analytics in Section 1.4, and are not controlled by “Usage and climbing statistics.” Requests also include the app environment (such as production or testing) to distinguish production metrics, but no routes, gyms, notes, or nicknames. Actual TTL cleanup may occur after the expiration time due to service processing delays.

1.11 Supporter comments

After a one-time support purchase, you may optionally leave a comment of up to 25 characters. The comment, comment identifier, support item, plan badge, creation time, and a handle derived from a salted hash of your Firebase UID (for example, user-3f9a) are displayed publicly on the plan page. Your name, email, and Firebase UID are not public, but administrators can access the corresponding UID in the protected dashboard. These comments use a pseudonym and are not anonymous to us.

The backend also stores the purchase association, app version, language, moderation status, and update time to verify eligibility, moderate content, and prevent abuse. Reports contain the comment identifier, reporter UID, reason, and time, with expiration set after 365 days. Blocked-handle lists are linked to the account that creates them. Account deletion initiates cleanup of that account’s comments, reports, and blocks. Administrators can also remove inappropriate comments. Leaving a comment is optional and does not affect your support purchase.

2. How we use data

We process data only as needed to:

Depending on applicable law, the legal bases may include performing the Service you requested, your choices or consent, our legitimate interests in securing and improving the Service, and compliance with legal obligations.

3. Service providers, disclosures, and international processing

We do not sell personal data, provide third-party behavioral advertising, or track you across apps or websites. Data necessary to provide the Service may be processed by:

Service provider Purpose
Apple Sign in with Apple, App Store purchases/subscriptions, photo-library and system sharing features
Google Firebase / Google Cloud / Google Sign-In Authentication, announcements and Remote Config, Functions, usage analytics, climbing statistics, activity/tap reports, support and gym suggestions, supporter comments, and CLOUD backups
RevenueCat Purchase/support receipts, entitlements, purchase restoration, and transaction events
Instagram / Meta Receiving a Story only when you intentionally choose to share it to Instagram
GitHub Hosting the public support and Privacy Policy pages

We may also disclose data when legally required, when necessary to protect users or the Service, or to establish, exercise, or defend legal claims.

These providers may process data outside your country or region. Some Firebase Authentication and RevenueCat processing may occur in the United States. Cloud Storage, Functions, and other services may process data in selected Google Cloud regions or global infrastructure. International processing is subject to provider terms and applicable data-protection safeguards.

We require service providers that process data on our behalf to provide the same or an equivalent level of protection described in this Policy under the contracts, data-processing terms, and legal obligations applicable to them, and to use data only as needed to provide the agreed services.

Provider policies:

4. Retention and deletion

5. Your choices and rights

You may:

Deleting your cloud account does not delete the logbook stored on this iPhone and does not cancel your Apple subscription. To stop future charges, separately cancel the subscription through Apple’s subscription-management screen.

When a Firebase account is deleted, Rokki initiates cleanup of CLOUD backups, daily climbing-statistics records, account-activity records, UID-linked tap totals, support feedback, gym suggestions, supporter-comment data, and the Firebase subscription mirror. Apple transaction records and RevenueCat receipt, customer, or audit data may remain as required for billing, disputes, fraud prevention, legal obligations, or technical processing. Contact us if you need assistance requesting deletion of RevenueCat data that can be deleted.

After a linked cloud account is deleted, the app may create a new anonymous UID if you continue using features that require a backend session. The new UID does not restore the deleted account’s CLOUD backups or subscription mirror.

To prevent access to or deletion of the wrong account, we may ask you to verify your identity through a linked provider or another reasonable method. Some rights may be limited by exceptions under applicable law.

6. Security

We use reasonable technical and organizational safeguards, including HTTPS in transit, provider encryption at rest, Firebase Authentication, UID-restricted Storage Security Rules, administrator access controls, and data minimization. Rokki CLOUD is not currently end-to-end encrypted with a key held only by the user, and no network or storage system can guarantee absolute security.

7. Children

The Service is not specifically directed to children. We do not intentionally ask children to provide data beyond what is needed for the features they use. If you are a parent or guardian and believe a child has provided personal data without any consent required by applicable law, contact us so that we can address or delete it.

8. Changes to this Policy

If there is a material change to data types, purposes, or service providers, we will update the date on this page and provide an in-app announcement when appropriate. Where applicable law requires separate consent for new processing, we will provide an appropriate choice before that processing begins.

9. Contact us

To exercise privacy rights or ask a question about this Policy, email:

rokki.rokki.app@gmail.com


日本語

Rokki プライバシーポリシー

施行日:2026 年 9 月 6 日

本プライバシーポリシーは、Rokki iOS App、Rokki CLOUD、および Rokki の開発者が提供する関連サポートサイト・公開ウェブサイト(以下、総称して「本サービス」)に適用されます。

Rokki は「クライミング記録はユーザー自身のものである」という考えを基本としています。主要な記録機能は local-first で設計され、データは原則として端末内に保存されます。アカウント、クラウドバックアップ、利用状況分析、サブスクリプション、またはサポート機能に必要な場合に限り、以下のとおりオンラインでデータを処理します。

本ポリシーにおける「当方」とは Rokki の開発者を指します。プライバシーに関するお問い合わせは rokki.rokki.app@gmail.com までご連絡ください。

1. 処理するデータ

1.1 端末内に保存されるデータ

App 内で作成されるデータには、次の情報が含まれる場合があります。

これらのデータは主に端末内に保存されます。完全なバックアップを Rokki のクラウドへ送るのは、Rokki CLOUD を別途有効にした場合のみです。利用状況とクライミング統計では第 1.4 項と第 1.9 項に記載したデータのみを送り、完全なログブックは送りません。自ら送信した問い合わせ内容や共有・エクスポートしたデータは、それぞれの機能に従って処理します。

App の削除、端末内データの消去、または機種変更により、別途バックアップしていないデータは復元できなくなる場合があります。

1.2 アカウントと認証

端末内の機能の利用や同意選択の記録だけでは、App の起動時に Firebase アカウントを作成しません。Apple/Google の連携や、安全なバックエンドセッションが必要な報告の送信を行う場合に限り、必要に応じて Firebase Authentication によりランダムな匿名 UID を作成することがあります。これは同じアカウントを継続的に区別できる仮名化識別子であり、完全な匿名性を意味しません。

「Apple でサインイン」または Google Sign-In を使用してアカウントを連携できます。許可した範囲に応じて、Apple、Google、および Firebase は次の情報を処理する場合があります。

Apple または Google のアカウントを連携しなくても、クラウド上の本人確認を必要としない主要な端末内機能は利用できます。

バックエンド Functions は、UID、サブスクリプション利用権の有効期限、サブスクリプションイベントの ID/種別、処理結果、エラー情報等、必要な運用・セキュリティログを生成する場合があります。これらのログは、障害調査、不正防止、セキュリティ、監査のために使用され、Google Cloud プロジェクトの設定および必要な期間に基づいて保持されます。

Firebase Remote Config は、最低対応バージョン等のリモート設定を取得するため、App のインストールを識別する Firebase Installation ID(FID)と token を使用します。このリクエストには、国/地域、言語、OS、タイムゾーン、App バージョン、build 等の技術情報が含まれる場合があります。これらの App 機能用データは、利用状況分析を無効にしても処理される場合があり、FID は Apple/Google アカウントとは異なります。

1.3 Rokki CLOUD

Rokki CLOUD はサブスクリプションとは独立した FREE 機能です。アカウント連携と別途の有効化確認が必要です。完全なバックアップは Firebase UID に紐づけて Google Cloud Storage にアップロードされ、第 1.1 項のプロフィール、クライミング/トレーニング内容、RPE、ジム、課題、メモ、日時情報を含む場合があります。有効化の状態、同意バージョン、更新日時もアカウントに紐づけて保存し、再インストールや機種変更後に選択を復元します。

入力のたびに別の版を作成しないよう、App は端末内での保存成功後に短時間の変更をまとめ、App がバックグラウンドへ移行する際にも同期を試みます。同じ日の複数回のアップロードは、その日の最終版を更新します。

Rokki CLOUD は、次の履歴を保持するよう設計されています。

古いバックアップは、その後の同期が正常に完了した際に削除されます。長期間同期されない場合は、同期の再開、クラウドアカウントの削除、または有効な削除依頼の処理まで、古いファイルが上記期間を超えて一時的に保持されることがあります。

Rokki CLOUD を無効にすると、新しい自動アップロードは停止しますが、既存のクラウドバックアップは自動的には削除されません。

1.4 利用状況分析

設定の「使用状況とクライミング統計」は任意の単一スイッチで、初期設定では無効です。明示的に共有を許可した場合にのみ開始します。同じ選択が、本項の利用状況分析と第 1.9 項のクライミング統計の両方に適用されます。拒否しても利用できる機能は制限されず、FREE と PRO のどちらでも自由に選択できます。選択内容、日時、選択元、同意バージョンは端末内に保存され、「設定」→「プライバシー」からいつでも変更できます。

有効な間、App は Firebase Analytics を使用し、機能の利用状況の把握、修正の優先順位付け、安定性の改善のため、次のような仮名化された利用情報を処理します。

分析イベントには、自由入力した課題名、メモ、ニックネームは含まれません。選択したジムは Analytics 経由では送信されず、第 1.9 項のクライミング統計として処理されます。Firebase アカウント UID を Analytics user ID として設定することもありません。また、App/ウェブサイトを横断する追跡、第三者広告、個人データの販売には利用しません。

「使用状況とクライミング統計」はいつでも無効にできます。無効にすると、新しい分析イベントとクライミング統計の送信は停止します。クライミング統計の削除については第 1.9 項をご覧ください。すでに集計された Analytics 統計、またはサービス設定に基づき保持されたイベントは、個別ユーザーに対応付けて削除できない場合があります。

1.5 購入とサブスクリプション

App 内課金および自動更新サブスクリプションは Apple App Store が処理します。Rokki および RevenueCat が完全なクレジットカード番号を取得することはありません。

PRO 利用権の表示、レシート検証、購入復元、移行処理、不正防止、サブスクリプションサポートのため、Apple、RevenueCat、Firebase、および Rokki は次の情報を処理する場合があります。

Rokki は Firebase に最小化された利用権のミラーと webhook 監査記録を保存します。価格、請求、返金、更新、解約には Apple の規則および利用地域の App Store に表示される条件が適用されます。

App Store で単発の「コーヒーをごちそうする」支援購入もできます。消費型の購入であり、PRO や他の機能利用権は付与しません。収入報告、照合、不正防止、監査、会計・法的義務のため、RevenueCat webhook は Firebase にイベント ID、商品 ID、通貨、gross 金額、受信日時、通貨別集計を保存します。コーヒー専用記録には UID、メール、カード情報を保存しませんが、共通 webhook 監査記録には Firebase UID、App User ID、aliases が含まれる場合があります。必要な購入・監査記録はアカウント削除後も残る場合があります。

1.6 お問い合わせと解約理由

App 内から「お問い合わせ」または解約理由を自ら送信した場合、当方は次の情報を受け取る場合があります。

これらの情報は、管理者権限で保護された Rokki Admin に表示され、問い合わせへの回答、問題調査、解約理由の把握、本サービスの改善、不正利用防止に使用されます。返信を希望し、連携アカウントに利用可能なメールアドレスがない場合は、メッセージ本文に連絡先を記載してください。

自ら送信するジム提案には、国、地域、ジム名、補足内容も含まれます。Firebase に UID、登録済みメール、ログインプロバイダ、App バージョン、言語、送信日時、対応状況とともに保存し、管理者がジムカタログの更新や返信に使用します。提案は送信から 365 日後を有効期限として TTL 削除の対象にし、アカウント削除時には早期の削除処理を開始します。これは自ら送信する内容であり、第 1.9 項の統計アップロードとは別です。

1.7 App 内のお知らせ

App は Firebase からお知らせを取得し、App バージョン、言語、地域、ログイン状態、サブスクリプション状態に基づいて、端末内で表示対象を判定します。お知らせを明示的に閉じるかアクションボタンを使用すると、そのお知らせ ID が当該端末に保存され、繰り返し表示を防ぎます。Rokki は、お知らせのためにシステムのプッシュ通知を送信しません。

1.8 写真、動画、共有、エクスポート

共有用 Story を作成する際、iOS のシステム写真選択画面から写真または動画を選択できます。選択されたメディアはレイアウトと出力のため端末内で処理され、選択しただけで Rokki のサーバーへ自動アップロードされることはありません。完成した Story を写真ライブラリに保存するのは、ユーザーが許可した場合のみです。

Rokki は、正確な位置情報、連絡先、マイク、カメラへのアクセスを要求しません。Instagram への共有を選択した場合、App は完成した Story を短い有効期限付きで iOS pasteboard に一時保存し、その後 Instagram を開きます。Instagram、iOS の共有シート、JSON/CSV/画像/動画のエクスポート、または他の App/サービスへのファイル送信を利用した場合、受信先は自身のプライバシーポリシーに基づいて当該データを処理します。

1.9 クライミング統計

クライミング統計は、同じ「使用状況とクライミング統計」スイッチで管理します。共有を許可し、Apple または Google アカウントを連携した場合にのみアップロードします。

同意後、Rokki は対象となるボルダリング記録を 1 日ごとに集計し、Firebase/Google Cloud にアップロードします。データには、ジムカタログの識別子、グレード体系とグレード、定義済みのルートタグ、日付、および完登結果とトライ回数で区分した件数(Flash、2~3 回、4~7 回、8 回以上での完登、未完登)が含まれます。日付、ジム、グレード、タグごとの件数を送り、課題単位の記録は送りません。アカウントへの紐付け、更新、削除のため、Firebase UID とサーバー更新日時も含まれます。

この統計では、課題名、メモ、ニックネーム、プロフィール画像、写真、動画、完全なクライミング記録、ジムへの到着時刻や滞在時間はアップロードしません。自由入力したジム名やタグは集計対象外です。

これらの 1 日ごとのデータは Firebase アカウント識別子に紐づく仮名化データであり、匿名データではありません。クライミングの成績、グレード分布、ジム間の難度差の研究と、クライミング統計手法の改善のために収集・整理します。アカウント識別子により、同じアカウントの異なるジムでの記録を比較できます。個人の記録は公開しません。

広告、販売、App/ウェブサイトを横断する追跡には利用しません。同意の有無は利用できる機能に影響しません。

「設定」→「プライバシー」から「使用状況とクライミング統計」をいつでも無効にできます。無効にすると新しいアップロードを停止し、App はそのアカウントのアップロード済みデータの削除を試みます。ログアウト中、端末がオフラインの場合、またはリクエストが失敗した場合、既存データが残ることがあります。Rokki アカウントの削除または当方への連絡により削除を依頼できます。アカウント削除時にはバックエンドの削除処理を開始します。個々の出所を保持しない統計へすでに集計された部分は、遡って取り除くことができません。

1.10 ログイン中の利用状況と記録概要カードのタップ

データ処理の告知を確認した後、Apple/Google 連携済みアカウントでは、App が前面に戻った際に認証済みの活動リクエスト(heartbeat)を送信します。ログブックの内容は含みません。バックエンドは Firebase UID ごとに直近 30 UTC 日の FREE/PRO 状態、最終活動日時、更新日時を保存し、内部向けの 7 日/30 日の利用人数報告に使用します。プランはバックエンドで判定します。管理画面の報告には集計人数のみを表示し、UID 一覧は提供しません。アカウント別データは匿名ではなく、最終活動から 35 日後を有効期限として TTL 削除の対象にします。アカウント削除時には早期の削除処理を開始します。

ボルダリングまたはロープの記録概要カードをタップすると、カード種別と短期間の操作 ID を送信し、公開の累計タップ数と内部の日次報告を更新します。これにより Firebase 匿名アカウントを作成することはありません。Apple/Google のログインが確認できないタップは匿名の累計に含めます。確認済みの連携アカウントについては、Firebase UID ごとにカード別の累計と更新日時を保存し、アカウント削除時に削除します。操作 ID とその日付・処理日時の記録は 7 日後を有効期限とします。公開累計と日次集計は個々の出所を保持せず、継続して保存でき、アカウント削除時も差し引きません。

これらは上記機能の運用データであり、第 1.4 項の任意の Analytics とは別に処理し、「使用状況とクライミング統計」スイッチの対象ではありません。本番の統計を区別するため、リクエストには App の実行環境(本番・テスト等)も含めますが、課題、ジム、メモ、ニックネームは含めません。TTL の実際の削除は、サービスの処理により有効期限後になる場合があります。

1.11 サポーターのコメント

単発の支援購入後、任意で最大 25 文字のコメントを残せます。コメント、コメント識別子、支援品目、プランのバッジ、作成日時、Firebase UID のソルト付きハッシュから生成した仮名(例:user-3f9a)をプラン画面に公開します。氏名、メールアドレス、Firebase UID は公開しませんが、管理者は保護された管理画面で対応する UID を確認できます。仮名を使う公開コメントであり、当方に対して匿名ではありません。

バックエンドは購入との関連、App バージョン、言語、管理状態、更新日時も保存し、投稿資格の確認、内容管理、不正利用防止に使用します。通報はコメント識別子、通報者 UID、理由、日時を保存し、365 日後を有効期限とします。ブロックする仮名の一覧は、ブロックを行ったアカウントに紐づけます。アカウント削除時には、そのアカウントのコメント、通報、ブロック情報の削除処理を開始します。管理者は不適切なコメントを削除することもできます。コメントしなくても支援購入に影響はありません。

2. データの利用目的

当方は、次の目的に必要な範囲でのみデータを処理します。

適用法令に応じて、処理の法的根拠には、ユーザーが依頼したサービスの履行、ユーザーの選択または同意、本サービスの安全性と改善に関する正当な利益、法的義務が含まれる場合があります。

3. サービス提供者、開示、国外処理

当方は個人データを販売せず、第三者の行動ターゲティング広告を提供せず、App やウェブサイトを横断して追跡しません。本サービスの提供に必要なデータは、以下のサービス提供者によって処理される場合があります。

サービス提供者 目的
Apple Apple でサインイン、App Store の購入/サブスクリプション、写真ライブラリ、システム共有機能
Google Firebase/Google Cloud/Google Sign-In 認証、お知らせと Remote Config、Functions、利用状況分析、クライミング統計、利用人数・タップ数報告、問い合わせとジム提案、サポーターコメント、CLOUD バックアップ
RevenueCat 購入・支援レシート、利用権、購入復元、取引イベント
Instagram/Meta ユーザーが Instagram への共有を明示的に選択した場合のみ、共有対象の Story を受信
GitHub 公開サポートページと本ポリシーのホスティング

法令により要求される場合、ユーザーまたは本サービスの安全を守るために必要な場合、または法的請求の確立・行使・防御に必要な場合、データを開示することがあります。

これらの提供者は、ユーザーの国や地域以外でデータを処理する場合があります。Firebase Authentication および RevenueCat の一部処理は米国で行われる場合があります。Cloud Storage、Functions、その他のサービスは、選択された Google Cloud リージョンまたはグローバルインフラストラクチャで処理される場合があります。国外処理には、提供者の規約および適用されるデータ保護措置が適用されます。

当方は、当方に代わってデータを処理するサービス提供者に対し、適用される契約、データ処理条件、法的義務に基づいて本ポリシーと同一または同等水準の保護を提供し、合意されたサービスの提供に必要な範囲でのみデータを使用することを求めます。

各提供者のポリシー:

4. 保存と削除

5. ユーザーの選択と権利

ユーザーは次の操作を行えます。

クラウドアカウントを削除しても、この iPhone 内のログブックは削除されず、Apple のサブスクリプションも解約されません。 今後の課金を停止するには、Apple のサブスクリプション管理画面から別途解約してください。

Firebase アカウントを削除すると、Rokki は CLOUD バックアップ、クライミング統計の日別データ、アカウント活動記録、UID 別タップ累計、問い合わせ、ジム提案、サポーターコメント関連情報、および Firebase 内のサブスクリプションミラーの削除処理を開始します。Apple の取引記録、RevenueCat のレシート、顧客情報、監査データは、請求、紛争、不正防止、法的義務、または技術的処理のため保持される場合があります。削除可能な RevenueCat データの削除依頼について支援が必要な場合は、当方へご連絡ください。

連携済みクラウドアカウントの削除後も、バックエンドセッションを必要とする機能を引き続き使用すると、App が新しい匿名 UID を作成する場合があります。新しい UID によって、削除済みアカウントの CLOUD バックアップやサブスクリプションミラーが復元されることはありません。

誤ったアカウントへのアクセスまたは削除を防ぐため、連携済みプロバイダまたはその他の合理的な方法による本人確認をお願いする場合があります。権利の一部は、適用法令上の例外により制限される場合があります。

6. セキュリティ

当方は、HTTPS 通信、提供者による保存時暗号化、Firebase Authentication、UID によって制限された Storage Security Rules、管理者アクセス制御、データ最小化等の合理的な技術的・組織的措置を講じます。Rokki CLOUD は、ユーザーのみが鍵を保持するエンドツーエンド暗号化方式ではありません。また、いかなるネットワークまたは保存システムも絶対的な安全を保証することはできません。

7. 子どもの利用

本サービスは、特に子どもを対象として設計されたものではありません。利用機能に必要な範囲を超えて、子どもにデータ提供を意図的に求めることはありません。保護者の方が、適用法令上必要な同意を得ずに子どもが個人データを提供したと考える場合は、対応または削除のため当方へご連絡ください。

8. 本ポリシーの変更

データの種類、利用目的、またはサービス提供者に重大な変更がある場合、本ページの日付を更新し、必要に応じて App 内でお知らせします。新たな処理に別途同意が必要な場合は、その処理を開始する前に適切な選択肢を提供します。

9. お問い合わせ

プライバシーに関する権利の行使または本ポリシーへのお問い合わせは、以下までメールしてください。

rokki.rokki.app@gmail.com


한국어

Rokki 개인정보처리방침

시행일: 2026년 9월 6일

본 개인정보처리방침은 Rokki iOS 앱, Rokki CLOUD, 그리고 Rokki 개발자가 제공하는 관련 지원 및 공개 웹사이트(이하 통칭하여 “본 서비스”)에 적용됩니다.

Rokki는 “클라이밍 기록은 사용자 본인의 것”이라는 원칙을 따릅니다. 핵심 기록 기능은 local-first로 설계되어 데이터가 기본적으로 사용자의 기기에 저장됩니다. 계정, 클라우드 백업, 사용 분석, 구독 또는 지원 기능에 필요한 경우에 한하여 아래와 같이 온라인으로 데이터를 처리합니다.

본 방침에서 “당사”란 Rokki의 개발자를 의미합니다. 개인정보 관련 문의는 rokki.rokki.app@gmail.com으로 연락해 주십시오.

1. 당사가 처리하는 데이터

1.1 기기에 저장되는 데이터

앱에서 생성하는 데이터에는 다음이 포함될 수 있습니다.

이 데이터는 주로 사용자의 기기에 저장됩니다. 전체 백업은 Rokki CLOUD를 별도로 켠 경우에만 Rokki 클라우드로 업로드합니다. 사용 현황과 클라이밍 통계는 제1.4항과 제1.9항의 데이터만 전송하며 전체 기록은 전송하지 않습니다. 직접 보낸 지원 내용과 공유·내보내기 데이터는 해당 기능에 따라 처리합니다.

앱 삭제, 기기 내 데이터 삭제 또는 기기 변경 시 별도로 백업하지 않은 기기 내 데이터는 복구할 수 없게 될 수 있습니다.

1.2 계정 및 인증

기기 내 기능 이용이나 동의 선택 기록만으로는 앱 실행 시 Firebase 계정을 만들지 않습니다. Apple·Google 계정을 연결하거나 안전한 백엔드 세션이 필요한 보고를 보낼 때, 필요에 따라 Firebase Authentication으로 무작위 익명 UID를 생성할 수 있습니다. 이는 같은 계정을 지속적으로 구별하는 가명 식별자이며 완전한 익명성을 뜻하지 않습니다.

“Apple로 로그인” 또는 Google 로그인을 사용하여 계정을 연결할 수 있습니다. 사용자가 허용한 범위에 따라 Apple, Google 및 Firebase는 다음 정보를 처리할 수 있습니다.

Apple 또는 Google 계정을 연결하지 않아도 클라우드 신원 확인이 필요하지 않은 핵심 기기 내 기능은 계속 사용할 수 있습니다.

백엔드 Functions는 UID, 구독 이용권 만료 시각, 구독 이벤트 ID 및 유형, 처리 결과, 오류 정보 등 필요한 운영 및 보안 로그를 생성할 수 있습니다. 이러한 로그는 문제 해결, 부정 방지, 보안 및 감사를 위해 사용되며 Google Cloud 프로젝트 설정과 필요한 기간에 따라 보관됩니다.

Firebase Remote Config는 최소 지원 버전 등의 원격 설정을 가져오기 위해 앱 설치를 식별하는 Firebase Installation ID(FID)와 token을 사용합니다. 이러한 요청에는 국가·지역, 언어, 운영체제, 시간대, 앱 버전, build 등의 기술 정보가 포함될 수 있습니다. 이 앱 기능용 데이터는 사용 분석을 꺼도 처리될 수 있으며, FID는 사용자의 Apple·Google 계정과 동일하지 않습니다.

1.3 Rokki CLOUD

Rokki CLOUD는 구독과 무관한 FREE 기능이며 계정 연결과 별도의 활성화 확인이 필요합니다. 전체 백업은 Firebase UID와 연결되어 Google Cloud Storage에 업로드되며 제1.1항의 프로필, 클라이밍·훈련 내용, RPE, 암장, 루트, 메모 및 시간 정보를 포함할 수 있습니다. 재설치나 기기 변경 후 선택을 복원하기 위해 활성화 상태, 동의 버전 및 갱신 시각도 계정과 연결하여 저장합니다.

입력할 때마다 별도의 버전이 생성되지 않도록, 앱은 기기 내 저장이 완료된 후 잠시 변경 사항을 모으며 앱이 백그라운드로 전환될 때에도 동기화를 시도합니다. 같은 날의 여러 차례 업로드는 그날의 최종 버전을 갱신합니다.

Rokki CLOUD는 다음을 보관하도록 설계되었습니다.

오래된 백업은 이후 동기화가 정상적으로 완료될 때 정리됩니다. 장기간 동기화가 중단된 경우, 동기화가 재개되거나 클라우드 계정이 삭제되거나 당사가 유효한 삭제 요청을 처리할 때까지 오래된 파일이 위 기간을 넘겨 일시적으로 보관될 수 있습니다.

Rokki CLOUD를 끄면 새로운 자동 업로드는 중단되지만 기존 클라우드 백업이 자동으로 삭제되지는 않습니다.

1.4 사용 분석

설정의 “사용 현황과 클라이밍 통계”는 하나의 선택적 스위치이며 기본적으로 꺼져 있습니다. 명시적으로 공유를 허용한 경우에만 시작됩니다. 같은 선택이 이 항의 사용 분석과 제1.9항의 클라이밍 통계 모두에 적용됩니다. 거부해도 어떤 기능도 제한되지 않으며 FREE와 PRO 모두 자유롭게 선택할 수 있습니다. 선택 내용, 일시, 선택한 화면 및 동의 버전은 기기에 저장되며 “설정” → “개인정보 보호”에서 언제든지 변경할 수 있습니다.

이 설정이 켜져 있는 동안 앱은 기능 사용 파악, 수정 우선순위 결정 및 안정성 개선을 위해 Firebase Analytics로 다음과 같은 가명 처리된 사용 정보를 처리합니다.

분석 이벤트에는 사용자가 입력한 루트 이름, 자유 입력 메모, 닉네임이 포함되지 않습니다. 선택한 암장은 Analytics를 통해 전송되지 않고 제1.9항의 클라이밍 통계로 처리됩니다. 당사는 Firebase 계정 UID를 Analytics user ID로 설정하지 않으며, 분석 데이터를 앱·웹사이트 간 추적, 제3자 광고, 개인정보 판매에 사용하지 않습니다.

“사용 현황과 클라이밍 통계”는 언제든지 끌 수 있습니다. 끄면 새로운 분석 이벤트와 클라이밍 통계 전송이 중단됩니다. 클라이밍 통계 삭제는 제1.9항을 참조해 주십시오. 이미 집계된 Analytics 통계 또는 서비스 설정에 따라 보관된 이벤트는 개별 사용자에 대응하여 삭제할 수 없는 경우가 있습니다.

1.5 구매 및 구독

앱 내 구매 및 자동 갱신 구독은 Apple App Store를 통해 처리됩니다. Rokki와 RevenueCat 모두 사용자의 전체 신용카드 번호를 받지 않습니다.

PRO 이용권 표시, 영수증 검증, 구매 복원, 이전 처리, 부정 방지 및 구독 지원을 위해 Apple, RevenueCat, Firebase 및 Rokki는 다음 정보를 처리할 수 있습니다.

Rokki는 Firebase에 최소화된 구독 이용권 미러와 webhook 감사 기록을 저장합니다. 가격, 결제, 환불, 갱신 및 해지에는 Apple의 규정과 사용자 지역의 App Store에 표시된 조건이 적용됩니다.

App Store에서 일회성 “커피 사주기” 후원 구매도 할 수 있습니다. 소모성 구매이며 PRO나 다른 기능 이용권을 제공하지 않습니다. 수입 보고, 대조, 부정 방지, 감사 및 회계·법적 의무를 위해 RevenueCat webhook은 Firebase에 이벤트 ID, 상품 ID, 통화, gross 금액, 수신 시각 및 통화별 합계를 저장합니다. 커피 전용 기록에는 UID, 이메일, 카드 정보를 저장하지 않지만 공통 webhook 감사 기록에는 Firebase UID, App User ID 또는 aliases가 포함될 수 있습니다. 필요한 구매·감사 기록은 계정 삭제 후에도 남을 수 있습니다.

1.6 문의하기 및 해지 사유

앱에서 “문의하기” 또는 해지 사유를 직접 보낸 경우 당사는 다음 정보를 받을 수 있습니다.

이 정보는 관리자 권한으로 보호되는 Rokki Admin에 표시되며, 문의 응답, 문제 해결, 해지 사유 파악, 서비스 개선 및 남용 방지에 사용됩니다. 답변을 원하는데 연결된 계정에 사용 가능한 이메일이 없는 경우, 메시지 본문에 연락처를 남겨 주십시오.

직접 제출한 암장 제안에는 국가, 지역, 암장 이름 및 추가 내용도 포함됩니다. Firebase에 UID, 기존 계정 이메일, 로그인 제공업체, 앱 버전, 언어, 제출 시각 및 처리 상태와 함께 저장하여 관리자가 암장 목록 관리와 답변에 사용합니다. 제안은 제출 후 365일을 만료 시점으로 설정하여 TTL 정리 대상으로 삼으며 계정 삭제 시 더 이른 정리가 시작됩니다. 직접 보내기로 선택한 내용이며 제1.9항의 통계 업로드와는 별개입니다.

1.7 앱 내 공지

앱은 Firebase에서 공지를 가져오고, 앱 버전, 언어, 지역, 로그인 상태, 구독 상태를 바탕으로 기기 내에서 표시 여부를 판단합니다. 공지를 명시적으로 닫거나 공지의 작업 버튼을 사용하면 해당 공지 ID가 그 기기에 저장되어 반복 표시를 방지합니다. Rokki는 공지를 위해 시스템 푸시 알림을 보내지 않습니다.

1.8 사진, 동영상, 공유 및 내보내기

공유용 Story를 만들 때 iOS 시스템 사진 선택기를 통해 사진이나 동영상을 선택할 수 있습니다. 선택한 미디어는 레이아웃과 출력을 위해 기기 내에서 처리되며, 선택했다는 이유만으로 Rokki 서버에 자동 업로드되지 않습니다. 완성된 Story를 사진 보관함에 저장하는 것은 사용자가 권한을 허용한 경우에만 이루어집니다.

Rokki는 정확한 위치, 연락처, 마이크, 카메라에 대한 접근 권한을 요청하지 않습니다. Instagram 공유를 선택한 경우, 앱은 완성된 Story를 짧은 만료 시간과 함께 iOS pasteboard에 임시로 저장한 뒤 Instagram을 엽니다. Instagram, iOS 공유 시트, JSON·CSV·이미지·동영상 내보내기를 이용하거나 다른 앱·서비스로 파일을 보내는 경우, 수신 측은 자체 개인정보처리방침에 따라 해당 데이터를 처리합니다.

1.9 클라이밍 통계

클라이밍 통계는 같은 “사용 현황과 클라이밍 통계” 스위치로 관리됩니다. 공유를 허용하고 Apple 또는 Google 계정을 연결한 경우에만 업로드합니다.

동의하면 Rokki는 대상 볼더링 기록을 일별로 집계하여 Firebase / Google Cloud에 업로드합니다. 암장 카탈로그 식별자, 난이도 체계와 난이도, 사전 정의된 루트 태그, 날짜, 완등 결과와 시도 횟수로 구분한 건수(플래시, 2~3회, 4~7회, 8회 이상 시도 후 완등, 미완등)가 포함됩니다. 날짜, 암장, 난이도, 태그별 건수를 전송하며 개별 루트 기록은 전송하지 않습니다. 계정 연결, 갱신 및 삭제를 위해 Firebase UID와 서버 갱신 시각도 포함됩니다.

이 통계에는 루트 이름, 메모, 닉네임, 프로필 이미지, 사진, 동영상, 전체 클라이밍 기록, 암장 도착 시각이나 체류 시간을 업로드하지 않습니다. 자유 입력한 암장 이름과 태그는 통계에서 제외됩니다.

이 일별 데이터는 Firebase 계정 식별자와 연결된 가명 처리 데이터이며 익명 데이터가 아닙니다. 당사는 클라이밍 성과, 난이도 분포, 암장 간 난이도 차이를 연구하고 클라이밍 통계 방법을 개선하기 위해 이 데이터를 수집하고 정리합니다. 계정 식별자를 통해 같은 계정의 서로 다른 암장 기록을 비교할 수 있습니다. 개인의 기록은 공개하지 않습니다.

이 데이터는 광고, 판매 또는 앱·웹사이트 간 추적에 사용하지 않습니다. 동의 여부는 이용할 수 있는 기능에 영향을 주지 않습니다.

“설정” → “개인정보 보호”에서 “사용 현황과 클라이밍 통계”를 언제든지 끌 수 있습니다. 끄면 새로운 업로드가 중단되고 앱은 해당 계정의 업로드된 일별 데이터 삭제를 시도합니다. 로그아웃 상태이거나 기기가 오프라인이거나 요청이 실패하면 기존 데이터가 남아 있을 수 있습니다. Rokki 계정을 삭제하거나 당사에 연락하여 삭제를 요청할 수 있습니다. 계정 삭제 시 백엔드 정리가 시작됩니다. 개별 출처를 더 이상 보관하지 않는 통계로 이미 집계된 부분은 소급하여 제거할 수 없습니다.

1.10 로그인 활동 및 기록 개요 카드 클릭

데이터 처리 안내를 확인한 후 Apple·Google에 연결된 계정은 앱이 전면으로 돌아올 때 인증된 활동 요청(heartbeat)을 전송하며 기록 내용은 포함하지 않습니다. 백엔드는 Firebase UID별로 최근 30개 UTC 날짜의 FREE·PRO 상태, 마지막 활동 시각 및 갱신 시각을 저장하여 내부 7일·30일 활성 사용자 보고서를 만듭니다. 플랜은 백엔드에서 판단합니다. 관리자 보고서는 집계 인원만 제공하며 UID 목록은 제공하지 않습니다. 개별 계정 데이터는 익명 데이터가 아니며 마지막 활동 후 35일을 만료 시점으로 설정하여 TTL 정리 대상으로 삼습니다. 계정 삭제 시 더 이른 정리가 시작됩니다.

볼더링 또는 로프 기록 개요 카드를 누르면 카드 유형과 단기 작업 ID를 보내 공개 누적 클릭 수와 내부 일별 보고서를 갱신합니다. 이 과정에서 Firebase 익명 계정을 만들지 않습니다. Apple·Google 로그인이 확인되지 않은 클릭은 익명 누계에 포함합니다. 확인된 연결 계정은 Firebase UID별 카드 누계와 갱신 시각을 계정 삭제 정리 시까지 보관합니다. 작업 ID와 날짜·처리 시각 기록은 7일 후 만료되도록 설정합니다. 공개 누계와 일별 집계는 개별 출처를 보관하지 않으며 계속 보관할 수 있고 계정 삭제 시 차감하지 않습니다.

이 데이터는 위 기능을 위한 운영 기록으로 제1.4항의 선택적 Analytics와 별개이며 “사용 현황과 클라이밍 통계” 스위치의 대상이 아닙니다. 정식 버전 통계를 구분하기 위해 요청에는 앱 실행 환경(정식·테스트 등)도 포함하지만 루트, 암장, 메모, 닉네임은 포함하지 않습니다. 실제 TTL 정리는 서비스 처리 지연으로 만료 시점 이후에 이루어질 수 있습니다.

1.11 후원자 댓글

일회성 후원 구매 후 최대 25자의 댓글을 선택적으로 남길 수 있습니다. 댓글, 댓글 식별자, 후원 품목, 플랜 배지, 작성 시각, Firebase UID를 솔트와 함께 해시하여 만든 별칭(예: user-3f9a)이 플랜 페이지에 공개됩니다. 이름, 이메일, Firebase UID는 공개하지 않지만 관리자는 보호된 관리 화면에서 해당 UID를 확인할 수 있습니다. 별칭을 사용하는 공개 댓글이며 당사에 대해서는 익명이 아닙니다.

백엔드는 구매 연결 정보, 앱 버전, 언어, 관리 상태 및 갱신 시각도 저장하여 작성 자격 확인, 콘텐츠 관리 및 남용 방지에 사용합니다. 신고에는 댓글 식별자, 신고자 UID, 사유 및 시각을 저장하며 365일 후 만료되도록 설정합니다. 차단할 별칭 목록은 차단한 계정과 연결됩니다. 계정 삭제 시 해당 계정의 댓글, 신고 및 차단 정보 정리가 시작됩니다. 관리자는 부적절한 댓글을 삭제할 수도 있습니다. 댓글을 남기지 않아도 후원 구매에는 영향이 없습니다.

2. 데이터 이용 목적

당사는 다음 목적에 필요한 범위에서만 데이터를 처리합니다.

관련 법령에 따라 처리의 법적 근거에는 사용자가 요청한 서비스의 이행, 사용자의 선택 또는 동의, 서비스의 안전 확보 및 개선에 관한 정당한 이익, 법적 의무가 포함될 수 있습니다.

3. 서비스 제공업체, 공개 및 국외 처리

당사는 개인정보를 판매하지 않고, 제3자 행동 기반 광고를 제공하지 않으며, 앱이나 웹사이트를 넘나들며 사용자를 추적하지 않습니다. 본 서비스 제공에 필요한 데이터는 다음 서비스 제공업체가 처리할 수 있습니다.

서비스 제공업체 목적
Apple Apple로 로그인, App Store 구매·구독, 사진 보관함 및 시스템 공유 기능
Google Firebase / Google Cloud / Google Sign-In 인증, 공지 및 Remote Config, Functions, 사용 분석, 클라이밍 통계, 활동·클릭 보고서, 지원 및 암장 제안, 후원자 댓글, CLOUD 백업
RevenueCat 구매·후원 영수증, 이용권, 구매 복원, 거래 이벤트 처리
Instagram / Meta 사용자가 Instagram 공유를 명시적으로 선택한 경우에만 해당 Story 수신
GitHub 공개 지원 페이지 및 본 방침 호스팅

당사는 법령상 요구되는 경우, 사용자 또는 본 서비스의 안전을 보호하기 위해 필요한 경우, 또는 법적 청구의 성립·행사·방어에 필요한 경우에도 데이터를 공개할 수 있습니다.

이러한 제공업체는 사용자의 국가나 지역 밖에서 데이터를 처리할 수 있습니다. Firebase Authentication 및 RevenueCat의 일부 처리는 미국에서 이루어질 수 있습니다. Cloud Storage, Functions 및 기타 서비스는 선택된 Google Cloud 리전 또는 글로벌 인프라에서 데이터를 처리할 수 있습니다. 국외 처리에는 제공업체의 약관 및 적용되는 데이터 보호 조치가 적용됩니다.

당사는 당사를 대신하여 데이터를 처리하는 서비스 제공업체에 대해, 각자에게 적용되는 계약, 데이터 처리 조건 및 법적 의무에 따라 본 방침과 동일하거나 동등한 수준의 보호를 제공하고, 합의된 서비스 제공에 필요한 범위에서만 데이터를 사용하도록 요구합니다.

제공업체 방침:

4. 보관 및 삭제

5. 사용자의 선택과 권리

사용자는 다음을 할 수 있습니다.

클라우드 계정을 삭제해도 이 iPhone에 저장된 기록은 삭제되지 않으며, Apple 구독도 해지되지 않습니다. 향후 결제를 중단하려면 Apple의 구독 관리 화면에서 별도로 해지해 주십시오.

Firebase 계정을 삭제하면 Rokki는 CLOUD 백업, 클라이밍 통계 일별 데이터, 계정 활동 기록, UID별 클릭 누계, 지원 정보, 암장 제안, 후원자 댓글 관련 데이터 및 Firebase 내 구독 미러의 정리를 시작합니다. Apple의 거래 기록과 RevenueCat의 영수증, 고객 정보 또는 감사 데이터는 결제, 분쟁, 부정 방지, 법적 의무 또는 기술적 처리를 위해 계속 보관될 수 있습니다. 삭제 가능한 RevenueCat 데이터의 삭제 요청에 도움이 필요하면 당사로 연락해 주십시오.

연결된 클라우드 계정을 삭제한 후에도 백엔드 세션이 필요한 기능을 계속 사용하면 앱이 새로운 익명 UID를 생성할 수 있습니다. 새 UID로는 삭제된 계정의 CLOUD 백업이나 구독 미러가 복원되지 않습니다.

잘못된 계정에 대한 접근이나 삭제를 방지하기 위해, 연결된 로그인 방식 또는 기타 합리적인 방법으로 본인 확인을 요청할 수 있습니다. 일부 권리는 관련 법령상의 예외에 의해 제한될 수 있습니다.

6. 보안

당사는 전송 구간의 HTTPS, 제공업체의 저장 시 암호화, Firebase Authentication, UID로 제한된 Storage Security Rules, 관리자 접근 통제, 데이터 최소화 등 합리적인 기술적·관리적 보호조치를 사용합니다. Rokki CLOUD는 현재 사용자만 키를 보유하는 종단간 암호화 방식이 아니며, 어떤 네트워크나 저장 시스템도 절대적인 안전을 보장할 수는 없습니다.

7. 아동

본 서비스는 특별히 아동을 대상으로 설계되지 않았습니다. 당사는 아동이 이용하는 기능에 필요한 범위를 넘어 데이터 제공을 의도적으로 요구하지 않습니다. 보호자로서 관련 법령이 요구하는 동의 없이 아동이 개인정보를 제공했다고 판단되는 경우, 조치 또는 삭제를 위해 당사로 연락해 주십시오.

8. 본 방침의 변경

데이터 유형, 이용 목적 또는 서비스 제공업체에 중대한 변경이 있는 경우, 본 페이지의 날짜를 갱신하고 필요에 따라 앱 내 공지로 안내합니다. 관련 법령이 새로운 처리에 대해 별도의 동의를 요구하는 경우, 해당 처리를 시작하기 전에 적절한 선택권을 제공합니다.

9. 문의

개인정보 관련 권리 행사 또는 본 방침에 대한 문의는 아래로 이메일을 보내 주십시오.

rokki.rokki.app@gmail.com