安全架构
概述
六层保护
第一层 — 传输安全
每次连接使用 TLS 1.2+ 加密,流量全程端对端加密,无例外。
第二层 — 仅使用 RAM
音频从不触碰磁盘。在易失性内存中处理,转录完成后立即删除。
第三层 — 假名身份
您的邮箱和姓名从不存储。仅保留账户 ID 的单向哈希值。
第四层 — 本地加密
设备端 AES-256 加密存储。密钥仅存于硬件安全存储(iOS Keychain / Android Keystore)。
第五层 — 个人信息清除
崩溃报告在离开设备前会自动清除所有个人信息。
第六层 — 级联删除
每个处理步骤立即删除前一步骤的数据,TTL 作为安全保障。
设计原则
处理、交付、删除
传统转录服务将音频写入磁盘,可能无限期保留。SafeScribe 在 RAM 中接收音频,完成处理,并在您收到转录文本时立即删除——不向持久存储写入任何字节。完整流程请参见下方数据流图。
关键区别:即使服务器被物理没收,也不会找到任何音频或转录数据——它们仅存在于易失性内存中。
第一层
传输安全
| 保护措施 | 防范内容 |
|---|---|
| TLS 1.2+ 加密 | 网络流量窃听 |
| SHA-256 完整性校验 | 传输过程中的转录篡改 |
第二层
服务器仅 RAM 处理
这是 SafeScribe 隐私设计的核心。服务器通过自托管推理引擎 faster-whisper 运行 OpenAI Whisper 模型权重——不调用任何第三方 API。数据存储配置为完全易失性操作,不向磁盘持久化任何数据。
- ✓ 服务器重启会永久清除所有内存数据——这是设计使然
- ✓ 没有任何文件、备份或日志包含您的音频数据
- ✓ 对服务器进行取证分析不会发现任何音频内容
服务器临时存储(仅 RAM):
| 数据 | 删除时机 |
|---|---|
| 音频字节 | 转录完成后 |
| 转录文本 | 接收确认后 |
| 任务元数据 | 接收确认后 |
服务器永久存储(磁盘):
| 数据 | 用途 | 含个人信息? |
|---|---|---|
| 假名用户 ID | 账单记录 | 否——单向哈希,不可逆 |
| 时长和费用 | 财务记录 | 否 |
| 文件大小(字节) | 服务分析 | 否 |
| 字数统计 | 服务分析 | 否 |
| 时间戳 | 审计追踪 | 否 |
第三层
假名身份
SafeScribe 使用 Google 登录和 Sign in with Apple。您的个人数据从不存储:
| 身份验证提供商传递的内容 | 我们存储的内容 |
|---|---|
| 电子邮件地址 | 不存储 |
| 显示名称 | 不存储 |
| 账户 ID | 仅单向加密哈希 |
您账户 ID 的单向哈希:
- ✓ 无法逆向还原以揭露您的身份
- ✓ 对您唯一——仅用于计费
- ✓ 不包含任何个人信息
第四层
本地加密
存储在设备上的转录文本受以下保护:
| 保护 | 技术 |
|---|---|
| 加密 | AES-256 |
| 密钥存储 | iOS Keychain / Android Keystore |
| 数据库 | 加密容器 |
即使直接访问文件系统,转录数据也会显示为不可读的二进制内容。密钥存于硬件安全存储,不在应用文件中。卸载应用会永久销毁密钥。
第五层
诊断数据中的个人信息清除
应用遇到错误时,可选择性发送崩溃报告。报告离开设备前,以下内容会自动清除:
您可以在应用隐私设置中完全关闭崩溃报告。
第六层
级联删除
每个处理步骤立即删除上一步骤的数据:音频在转录后删除,转录文本在确认后删除。数据流图展示了包含所有删除节点的完整流程。
这不是后台清理任务。删除操作作为处理流水线的一部分即时发生。
完整流程
您的数据之旅
透明度
独立验证
我们欢迎安全研究人员和隐私倡导者验证我们的声明:
- 网络分析 使用 Wireshark 或 Charles Proxy 可确认所有 SafeScribe 流量均经过 TLS 加密。
- 已发布评估 我们的数据保护影响评估包含完整的风险分析和决策记录。
- 负责任披露 发现漏洞?请联系 security@safescribe.dev。