セキュリティホワイトペーパー
Cove における端末内プライバシーの実装。
本書はコンプライアンスチーム、IT 意思決定者、懐疑的なユーザー向けです。Cove アプリが行いうるすべての外部ネットワーク通信、モデルの検証方法、どのデータがどこに保持されるか、業界フレームワーク(HIPAA / GDPR / ISO 27001)に対する姿勢を逐一示します。
エグゼクティブサマリー
Cove アプリは、すべてのユーザーコンテンツ(写真、音声、文字起こし、健康記録、翻訳)をユーザーの Android 端末上で完全に処理します。コンテンツデータは Cove のサーバー、第三者 AI プロバイダ、分析プラットフォームに一切アップロードされません。発生する外部通信は:Hugging Face からのモデルダウンロード、Google Play 購入確認、任意のメール購読、任意の匿名クラッシュレポート、それだけです。ユーザーコンテンツを扱う Cove 管理のサーバーは存在しません。
外部ネットワーク通信 — 完全リスト
任意の Cove アプリが起動しうるすべてのネットワーク通信を、目的別に列挙。このリストは契約事項であり、新しい通信種別を追加する場合はアプリのバージョン更新と changelog 記載が必要です。
-
Hugging Face からのモデルダウンロード
- Purpose
- 初回起動時、Gemma 4 E2B の重みをダウンロード(約 2.5 GB、Q4_0 量子化 — 無料と Pro で同じファイル)
- Endpoint
- huggingface.co/litert-community(Google 公式 Gemma リリースの LiteRT-LM ミラー)
- Data
- 送信なし。受信:モデル重みファイル。
- Frequency
- 端末ごとに 1 回 — 同じ Gemma 4 E2B ファイルが Cove 4 アプリ間で再利用
- User control
- /sdcard/GemmaApp/models/ にモデルファイルを事前配置することで省略可能
-
Google Play 購入確認
- Purpose
- Google Play Billing Library 経由で Pro アップグレード購入を確認
- Endpoint
- Google Play サーバー(Billing Library が処理、Cove 経由しない)
- Data
- Google アカウントメール + 購入トークン(Google が処理、Cove のサーバーは見ない — そもそも存在しない)
- Frequency
- Pro アップグレード試行時、Pro 権利再確認時(Play サービスが約日次でサイレント)
- User control
- Pro 機能の利用に必要。無料枠ではこの通信は発生しません。
-
メール購読(オプトイン)
- Purpose
- Cove メールニュースレターの購読(covebase.app サイトのみ)
- Endpoint
- セルフホスト Listmonk インスタンス(Cove 自社インフラ)
- Data
- メールアドレスのみ
- Frequency
- 購読試行ごとに 1 回
- User control
- ウェブフォームによる完全オプトイン。アプリ自体はメールを収集しません。
-
匿名クラッシュレポート(オプトイン)
- Purpose
- アプリの安定性問題の診断支援
- Endpoint
- セルフホスト Sentry インスタンス(Cove 自社インフラ)
- Data
- スタックトレース、Android バージョン、端末モデル、アプリバージョン。ユーザーコンテンツは含まれません。送信前に PII を除去。
- Frequency
- クラッシュ発生時(まれであることを願います)
- User control
- デフォルト OFF。設定 → プライバシー → クラッシュレポートで有効化。
モデル完全性の検証
Gemma 4 E2B モデルをロードする前に、Cove はそのモデルバージョン用にアプリに埋め込まれた期待 SHA-256 ハッシュと照合します。不一致ならモデルを拒否し、ユーザーに再ダウンロードを促します。これは:(a) ダウンロードの破損、(b) ファイルシステムアクセス権を持つ悪意ある第三者によるモデルファイルの改ざん、を防止します。検証されていない重みはロードしません — これは固い制約です。
モデルハッシュレジストリ
| Model variant | Approx. size | Hash algorithm | Hash source |
|---|---|---|---|
| Gemma 4 E2B (Q4_0, default) | ~2.5 GB | SHA-256 | embedded + signed |
| Gemma 4 E4B (Q4_0, optional upgrade) | ~3.6 GB | SHA-256 | embedded + signed |
| Gemma 4 E2B (Q4_0, prior release — kept for rollback) | ~2.5 GB | SHA-256 | embedded + signed |
データ保持 — 何がどこに保存されるか
ユーザーコンテンツはすべて端末に留まります。以下が一覧です。
-
翻訳履歴
- Where
- ローカル SQLite データベース(Room)/data/data/com.gemmaapp.travellens/databases/
- Retention
- ユーザーが履歴画面で削除するか、アプリがアンインストールされるまで
- Encryption
- Android のデフォルトファイルシステム暗号化(Android 6+ はフルデバイス暗号化)
-
音声録音 + 文字起こし
- Where
- 音声ファイルはアプリ専有ストレージ、文字起こしは Room DB
- Retention
- ユーザーがライブラリから削除するか、アプリがアンインストールされるまで
- Encryption
- Android のデフォルト暗号化
-
写真解析 + 履歴
- Where
- ローカル SQLite /data/data/com.gemmaapp.photolens/databases/
- Retention
- ユーザー削除またはアンインストールまで。元写真は明示保存時のみ保持。
- Encryption
- Android のデフォルト暗号化
-
健康ジャーナル項目
- Where
- ローカル SQLite /data/data/com.gemmaapp.healthlens/databases/、Android Keystore 由来の鍵で AES-256 静的暗号化
- Retention
- ユーザー削除またはアンインストールまで。SOS 関連項目はどこにも同期されません。
- Encryption
- AES-256-GCM、鍵は Android Keystore に封印(端末デフォルトを超えた追加層 — 健康データには余分な層が妥当)
コンプライアンス姿勢
私たちは小さな独立スタジオで、Cove はコンシューマー向けソフトウェアです。持っていない認証は主張しません。よく問われるフレームワークに対する誠実な立場は以下のとおり。
-
HIPAA(米国医療)
Business Associate ではありません。Cove Health は HIPAA 対象システムではありません。ただし端末内設計のため、Cove に口述された患者データは端末を出ません — 個別組織のポリシーが許可するかは、あなたとコンプライアンスチームの間の話です。
-
GDPR(EU プライバシー)
設計上 data-minimal。コンテンツデータは収集しません。処理する個人データは:任意のメール(ニュースレター)、任意のクラッシュレポート(PII 除去済み)、Google Play 購入記録(Google が独立処理者として処理)。削除権:アプリのアンインストール + ニュースレター解除(ワンクリック)。
-
ISO 27001
未認証。小さな独立スタジオは ISO 認証の予算を持たないことがほとんど — $3.99 のコンシューマーアプリには合いません。本書で説明する技術的統制は ISO 27001 が扱う脅威の大半をカバーします。
-
SOC 2
未認証。理由は ISO 27001 と同じ。ユーザーコンテンツのクラウドサービスを運営しないため、SOC 2 の対象範囲の大半が無くなります。
脆弱性開示
セキュリティ問題を発見した場合、[email protected]([email protected] のエイリアス、ただしこのアドレス宛はセキュリティ報告として処理)へメールください。約束:3 営業日以内に受領確認、14 日以内に調査、changelog でクレジット(公表希望時)。bug bounty プログラムはまだ未開始 — アーリーステージのため — ですが、有効な報告には Cove Pro キーをお礼として送ります。
コンプライアンス / 法務チームへのお問い合わせ
組織として Cove を従業員利用に評価しており、より詳細な評価(質問票への署名、セキュリティポリシーレビュー)が必要な場合、具体要件を [email protected] へお送りください。