Skip to content

Latest commit

 

History

History
232 lines (175 loc) · 11.5 KB

File metadata and controls

232 lines (175 loc) · 11.5 KB
layout default
title SafeScribe — セキュリティアーキテクチャ
description SafeScribe がお客様の音声データを保護する仕組み — プライバシー・バイ・デザインの技術的概要。
lang ja

セキュリティアーキテクチャ

要約:SafeScribe はお客様の音声データをサーバーの RAM(ランダムアクセスメモリ)のみで処理します。文字起こしが届いた瞬間、すべてのデータは完全に削除されます。ディスクへの書き込みなし、バックアップなし、コピーなし — 一切ありません。このページでは各保護レイヤーの仕組みを説明します。

最終更新:2026 年 3 月


概要

6 つの保護レイヤー

🔐

レイヤー 1 — 通信

すべての接続で TLS 1.2+ 暗号化と証明書ピン留めを使用。プロキシによる傍受は不可能です。

🧠

レイヤー 2 — RAM 専用

音声データはディスクに触れることがありません。揮発性メモリ内で処理し、文字起こし完了後に即座に削除します。

👤

レイヤー 3 — 仮名 ID

メールアドレスや氏名は一切保存されません。アカウント ID の一方向ハッシュのみが保持されます。

🔒

レイヤー 4 — ローカル暗号化

デバイス上の AES-256 暗号化ストレージ。鍵はハードウェアセキュアストレージ(iOS Keychain / Android Keystore)のみに保存。

🐛

レイヤー 5 — 個人情報の除去

クラッシュレポートはデバイスを離れる前に個人情報が自動的に削除されます。

🗑

レイヤー 6 — カスケード削除

各処理ステップが前のステップのデータを即座に削除します。TTL によるフェイルセーフも備えています。


設計原則

処理、配信、削除

一般的な文字起こしサービスは音声をディスクに書き込み、無期限に保持する場合があります。SafeScribe は音声を RAM で受け取り、処理し、文字起こしが届いた時点で削除します — 永続ストレージへの書き込みは一切ありません。完全なフローは下のデータフロー図をご覧ください。

重要な違い:サーバーが物理的に押収されたとしても、音声や文字起こしのデータは存在しません — それらは揮発性メモリにのみ存在していたからです。


レイヤー 1

通信セキュリティ

保護手段 防ぐもの
TLS 1.2+ 暗号化 ネットワークトラフィックの盗聴
証明書ピン留め 中間者攻撃、偽サーバー
SHA-256 整合性チェックサム 転送中の文字起こしへの改ざん

アプリには SafeScribe サーバー証明書の暗号指紋が組み込まれています。認証局が侵害されても、アプリは本物の SafeScribe サーバー以外への接続をすべて拒否します。

検証可能:Wireshark を使用して SafeScribe のすべての通信が TLS 暗号化されていることを確認できます。プロキシによる傍受の試みは失敗します — 証明書ピン留めがプロキシの証明書を拒否するためです。

レイヤー 2

サーバーの RAM 専用処理

これが SafeScribe のプライバシー設計の核心です。サーバーは自己ホスト型推論エンジン faster-whisper を通じて OpenAI の Whisper モデルウェイトを実行します — サードパーティ API への呼び出しは一切ありません。データストレージはディスク永続化なしの完全揮発性動作に設定されています。

  • サーバーの再起動はメモリ内のすべてのデータを完全に削除します — 設計上の意図です
  • どのファイル、バックアップ、ログにも音声データは含まれません
  • サーバーのフォレンジック解析を行っても音声コンテンツは発見されません

サーバーの一時保存(RAM のみ):

データ 削除タイミング
音声バイト 文字起こし完了後
文字起こしテキスト 受信確認後
ジョブメタデータ 受信確認後

サーバーの恒久保存(ディスク):

データ 目的 個人情報を含む?
仮名ユーザー ID 請求記録 いいえ — 一方向ハッシュ、逆引き不可
処理時間と費用 財務記録 いいえ
ファイルサイズ(バイト) サービス分析 いいえ
文字数 サービス分析 いいえ
タイムスタンプ 監査証跡 いいえ
設計上の特性:「再ダウンロード」機能はありません。受信確認後、データは消去されます — 取り戻せるものは何もありません。

レイヤー 3

仮名 ID

SafeScribe は Google ログインと Sign in with Apple を使用します。お客様の個人情報は一切保存されません:

認証プロバイダーから受け取るもの 保存するもの
メールアドレス 保存しない
表示名 保存しない
アカウント ID 一方向暗号ハッシュのみ

アカウント ID の一方向ハッシュは:

  • 逆引きしてお客様の身元を特定することはできません
  • お客様固有のもの — 請求目的にのみ使用
  • 個人情報を一切含みません
検証可能:アプリのネットワークトラフィックを検査してください。認証後、どのリクエストにもメールアドレスや氏名は含まれません — サーバーが内部で検証する Bearer トークンのみです。

レイヤー 4

ローカル暗号化

デバイスに保存された文字起こしは以下で保護されます:

保護 技術
暗号化 AES-256
鍵の保存 iOS Keychain / Android Keystore
データベース 暗号化コンテナ

ファイルシステムへの直接アクセスがあっても、文字起こしデータは読み取れないバイナリとして表示されます。鍵はアプリファイル外のハードウェアセキュアストレージに保存されています。アプリの削除により鍵は永久に破壊されます。


レイヤー 5

診断データからの個人情報除去

アプリがエラーに遭遇した場合、オプションでクラッシュレポートを送信できます。デバイスを離れる前に、以下が自動的に除去されます:

送信前に除去:メールアドレス · 電話番号 · IP アドレス · ファイルパス · 認証トークン · ジョブ ID
レポートに含まれるもの:エラータイプとスタックトレース · デバイスモデル · OS バージョン · アプリバージョン

アプリのプライバシー設定からクラッシュレポートを完全に無効にできます。


レイヤー 6

カスケード削除

各処理ステップが前のステップのデータを即座に削除します:音声は文字起こし後に削除され、文字起こしは確認後に削除されます。データフロー図にすべての削除ポイントを含む完全なフローが示されています。

これはバックグラウンドのクリーンアップジョブではありません。削除は処理パイプラインの一部として即座に行われます。

フェイルセーフ:通常の削除プロセスが失敗した場合(ネットワークエラー、アプリクラッシュ)でも、サーバー RAM 内の各データには自動有効期限があります。データは自動的に消去されます — 何があっても。

完全なフロー

データの旅

{: #your-datas-journey}

お使いの端末 SafeScribe サーバー お使いの端末 ---------- ----------------- ----------

音声録音/選択 | デバイスで前処理 | 暗号化+送信 -----TLS-------> RAM で受信 | AI 文字起こし (RAM 専用) | 音声データ削除済み | 文字起こし受信 <--TLS------ 文字起こし送信 | | 整合性確認 確認待ち | | 暗号化して 確認 ----------> 文字起こし削除済み ローカル保存 ジョブメタデータ削除済み (AES-256) | | データゼロ 完了


透明性

独立した検証

セキュリティ研究者やプライバシー擁護者による当社の主張の検証を歓迎します:

  • ネットワーク解析 Wireshark または Charles Proxy を使用して SafeScribe のすべての通信が TLS 暗号化されていることを確認できます。傍受の試みは証明書ピン留めによってブロックされます。
  • 公開された評価書 当社のデータ保護影響評価には完全なリスク分析と決定記録が含まれています。
  • 責任ある開示 脆弱性を発見しましたか?security@safescribe.dev までご連絡ください。