外观
首版范围与路线图
版本原则
首版只完成“同一实例、单设备、一对一文本加密通信”的可信闭环。MVP、P1、P2 是范围层级,不代表日期承诺;任何涉及协议、密钥、部署或隐私的新能力都应在进入开发前完成独立评估。[已验证事实]
标记说明:[MUST] 为首个可发布版本验收项;[建议] 为说明书建议或本设计建议;[待总控决策] 为跨线路未决项。本文没有验证任何功能已经实现。
可视化审阅


两张图只概括阶段与范围,不表示 M0 已冻结或某项功能已实现;分项依据以下正文及图示说明。
已确认技术路线
以下路线由本次总控输入明确,不再作为本产品文档中的技术选型待决项:[已验证事实]
- iOS 客户端使用 Swift 与 SwiftUI。
- 服务端使用 Go,并以 Docker 作为交付与运行基础。
- PostgreSQL 作为持久化数据库。
- Redis 与队列机制用于相应的短期状态、任务和消息调度职责;不得把 Redis 当作消息的唯一持久化副本。[MUST]
- 使用 S3 兼容对象存储接口,为需要存放密文对象的能力提供可替换基础设施。
技术路线与产品范围是两个维度:Redis、队列和 S3 兼容对象存储进入基础设施设计,不代表 MVP 支持图片、文件、语音或视频消息。MVP 的用户消息类型仍限定为一对一文本、回复和反应。[MUST]
MVP v1.0
闭环能力
| 领域 | MVP 范围 | 用户可见完成条件 |
|---|---|---|
| 身份 | 匿名单设备身份、VMax ID、二维码、个人资料、身份公钥查看 | 未授权手机号、邮箱和通讯录也能创建;首页显示完整地址和当前实例 [MUST] |
| 实例 | 官方实例、普通私有实例、自定义 HTTPS 地址、部署二维码、实例指纹固定、网络诊断 | 创建身份前完成选择与校验;切换实例不复用旧身份 [MUST] |
| 联系人 | 完整地址搜索、联系人请求、接受、拒绝、阻止、二维码与安全码核验 | 字段或实例不匹配时中止;密钥变化后验证状态降级并警告 [MUST] |
| 消息 | 一对一文本、回复、六种反应、复制、转发、删除本地、详情 | 弱网可排队重试且不重复;状态语义一致 [MUST] |
| 回执 | 送达回执;可关闭的已读回执和正在输入状态 | 用户能在全局或联系人级控制已读回执 [MUST] |
| 离线 | 本地 Outbox、服务端密文短期队列、拉取、解密、ACK | 飞行模式恢复后按顺序重试,不产生重复消息 [MUST] |
| 备份 | 加密备份、恢复、消息历史单独选择且默认不包含 | 导出包无私钥、昵称或消息明文;密码错误或篡改时安全失败 [MUST] |
| 本地入口 | 主密码进入真实空间,假密码进入独立空白空间 | 同一输入控件完成路由,不泄露假密码存在 [MUST] |
| 可选格式化 | 预先启用、默认关闭;精确命中假密码后进行本地密码学擦除与沙箱清理 | 普通输错、Face ID 失败、取消、退后台或系统终止均不触发 [MUST] |
| iOS 体验 | iOS 26+ 原生组件、深浅模式、动态字体、VoiceOver、高对比度、减少动态效果 | 最大辅助字号下核心操作可达;阻断级无障碍问题为 0 [MUST] |
明确不进入 MVP
群聊、语音或视频通话、图片和文件消息、多设备同时在线、跨实例联邦、公开用户目录、服务端历史恢复、端到端云同步、机器人与开放 API 均不进入 MVP。[MUST]
Web 管理后台不属于任何当前规划阶段,项目明确不建设;这与 P1 的管理 CLI、备份和恢复工具不是同一能力。[已验证事实]
P1 v1.x
以下是说明书中的候选规划,不属于 MVP,也不是已承诺的发布时间或自动获批范围:[已验证事实]
- 图片消息:仅为 P1 候选,原图与缩略图分别加密,单文件上限建议 25 MB。
- 文件消息:仅为 P1 候选,分片加密与断点续传,单文件上限建议 100 MB。
- 设备迁移体验和密钥透明日志。
- 阅后即焚、消息编辑和元数据填充。
- Kubernetes Helm、管理 CLI、部署备份恢复能力。
- iPad 优化;macOS Catalyst 仅评估,不等同于承诺交付。
进入 P1 前应重新验证附件密钥生命周期、失败重试、空间配额、内容预览泄露、分享扩展隔离和许可证影响。[建议]
P2 v2.0 与独立立项
- 多设备身份与设备管理。
- 群聊及相应的群组密钥协议。
- 跨实例消息与联邦。
- 原生 macOS / Android。
- 语音消息仍为待定;语音视频通话属于独立项目,不应从“消息类型”自然滑入当前范围。
- 匿名路由、代理、企业策略和审计集成均需单独立项。
这些能力会改变信任边界、密钥管理、迁移与运维模型,不能只作为 UI 增量处理。[MUST]
首版发布门槛
产品设计完成不等于可以发布。生产对外发布至少还依赖:[MUST]
- 独立密码学审计完成,严重和高风险问题关闭或有书面接受。
- 协议版本、密码套件和跨语言测试向量冻结,升级与降级攻击测试通过。
- 隐私清单、App Privacy、加密出口合规和隐私政策完成法律审查。
- 生产构建关闭调试日志、测试后门、开发证书与 ATS 例外。
- 备份恢复、密钥轮换和事故响应演练完成。
- TestFlight 至少 2 周,达到崩溃目标,且无数据丢失 P0/P1。
- 双密码、伪装和格式化经过独立安全评审与误触测试;默认配置不启用格式化。
路线图验收方式
每一阶段均以可观察的状态和数据变化验收,而不是只检查页面或接口成功:
- 正常路径:创建、验证、发送、离线恢复、备份恢复和双密码路由均完成端到端任务。
- 边界路径:最长文本、最大辅助字号、空列表、无权限、首次实例、密钥变化和存储不足。
- 失败路径:断网、超时、证书错误、备份篡改、密码错误、应用被系统终止和迁移失败。
- 隔离检查:跨实例 Profile、真实与伪装空间、通知、搜索、分享页和诊断导出均无交叉暴露。
待总控决策
D-ROAD-01 P1 的首个价值切片
- 选项 A:先做图片与文件。 用户价值直观,但扩大对象存储、预览、配额和泄露面。
- 选项 B:先做设备迁移与透明日志。 强化可信度和换机体验,但普通用户感知较弱。
- 推荐:先完成设备迁移与透明日志,再进入附件。 这更接近身份与信任闭环,且避免在基础恢复尚未稳定时扩大数据面。
- 验证办法: 以恢复成功率、密钥变化误判率、附件失败重试和存储成本做阶段评审,不用页面完成度代替风险验证。