Skip to content

XHIM 商用发布清单

本清单用于 XHIM 自己发布 Production-certified Stable,或购买方准备自己的 生产上线。Commercial Beta/源码授权交付不要求先完成某个购买方的真实生产 环境,但必须明确版本、已知限制和支持范围。

标记“购买方生产”的项目由购买方在自己的基础设施中完成,不是 XHIM 销售前置 条件;标记“XHIM 发行”的项目属于 XHIM 交付质量。未执行项不能用“代码已写” 替代。本清单默认验收纯 IM 产品;“可选通话包”只在购买或发行实时音视频扩展 时启用。

源码与兼容性

  • [ ] 工作区干净;当前 HEAD release commit 已签名,且精确存在 v<稳定版本> annotated/signed Tag;Tag 必须直接解析到同一 HEADgit verify-taggit verify-commit 均在受保护发行机成功;
  • [ ] Production 版本为不含预发布段的稳定 SemVer;当前源码默认 0.1.0-beta.1 只能用于开发/预览,不能冒充 Production;
  • [ ] C ABI export 与 baseline 一致,协议 breaking check 通过;
  • [ ] Android/Windows/Harmony 受保护 native root、三端 release 目录和统一 制品根的 include/xhim/xhim_v1.h 均与 release Commit 中的 Git blob 字节一致;签名 native attestation 已记录其路径、大小和 SHA-256;
  • [ ] SQLite 全部冻结迁移 fixture 升级通过;
  • [ ] Debug/Release、shared/static、ASan/TSan 和安装消费测试通过;
  • [ ] Go race/vet、服务端 E2E、数据库迁移和回滚演练通过。
  • [ ] 双设备已读验证覆盖单调/no-op、非法超前拒绝、离线设备补 Sync、换号隔离 和未读重算,五端大序号不得静默丢失精度。
  • [ ] validate_platform_support.py --require-openim-parity 通过;iOS 与 macOS 是两个独立客户入口,OpenIM 已公开的全部平台达到 Stable,路线图不得计入 已支持能力。

平台制品

  • [ ] iOS Device/Simulator XCFramework、XHIMSwift/SwiftPM/CocoaPods 空白 iPhone/iPad App、私有 Specs、资源 Bundle、签名和 dSYM;
  • [ ] macOS arm64/x86_64 XHIMSwift、SwiftPM/CocoaPods/AppKit/SwiftUI 空白 App、 App Sandbox、签名、公证和 dSYM;
  • [ ] Android arm64/x86_64(及声明 ABI)AAR、Maven、minify 和真机;
  • [ ] Windows win-x64/win-arm64 DLL、NuGet、WPF/Console 空白项目,以及与 Release Commit 绑定、仅上传受控内部符号服务的 PDB/Source Link;
  • [ ] Windows DLL/NuGet 使用完整证书指纹固定签名者;Authenticode 与 NuGet 证书链、RFC 3161 时间戳均通过,签名子进程 argv 不包含 PFX 或 NuGet 证书 明文密码;
  • [ ] Harmony arm64 HAR/OHPM、DevEco 空白应用和真机;
  • [ ] Flutter pub 包及 iOS、macOS、Android 三端空白 App;
  • [ ] Electron npm 包及 macOS arm64/x64、Windows、Linux 的 Electron ABI prebuild、签名/公证和空白 App;
  • [ ] Web npm ESM 包、原生网页示例、主流浏览器/弱网/CORS/WSS/升级矩阵;
  • [ ] React Native、Unity、uni-app 和 Mini Program 的独立包、示例、 目标运行时矩阵与升级证据;
  • [ ] 每端 Headless 可独立使用,UI Kit 可移除;
  • [ ] 包内版本、Commit、ABI/Wire/Schema、最低系统和支持架构准确。
  • [ ] AAR/NuGet/HAR 归档安全门禁通过:无路径穿越、重复/加密条目、符号链接、 压缩炸弹、凭证文件或 C/C++ 内核源码泄漏。
  • [ ] Android/Harmony Core 的 DT_SONAME 与 JNI/Node-API Bridge 的 DT_NEEDED 均精确为包内文件名 libxhim_core_v1.so,不得携带版本后缀或路径。

安全、法务与隐私

  • [ ] 商业合同和 LICENSE 经律师确认,版权主体名称准确;
  • [ ] NOTICE、第三方完整许可证、出口/专利要求已审计;
  • [ ] 无生产 Secret,严格 TLS,Local Preview 关闭;
  • [ ] SQLCipher 正式 Target、五端安全密钥 Adapter、错误密钥/rekey/备份恢复真机 矩阵通过,禁止明文降级;
  • [ ] SAST、依赖、容器、Secret、恶意包扫描无未接受 Critical;
  • [ ] SPDX SBOM、SHA-256、制品签名与 provenance 已生成并验签;
  • [ ] OpenPGP 签名使用固定完整主密钥指纹,并以 VALIDSIG 精确复核;
  • [ ] 商业门禁从单一私有只读制品快照生成签名验证、Manifest、SBOM 和 SHA256SUMS,并在 Evidence Manifest 签名前第二次逐项复核 Hash 与签名;
  • [ ] Privacy Manifest/商店申报/DPA/子处理方清单与真实功能一致;
  • [ ] security@xihansoftware.com 邮箱、轮值和响应演练通过。

购买方生产服务端与运维(不阻塞 SDK/源码销售)

  • [ ] PostgreSQL TLS、连接池、PITR、同 inode/FD 快照恢复演练和迁移锁验证;
  • [ ] 对象私有策略、KMS、版本/生命周期、跨区策略验证;
  • [ ] Push Provider 生产凭证与回调限流验证;
  • [ ] (可选通话包)RTC Provider 生产凭证、回调限流和降级验证;
  • [ ] 仪表盘、告警、Runbook、错误预算和 on-call 已启用;
  • [ ] 容量报告覆盖目标峰值至少 2 倍并包含 24 小时稳定性;
  • [ ] 真机附件和容量监控导出均为本地普通文件并绑定 SHA-256,设备矩阵与容量 计划副本已进入最终 Evidence Manifest;
  • [ ] 灰度、回滚、客户端最低兼容版本和强制升级策略明确。

客户交付

  • [ ] 每端 QuickStart、API 文档、错误码、迁移指南、Changelog;
  • [ ] 样例使用最终仓库包,不引用内部源码路径;
  • [ ] License Key/租户开通、支持 SLA、升级与 EOL 流程;
  • [ ] 验收环境完成登录、消息、跨设备已读、社交、附件媒体、Push 和换号;
  • [ ] (可选通话包)验收环境完成通话、后台/锁屏和跨端互通;
  • [ ] 发布负责人签字并归档所有证据。

自动化入口、证据 Schema 和“缺少外部条件必须失败”的规则见 docs/COMMERCIAL_RELEASE_EVIDENCE.md。本清单勾选必须引用对应证据文件,不得 只写口头结论。

XHIM 客户端 SDK 与服务端文档