セキュリティアーキテクチャ · ホワイトペーパー

映話のセキュリティモデル。

100% ローカル · BYOK · アップロードなし · サードパーティ監査で検証可能。

核となる約束:映話はあなたの録音、文字起こし内容、AI 要約、API Key を一切収集しません。 本ページでは、データが Mac 上でどう流れるか、なぜ漏洩しないのか、そして独立監査機関がそれをどう検証できるかを説明します。

1. データフロー図

以下はマイク入力から AI 要約までの完全なデータフローです。全ノードが本機上で動作し、最終ステップのみで Mac から外部へ出ます。

┌────────────────────┐
│ マイク / システム音声 │
│ (Mic / App Audio)  │
└─────────┬──────────┘
          │ 48 kHz / 16-bit PCM
          ▼
┌────────────────────┐
│ AVAudioEngine      │  ← 依存ゼロ、macOS 標準
│ ScreenCaptureKit   │
└─────────┬──────────┘
          │ AudioBuffer
          ▼
┌────────────────────┐
│ ローカルリングバッファ │  ← メモリ上のみ、プロセス終了で消滅
│ RingBuffer (32 MB) │
└─────────┬──────────┘
          │ ストリーミングスライス
          ▼
┌──────────────────────────────┐
│ macOS 26 SpeechAnalyzer       │  ← オフラインモデル、ネットワーク不要
│ リアルタイム文字起こし・声紋分離 │
└─────────┬────────────────────┘
          │ Text + Speaker Tags
          ▼
┌────────────────────┐
│ ~/Library/         │  ← あなたの Mac
│ Application Support│
│ /Yinghua/          │
└─────────┬──────────┘
          │ テキスト断片
          ▼
┌──────────────────────────────┐
│ BYOK 呼び出し                │  ← AI 要約時のみ起動
│ Anthropic / OpenAI / Ollama  │
│ transcript テキストのみ送信   │
│ 音声・Key・メタデータは送らない │
└──────────────────────────────┘

2. ローカルストレージ

すべてのユーザーデータは macOS 標準ディレクトリに保存され、システムレベルのサンドボックスで保護されています:

  • 録音オリジナル音声:~/Library/Application Support/Yinghua/recordings/(デフォルト 30 日で自動削除、設定 → ストレージ で調整可能)
  • 文字起こしテキストとインデックス:~/Library/Application Support/Yinghua/db.sqlite
  • AI 要約:同一 SQLite データベースに構造化 JSON として保存
  • API Key:macOS Keychain(システムレベル暗号化、アプリのサンドボックス外プロセスはアクセス不可)
  • 設定と環境設定:~/Library/Preferences/app.yinghua.mac.plist

映話をアンインストールすると、上記すべてのディレクトリと Keychain エントリが自動的に削除されます。残ったファイルは 設定 → ストレージ → 完全クリーンアップ で一括削除できます。

3. HTTPS 強制

すべての外向きネットワークリクエストは HTTPS を使用します。映話の URLSession は初期化時に httpAllowed=NO を設定し、http:// へのリクエストはソケット層で直接拒否され、接続は確立されません。

許可された送信先ドメイン(ホワイトリスト):

  • api.anthropic.com · BYOK AI 要約(ユーザー能動起動)
  • api.openai.com · BYOK AI 要約(ユーザー能動起動)
  • updates.yinghua.zzw4257.cn · アプリ更新確認(24 時間ごと 1 回、無効化可能)
  • *.icloud.com · iCloud エンドツーエンド暗号化同期(ユーザー能動有効化)

すべての BYOK リクエストは TLS 1.3 を使用し、証明書ピンニング(Certificate Pinning)で中間者攻撃を防止します。

4. サンドボックス + Hardened Runtime

映話.app は macOS の 3 つのランタイム保護をすべて有効化しています:

  • App Sandbox:アプリは許可されたディレクトリ(Application Support、Documents 内でユーザーが許可した部分)のみにアクセス可能。システムレベルディレクトリ(/System、/Library/Apple、/usr 等)はすべてアクセス拒否。
  • Hardened Runtime:com.apple.security.get-task-allow、com.apple.security.cs.allow-unsigned-executable-memory、com.apple.security.cs.disable-library-validation など、すべてのデバッグ免除ビットを無効化。
  • 公証(Notarization):各リリース版は Apple 公証サービスによる公証を受け、サードパーティによる改竄がないことを保証。

実行ファイル、動的ライブラリ、Bundle リソースは codesign --verify --deep --strict --verbose=2 で署名チェーンの完全性を検証できます。

5. サードパーティ監査

映話の核となるセキュリティ宣言は、独立したサードパーティによる周期的な監査を受けています:

監査バッチ 範囲 結果 日付
C06 ローカル文字起こし + 暗号化モジュール PASS 2026-05-12
C07 BYOK 呼び出しチェーン + Keychain PASS 2026-06-03
C08 macOS 権限境界 + HTTPS 強制 PASS 2026-07-15
C09 ビジネスコンプライアンス + GDPR / CCPA / 中国個人情報保護法 PARTIAL 2026-08-08

12/25/5 バッチの詳細監査項目は合計 14 項目、すべて PASS。C09 ビジネスコンプライアンスバッチが PARTIAL となっているのは、SOC 2 Type II レポートをまだ取得していないためで、2026 Q4 に取得予定(ロードマップ 参照)。

監査レポートのサマリーは github.com/yinghua-app/audits で公開しています。完全版レポートは [email protected] までご連絡ください。NDA 締結が必要です。

6. 脆弱性の開示

映話にセキュリティ上の脆弱性を発見された場合は、[email protected] までご報告ください。私たちは以下をお約束します:

  • 24 時間以内に受領確認
  • 72 時間以内に深刻度評価と暫定修正スケジュールの提示
  • 修正リリース前に謝辞を掲載(匿名希望を除く)
  • 実在する脆弱性報告に現金報酬:P0 $1,500 / P1 $600 / P2 $200