注: 本ドキュメントは草稿です。最終版は弁護士レビュー後に確定します。アプリ正式リリース前に再公開予定です。
1. はじめに
Aragu Studio(以下、「当方」)は、Akari(以下、「本アプリ」)を提供しています。本ポリシーは、本アプリで収集する情報、利用目的、第三者提供、利用者の権利について説明します。
本アプリは緊急救助サービスではありません。詳細は利用規約参照。
2. 当方(Controller / 個人情報取扱事業者)の情報
- 屋号: Aragu Studio
- 形態: 個人事業主(日本)
- 連絡先: [email protected]
- 所在国: 日本
- データ保護担当者(DPO): [email protected]
- 適用法: 個人情報保護法(日本)、必要に応じて GDPR(EU)、UK GDPR、COPPA(米、13歳未満)
3. 収集する情報と Legal Basis(GDPR Article 6)
| カテゴリ | データ | 利用目的 | Legal Basis |
|---|---|---|---|
| アカウント | メール、表示名、言語、年齢確認状態(18+) | 認証、契約履行のための本人確認 | (b) 契約履行 |
| 位置情報 | GPS 緯度経度(取得した最大精度)、精度、ネットワーク種別。本アプリは原則として常に最大精度で位置情報を取得・保存します(本人の事後参照、および第5節に定める緊急時開示のため)。平常時は heartbeat 送信時の単発取得、緊急時(severity = red)は連続バックグラウンド位置トラッキングを行います(第5.6節)。 | 本人による事後参照(常に正確)、Watcher への段階開示(本人が選んだ粒度に従う)、severity escalate 時の安否確認、緊急時の経路追跡 | (a) 同意 + (d) 重大な利益(緊急時) |
| 移動手段の推定(緊急時のみ) | OS の Activity Recognition API(iOS CoreMotion / Android Activity Recognition)が端末側で機械学習推定した「歩行 / 自転車 / 自動車 / 電車 / 静止」のラベル。原センサーデータ(加速度・ジャイロ等)はアプリもサーバも受け取らず、推定結果ラベルのみを保存します。 | 緊急時(red)に Watcher が経路と移動手段を確認できるようにする(捜索の手がかり) | (d) 重大な利益(緊急時) |
| デバイス・トリガー | デバイス識別子、push token、platform、battery、unlock/charger 等のイベント時刻 | 沈黙検知、push 通知 | (b) 契約履行 |
| 連絡先設定 | Email、Telegram chat ID 等 | 通知配信 | (a) 同意 |
| Watch Group | グループ名、招待 token、所属、role | グループ機能 | (b) 契約履行 |
| Family Playbook | 旅程、緊急連絡先 等 | 緊急対応 | (a) 同意 |
| 同意ログ | 同意・撤回・block の event log | 悪用防止・法的紛争への備え | (f) 正当な利益 |
| 開示ログ | 誰がいつどの精度で位置を見たか | 自己情報コントロール権・ストーキング防止 | (f) 正当な利益 |
| エラーログ(Sentry) | スタックトレース、リクエスト ID | 障害対応、セキュリティ | (f) 正当な利益 |
利用者は同意ベース(a)のデータについて、いつでも同意を撤回できます(設定画面 or [email protected] 宛)。撤回前の処理の合法性には影響しません(GDPR Art. 7(3))。
「正当な利益」(f)に該当するデータには、利用者の異議権(GDPR Art. 21)が認められます。
4. 利用目的の明確化
- 利用者(Subject)が指定した期間以上、デバイスから生存シグナルが届かない場合に、Subject があらかじめ承認した家族・友人(Watcher)に通知すること
- Watcher が Subject の状態を、severity に応じて段階開示で確認できるようにすること
- 本アプリの動作改善・障害対応・セキュリティ防御
- 法令遵守(同意・開示ログの保存)
5. 位置情報の段階開示
5.1 保存と表示の分離(常時収集モデル)
Akari は「保存」と「Watcher への表示」を独立に扱います。 本アプリは原則として常に最大精度の位置情報を取得・保存します。 これは(a)本人が後から「いつどこにいたか」を正確に確認できるため、 (b)第5.3節で定める 緊急時開示 を技術的に成り立たせるため、 の2点が目的です。
平常時に Watcher が見られる粒度は、Subject が heartbeat ごとに選んだ 開示粒度(disclosure level) によって決まります。 この選択は「保存される位置情報そのもの」ではなく「Watcher への表示」を制御します。
| Subject の選択(送信時) | DB 保存 | Watcher への通常表示 | 緊急時表示 |
|---|---|---|---|
| 正確 | 緯度経度フル精度 | 正確な緯度経度 | 同左 |
| 市 | 緯度経度フル精度 | 市レベル | 緊急時に正確な緯度経度に引き上げ |
| 国 | 緯度経度フル精度 | 国レベルのみ | 緊急時に正確な緯度経度に引き上げ |
| 位置情報なし | 緯度経度フル精度(平常時は Watcher に非表示) | 位置情報非開示 | 緊急時(red)に正確な位置を開示 |
5.2 状態に応じた表示の引き上げ(Severity Override)
Subject が長時間沈黙して安否確認が必要になった場合、以下の severity に 応じた粒度を 下限(floor) として表示が引き上げられます。 実際の Watcher 表示は Subject が選んだ粒度と severity 由来の粒度の、より高精度な方 が採用されます。
| 状態 | severity 由来の最低開示 |
|---|---|
| 平常時(green) | 国レベル(Subject の選択がそのまま反映) |
| 12時間沈黙(yellow) | 市レベル以上(「位置情報なし」設定は維持) |
| 24時間沈黙(orange) | 正確な緯度経度以上(「位置情報なし」設定は維持) |
| 48時間沈黙(red) — 緊急時開示 | 蓄積されている全位置情報(過去30日分まで)を正確に開示。「位置情報なし」設定もこの時点で解除される。 |
5.3 緊急時開示の社会契約
本アプリの中心的な仕組みです。本アプリの利用は、以下の契約に同意することを意味します:
- 位置情報は常に最大精度で取得・保存される(平常時の表示粒度に関わらず)。
- 平常時は Subject が選んだ表示粒度のみが Watcher に開示される。
- Subject が48時間以上にわたって生存シグナルを送れない状態(severity = red)になった場合、Subject が日常的に選択していた「市」「国」「位置情報なし」等の表示制限はすべて解除され、蓄積されている過去30日分の正確な位置情報が Watcher に開示される。これは「Subject が応答できない可能性が高い緊急事態において、家族が探すための情報源を提供する」ためのもの。
- Subject はいつでもアカウントを削除でき、削除した時点で過去の蓄積位置情報も全て消える。データ export はいつでも可能(設定画面)。
- 本契約に同意できない場合、本アプリの利用を停止すること。
Watcher 側 UI には、緊急時開示が発動している間は常に明示的なバナーが表示され、 表示中の位置情報が「平常時の Subject の選択を上書きして開示されたものである」ことが Watcher にも視覚的に分かるようにしています。
5.4 Where Request(個別の位置開示要求)
Severity escalate を待たずに Watcher が Subject に位置開示を要求でき、 Subject の明示的な承認後にその時点の heartbeat snapshot が Watcher に開示されます。 Subject が承認した場合は、要求された精度が grant されます(Subject は要求内容を見て 承認するため、ambient な disclosure level による自動 clamp はかけません)。
承認された snapshot は時間経過で消えません(Watcher が既に取得した 情報を後からサーバ側で取り消すことはできないため、形式的な期限を設けません)。 代わりに、開示記録は Subject が「位置開示ログ」で常に確認できます。
5.6 緊急時の連続バックグラウンド位置トラッキングと移動手段推定
平常時(green / yellow / orange)は、本アプリは heartbeat 送信時の単発位置取得のみ を行います。連続的な追跡は行いません。 Watcher が見る地図にも、点(各 heartbeat の位置)のみが描画され、 点と点をつなぐ経路線は表示されません。
Subject が48時間以上沈黙して severity = red(緊急時開示)に遷移した場合に限り、 本アプリは以下を red が解除されるまでの間 起動します:
- 連続バックグラウンド位置トラッキング: アプリが起動していない時間帯も含め、OS が許可する範囲で位置情報を継続取得します。これにより Watcher は経路(点と点をつなぐ移動軌跡)を地図上で確認できます。
- 移動手段の推定(Activity Recognition): iOS CoreMotion / Android Activity Recognition API を用い、端末側で機械学習推定された移動手段ラベル(歩行 / 自転車 / 自動車 / 電車 / 静止)を取得します。原センサーデータ(加速度・ジャイロ等)はアプリもサーバも受け取らず、OS が推定した結果ラベルのみがサーバに送信されます。
平常時はこのいずれも起動しません。red の解除(本人が「いま元気にしている」を送信、 または不在モード設定等により severity が下がった時点)で、連続トラッキングと Activity Recognition は停止します。
この設計は「平常時は最低限のデータしか持たず、緊急時に限り捜索に必要な情報を残す」 という第5.3節の社会契約を、技術的に裏付けるものです。
5.7 データ export
Subject はいつでも自分の全データ(プロフィール、位置履歴、開示ログ、 where request 履歴、所属グループ、通知履歴)を JSON または CSV 形式で export できます。設定画面の「データを export」から実行可能です。
通知本文(Telegram/Discord/Email/SMS 等)には raw 位置情報を含めず、認証付きダッシュボードへのリンクのみ記載します。
利用者は Vacation Mode で一時的に判定を停止できます(最大7日)。
6. 第三者提供・処理委託
6.1 MVP で利用する第三者
| サービス | 提供事業者 | 国 | 用途 |
|---|---|---|---|
| Cloudflare Workers / D1 / KV / Durable Objects | Cloudflare, Inc. | 米国 | アプリ基盤 |
| Clerk | Clerk, Inc. | 米国 | 認証 |
| Expo Push Service | 650 Industries, Inc. | 米国 | プッシュ通知 |
| APNs | Apple Inc. | 米国 | iOS push 配信 |
| FCM | Google LLC | 米国 | Android push 配信 |
| Resend | Resend, Inc. | 米国 | Email 通知 |
| Sentry | Functional Software, Inc. | 米国 | エラー監視 |
| Telegram | Telegram FZ-LLC | UAE | 通知 channel(任意) |
6.2 外国にある第三者への提供(個人情報保護法 第28条)
米国: 連邦レベルの包括的個人情報保護法は存在しないが、CCPA 等の州法、HIPAA、COPPA、GLBA 等の分野別法が存在。日米間の移転は Data Privacy Framework(2023年)に依拠、または SCC を使用。各社の DPA を当方は締結。
UAE: 2021年11月施行の Federal Decree-Law No. 45 of 2021 on the Protection of Personal Data Protection に準拠。
EU / UK: GDPR / UK GDPR が適用。該当する場合、Standard Contractual Clauses(SCC)を使用。各処理者と DPA を締結。
詳細情報・SCC の写しは [email protected] から取得できます。
7. 保存期間
| データ | 保存期間 |
|---|---|
| アカウント情報 | アカウント削除リクエストまで(削除後30日以内に永続削除) |
| 位置情報・heartbeat | 30日 |
| 緊急時の連続トラッキング・移動手段推定ラベル | 30日(red 期間中に取得されたデータ。red 解除後も30日経過で位置情報と同じく削除) |
| 通知履歴(alerts) | 365日 |
| Family Playbook | アカウント削除まで |
| 同意・開示ログ | 5年(個人特定情報は匿名化) |
| 監査ログ | 5年 |
8. 利用者の権利
| 権利 | 行使方法 | 対応期限 |
|---|---|---|
| アクセス権 | アプリ内設定 / [email protected] | 30日 |
| 修正権 | アプリ内設定 | 即時 |
| 削除権 | アプリ内 / メール | 30日以内 |
| 処理制限権 | メール | 30日 |
| データポータビリティ | アプリ内 / メール | 30日 |
| 異議権 | メール | 30日 |
| 同意撤回 | アプリ内 / メール | 即時 |
| 監督機関への申立て | 個人情報保護委員会(日)、地域 DPA(EU) | - |
9. セキュリティ
- TLS 1.2+ で通信
- D1 at-rest 暗号化(Cloudflare 仕様)
- 連絡先設定(webhook、token 等)は AES-256-GCM の envelope encryption
- 認証は Clerk JWT、device 通信は短命 device token
- 同意・開示は audit log で追跡
- 移動手段推定は OS が端末側で機械学習推定し、原センサーデータ(加速度・ジャイロ等)はアプリもサーバも受け取らない
- セキュリティインシデント発生時は遅滞なく通知
10. 緊急性に関する免責(重要)
本アプリは緊急救助サービスではありません。以下のような状況には単独で対応できません:
- 即時的な医療緊急(分単位の救急対応が必要な場合)
- 携帯電波圏外での事故・遭難
- 利用者の意思に反する拘束(誘拐等)
- 武装襲撃の現場
- 大規模災害時の通信遮断
- OS のバックグラウンド制約により本アプリが起動できない状況
- 通知 provider(Telegram/Apple/Google 等)の障害・遅延
利用者は次の併用を強く推奨します:
- 外務省「たびレジ」登録
- 海外旅行保険・医療搬送保険(Global Rescue 等)
- 衛星通信デバイス(Garmin inReach 等)
- 現地の救急番号、在外公館連絡先
11. 子供のプライバシー(MVP は 18+ only)
- MVP 時点で本アプリの利用は18歳以上に限定しています
- アカウント作成前に年齢確認 self-attestation を必須とし、未確認のアカウントは機能利用を拒否します
- 18歳未満が登録したことが判明した場合、当該アカウントを直ちに削除します
- 13歳未満から個人情報を意図的に収集しません(COPPA 遵守)
- 13-17歳の親権者同意フローは v2 リリースで実装予定
12. ストーキング・悪用防止
- 同意制 invite: subject の発行する token なしに watcher になれない
- role 固定: invite token が role を保持、accept 時に詐称不可
- Subject controls: subject はいつでも watcher 一覧を確認、block、削除可能
- 段階開示の DB 強制: API レベルで精度を制御、client が選べない
- 通知本文に raw 位置を含めない: webhook 等の漏洩を防止
- 位置開示ログ: 誰がいつどの精度で見たか subject が常に確認可能
- 連続バックグラウンド位置トラッキングと移動手段推定は severity = red の間のみ起動(平常時は heartbeat の単発取得のみ)
13. Cookie / トラッキング
本アプリ内ではトラッキング Cookie を使用しません。Marketing 目的のトラッキングも行いません。ウェブサイト aragu.app には認証用 session cookie のみ使用します(必須 Cookie)。
14. ポリシーの変更
本ポリシーを変更する場合は、アプリ内通知またはメールで30日以上前に告知します。重大な変更の場合は再同意を求めます。
15. お問い合わせ
- 一般: [email protected]
- 苦情・申立て: 個人情報保護委員会(https://www.ppc.go.jp/)、または各国の DPA