1. 概要
ShakeLock(以下「本アプリ」)は、選択したアプリをロックし、端末をシェイクして解除するまで使用できないようにする、デジタルウェルビーイング/集中支援アプリです。本プライバシーポリシーは、ShakeLock iOS版がどのようにデータを収集・使用・保護するかを説明します。
2. 収集するデータ
2a. 端末内のみに保存されるデータ(サーバーに送信されません)
- ロック対象アプリの設定・難易度・解除時間などの環境設定
- シェイク検出センサーデータ(加速度計、ジャイロスコープ)
- 解除回数のローカルカウンター(インタースティシャル広告の頻度制御用)
- チュートリアル進行状況・コーチマーク表示済みフラグ
2b. サーバー(Firebase)に保存されるデータ
- 匿名ユーザーID(Firebase 匿名認証) — アプリ検索カタログへのアクセス管理のみに使用
※ ShakeLock は SOS/チーム/プッシュ通知/ストリーク/メダル等のサーバー連携機能を持ちません。ユーザーアクティビティはサーバーに記録されません。
2c. 第三者が収集するデータ
- Google AdMob: 広告の表示と帰属計測のため、Apple の App Tracking Transparency(ATT)で許可いただいた場合のみ、IDFA を含む広告関連データを収集します(詳細は §4)。
- Apple App Store / StoreKit: プレミアム月額サブスクリプションの決済処理。決済情報は Apple のみが取扱い、本アプリは決済データを保持しません。
3. データの使用目的
| データ | 使用目的 |
| 匿名ユーザーID(Firebase) | アプリ検索カタログ(Firestore)への認証アクセス |
| シェイクセンサーデータ | リアルタイムでのシェイク検出 — すべて端末内で処理、外部に送信されません |
| ロック設定・解除回数 | ロック対象アプリの管理、広告表示頻度の調整 |
| IDFA(許可した場合のみ) | Google AdMob を通じたパーソナライズド広告の配信 |
4. トラッキングと広告(App Tracking Transparency)
ShakeLock は Apple の App Tracking Transparency(ATT)フレームワークを使用します。アプリの初回起動時、他社のアプリやウェブサイトをまたいだ行動をトラッキングする許可をお願いするシステムダイアログが表示されます。
トラッキングする内容(許可いただいた場合のみ)
- デバイスの広告識別子(IDFA)
- 広告表示・クリック等のインタラクション情報
- Google AdMob と共有される集計情報(パーソナライズド広告のため)
トラッキングを許可した場合
- ご自身に関連性の高いパーソナライズド広告が表示されます
- 匿名の操作データが Google AdMob と共有されます
トラッキングを許可しない場合(プライバシー重視の方推奨)
- 非パーソナライズ広告のみが表示されます
- 広告識別子は収集されません
- アプリ機能には影響ありません
いつでも変更可能
iOS 設定 → プライバシーとセキュリティ → トラッキング → ShakeLock
トラッキング・広告配信に使用されるドメイン
googleadservices.com, googlesyndication.com, doubleclick.net, google.com, gstatic.com
上記の広告サービス以外の第三者にトラッキングデータを販売することはありません。
5. Screen Time API(Family Controls)
ShakeLock は Apple の Screen Time API(Family Controls フレームワーク)を使用して、端末上のアプリ制限を管理します。これは本アプリの中核機能です。
Screen Time API が行うこと
- ユーザーが選択したアプリへのアクセスをブロック
- ロック対象アプリを開こうとした時にシールド画面を表示
- シェイクによる解除完了後に制限を一時的に解除
Screen Time API が行わないこと
- どのアプリをどれくらい使用しているかを監視しません
- 閲覧履歴やアプリ使用データを収集しません
- Screen Time のデータをサーバーに送信しません
- すべての制限管理は端末内で行われます
Screen Time API はユーザーの許可が必要です。iOS 設定からいつでも取り消すことができます。
6. アプリ検索カタログ(Firebase)
ロック対象として追加するアプリの検索機能では、Google Firebase(Firestore + Cloud Functions)を利用しています。
送信される情報
- 検索クエリ文字列(例:「YouTube」)
- 匿名ユーザーID(Firebase 匿名認証)
送信されない情報
- 個人を特定する情報
- 過去にロックしたアプリの履歴
- 解除回数や利用状況
Gemini AI の利用
検索結果が不十分な場合、サーバー側で Google の Gemini AI を用いて入力文字列を正規アプリ名に変換するフォールバック処理を行います。Gemini AI は入力文字列のみを処理し、アプリ利用データや個人情報は一切送信されません。Gemini の出力はキュレーション済みカタログとの照合にのみ使用され、自由生成テキストとして直接ユーザーに表示されることはありません。
App Check
Firebase へのアクセスは Apple App Attest(iOS 14+)による App Check で保護されており、本物の ShakeLock アプリからの正当なリクエストのみがサーバーに到達します。
サーバーリージョン: asia-northeast1(東京)。
7. データの共有
- 個人データを第三者に販売することはありません。
- 広告関連データは、Google AdMob のプライバシーポリシーに基づいて取扱われます(許可した場合のみ)。
- サブスクリプション決済データは Apple のみが取扱い、本アプリには共有されません。
8. データの保持期間
- 端末内データ: アプリをアンインストールすると即座にすべて削除されます。
- Firebase 匿名ユーザーID: アプリ使用中は保持されます。設定画面の「アカウント削除」ボタンから削除を要求すると即座に削除されます。
- 検索クエリログ: サーバーには長期保存されません(Cloud Functions の標準ログのみ短期間保持)。
- サブスクリプション情報: Apple App Store 側で管理されます。
9. データの削除方法
- アプリのアンインストール: 端末内のすべてのデータが即座に削除されます。
- アカウント削除(アプリ内): 設定画面の「アカウント削除」ボタンを使用すると、Firebase 匿名アカウントが即座に削除されます。
- サブスクリプションの解約: iOS 設定 → Apple ID → サブスクリプション → ShakeLock から行ってください。
- お問い合わせ: データ削除に関するご質問は、k2+shakelock-ios@saki-paru.com までご連絡ください。
10. データのセキュリティ
- シェイク検出処理はすべて端末内で行われます。
- サーバー通信は HTTPS(TLS)暗号化を使用します。
- Firebase Security Rules と App Check により、認証済みかつ本物のアプリからのアクセスのみが許可されます。
- パスワードは保存されません(匿名認証のみ)。
11. お子様のプライバシー
ShakeLock は 13 歳未満のお子様を対象としていません。お子様の個人データを意図的に収集することはありません。本アプリは保護者向けの自己管理ツールとして設計されており、13 歳未満のお子様の使用は推奨しません。
12. ポリシーの変更
本プライバシーポリシーは随時更新される場合があります。更新時は冒頭の「最終更新日」を改定します。重要な変更がある場合は、アプリ内で通知する場合があります。
1. Overview
ShakeLock ("we", "our", "the app") is a digital wellbeing / focus app that locks selected apps on your device until you shake your phone to unlock. This privacy policy explains how ShakeLock for iOS collects, uses, and protects your data.
2. Data We Collect
2a. Data stored on your device only (never sent to servers)
- Locked-app selections, difficulty, cooldown duration, and other preferences
- Shake-detection sensor data (accelerometer, gyroscope)
- Local unlock counter (used only to throttle interstitial ad frequency)
- Tutorial progress and coach-mark completion flags
2b. Data stored on our servers (Firebase)
- Anonymous user ID (Firebase Anonymous Authentication) — used solely to authenticate access to the app-search catalog
Note: ShakeLock does NOT include SOS, teams, push notifications, streaks, medals, or any other server-synced activity feature. Your usage activity is not recorded on our servers.
2c. Data collected by third parties
- Google AdMob: Advertising-related data including IDFA, collected only if you grant permission via Apple's App Tracking Transparency (ATT) — see §4.
- Apple App Store / StoreKit: Subscription billing is handled entirely by Apple. ShakeLock does not store payment information.
3. How We Use Your Data
| Data | Purpose |
| Anonymous user ID (Firebase) | Authenticate access to the app-search catalog (Firestore) |
| Shake sensor data | Real-time shake detection — processed entirely on-device, never transmitted |
| Lock settings / unlock count | Manage locked apps and throttle ad frequency |
| IDFA (only if permitted) | Deliver personalized ads through Google AdMob |
4. Tracking & Advertising (App Tracking Transparency)
ShakeLock uses Apple's App Tracking Transparency (ATT) framework. When you first launch the app, you'll see a system dialog asking your permission to track your activity across other companies' apps and websites.
What we track (only with your permission)
- Your device's advertising identifier (IDFA)
- Ad impression and click interaction data
- Aggregated information shared with Google AdMob for personalized advertising
If you allow tracking
- You'll see personalized ads that may be more relevant to you
- Anonymous interaction data is shared with Google AdMob
If you decline tracking (recommended for privacy)
- You'll see only non-personalized ads
- No advertising identifier is collected
- App functionality is unchanged
You can change this anytime
iOS Settings → Privacy & Security → Tracking → ShakeLock
Domains used for tracking and ad delivery
googleadservices.com, googlesyndication.com, doubleclick.net, google.com, gstatic.com
We do not sell your tracking data to any third party other than the advertising service listed above.
5. Screen Time API (Family Controls)
ShakeLock uses Apple's Screen Time API (Family Controls framework) to manage app restrictions on your device. This is the core functionality of the app.
What the Screen Time API does
- Blocks access to apps you select for locking
- Displays the shield screen when you try to open a locked app
- Temporarily removes the restriction after you complete the shake unlock
What the Screen Time API does NOT do
- Does NOT monitor which apps you use or how often
- Does NOT collect browsing history or app usage data
- Does NOT transmit any Screen Time data to servers
- All restriction management happens locally on your device
Screen Time API requires your permission. You can revoke it at any time in iOS Settings.
6. App-Search Catalog (Firebase)
When you add a new app to lock, the search feature uses Google Firebase (Firestore + Cloud Functions).
Information sent
- Your search query string (e.g., "YouTube")
- Anonymous user ID (Firebase Anonymous Authentication)
Information NOT sent
- Any personally identifying information
- History of apps you previously locked
- Unlock counts or usage data
Gemini AI usage
If a search returns insufficient results, a server-side fallback uses Google's Gemini AI to convert your query into a normalized app name. Gemini AI only receives the query string — no usage data or personal information is ever sent. Gemini's output is used only to look up entries in our curated catalog; it is never displayed directly as free-form text to the user (so no hallucinated apps appear in results).
App Check
Firebase access is protected by Apple App Attest (iOS 14+) via App Check, ensuring only genuine ShakeLock app instances can reach the server.
Server region: asia-northeast1 (Tokyo).
7. Data Sharing
- We do NOT sell your personal data to third parties.
- Advertising-related data is handled by Google AdMob in accordance with their privacy policy (only with your permission).
- Subscription billing data is handled entirely by Apple and is not shared with the app.
8. Data Retention
- On-device data: Immediately deleted when you uninstall the app.
- Firebase anonymous user ID: Retained while you use the app. Deleted immediately when you request deletion via the in-app "Delete Account" button in Settings.
- Search query logs: Not retained long-term on the server (only standard short-term Cloud Functions logs).
- Subscription information: Managed by Apple App Store.
9. Data Deletion
- Uninstall the app: All local data is immediately deleted from your device.
- Delete Account (in-app): Use the "Delete Account" button in the app's Settings screen to immediately delete your Firebase anonymous account.
- Cancel subscription: Go to iOS Settings → Apple ID → Subscriptions → ShakeLock.
- Contact us: For any questions about data deletion, contact us at k2+shakelock-ios@saki-paru.com.
10. Data Security
- All shake-detection processing happens on-device.
- Server communication uses HTTPS (TLS) encryption.
- Firebase Security Rules and App Check restrict data access to authenticated requests from genuine app instances.
- No passwords are stored (anonymous authentication only).
11. Children's Privacy
ShakeLock is not directed at children under 13. We do not knowingly collect personal data from children. The app is designed as a self-management tool for adults; use by children under 13 is not recommended.
12. Changes to This Policy
We may update this privacy policy from time to time. The "Last updated" date at the top will be revised accordingly. If we make material changes, we may also notify you within the app.