# Mobile App Production Readiness Framework：移动端全平台生产可上线规范与宠物商城行业案例

> 版本：v1.0
> 生成日期：2026-05-17
> 文档定位：产品 PRD 补充规范、移动端开发验收规范、QA 测试计划、安全测试 checklist、隐私合规检查清单、App Store / Google Play / 小程序审核准备清单、发布准入 Release Gate、宠物商城行业专项规范。
> 使用方式：先按第一卷完成通用生产可上线检查，再按第二卷完成宠物商城行业专项检查，最后用第三卷映射表判断 MVP、全量上线与高风险专项边界。

---

## 总目录

- 第一卷：通用移动端 App 全平台生产可上线框架
  - 0. 文档说明
  - 1. 移动端 App 质量模型
  - 2. 平台范围
  - 3. iOS 专项规范
  - 4. Android 专项规范
  - 5. H5 / WebView / Hybrid / 微信小程序专项
  - 6. UI、安全区域与交互规范
  - 7. App 生命周期状态机
  - 8. 安装、升级、迁移与版本兼容
  - 9. 权限、隐私与用户数据权利
  - 10. 第三方 SDK 与供应链治理
  - 11. 构建产物审计
  - 12. 安全规范
  - 13. 支付、订阅、订单与对账
  - 14. 数据同步、离线、弱网与一致性
  - 15. 后台任务与系统调度
  - 16. 发布治理、灰度、回滚与动态配置
  - 17. 可观测性、日志、告警与 Runbook
  - 18. 商店审核、元数据与分发渠道
  - 19. 平台账号、主体、财务、税务与收款
  - 20. 客服、投诉、申诉与运营后台
  - 21. AI 功能专项
  - 22. 长期维护日历
  - 23. 通用 Release Gate
- 第二卷：宠物商城 App 行业专项案例
  - 24. 宠物商城业务范围与 MVP 边界
  - 25. 宠物商城平台范围
  - 26. 宠物商城商品类目风险分级
  - 27. 禁售 / 限售商品库
  - 28. 宠物商城商品字段模型
  - 29. 商品审核流程与高风险词库
  - 30. 商家入驻与资质审核
  - 31. 宠物档案与推荐系统
  - 32. 库存、批次、保质期与仓储
  - 33. 订单、支付与履约
  - 34. 物流、冷链、大件、多仓
  - 35. 售后、纠纷与证据链
  - 36. 商品召回系统
  - 37. 评价、内容社区、直播与种草风险
  - 38. 宠物服务预约
  - 39. 宠物医疗 / AI 问诊边界
  - 40. 宠物商城自动化测试策略
  - 41. 宠物商城 P0 测试用例
  - 42. 宠物商城 Release Gate
- 第三卷：通用框架与宠物商城案例映射关系
- 补充风险
- 待确认问题
- 建议下一步拆分的专项文档
- 附录：官方资料索引与证据留存模板

---

# 第一卷：通用移动端 App 全平台生产可上线框架

## 0. 文档说明

### 0.1 文档目的

本规范用于判断一个移动端 App 或全平台 App 是否具备生产可上线能力。它不是简单的测试点清单，而是从产品、研发、测试、安全、合规、运维、客服、财务、运营、后台治理等视角，建立上线前必须满足的工程标准。

核心目标：

- 在 PRD 阶段前置平台规则、权限、支付、隐私、商店审核、设备适配、灰度回滚等约束。
- 在研发阶段要求代码、配置、构建产物、SDK、证书、动态配置可审计。
- 在测试阶段要求功能、兼容、异常、弱网、生命周期、安全、隐私、后台任务、版本升级、数据一致性、支付对账等可验证。
- 在发布阶段要求 Release Gate、灰度、回滚、监控、告警、Runbook、责任人和证据留存。
- 在长期维护阶段要求定期检查系统版本、targetSdk、商店政策、SDK 漏洞、证书密钥、隐私声明、投诉和差评。

### 0.2 适用范围

适用于大多数移动端和全平台产品，包括但不限于：内容型、电商型、工具型、社交型、SaaS、金融型、O2O、教育型、AI 功能型、会员订阅型、Hybrid / WebView 型产品。

适用平台：

- iOS App
- Android App
- H5
- PC Web，可选
- WebView / Hybrid
- 微信小程序
- 后台系统
- 服务端 API
- 数据、风控、客服、财务、运营、内容审核系统

### 0.3 不适用范围

本规范不是具体国家或行业的法律意见。涉及金融、医疗、儿童、博彩、药品、活体交易、跨境数据、保险、证券、兽药、处方药等高风险业务时，必须单独进行法律合规评估。本规范中的行业专项建议需要结合目标市场和实际资质做确认。

### 0.4 目标读者

| 角色 | 关注重点 |
|---|---|
| 产品经理 | PRD 是否覆盖平台差异、权限、支付、异常、用户权利、客服闭环 |
| 移动端研发 | iOS / Android / Hybrid 适配、安全存储、权限、生命周期、构建产物 |
| 服务端研发 | 旧 App 兼容、接口幂等、支付回调、对账、数据一致性、灰度配置 |
| QA / 测试 | 测试矩阵、自动化策略、真机验收、Release Gate、证据留存 |
| 安全团队 | OWASP MASVS、Token、WebView、Deep Link、逆向、风控、黑灰产 |
| 隐私合规 | 权限、数据采集、SDK、Data Safety、App Store 隐私标签、数据删除 |
| 运维 / SRE | 监控、告警、Runbook、事故演练、第三方服务故障 |
| 运营 / 客服 | 投诉、退款、申诉、补偿、内容审核、运营后台闭环 |
| 财务 | 收款主体、对账、退款凭证、税费、订阅收入、渠道费 |

### 0.5 术语定义

| 术语 | 定义 |
|---|---|
| Production Readiness | 生产可上线能力，指产品、技术、合规、发布、监控、运营均满足上线条件 |
| Release Gate | 发布准入门槛，存在阻断项时不得上线或不得全量 |
| Blocker | 存在一个就不能上线 |
| Critical | 必须修复后才能全量，可以限制灰度或延迟上线 |
| Major | 影响主要体验或业务，需要排期修复 |
| Minor | 一般问题，可后续优化 |
| Build Manifest | 每次构建产物的可审计清单，包括版本、环境、配置、SDK、开关、证据 |
| SDK Inventory | 第三方 SDK 台账，记录版本、用途、数据采集、隐私声明、风险和负责人 |
| Kill Switch | 线上紧急关闭高风险功能的开关 |
| Remote Config | 远程配置，不应无审计地下发核心业务能力、支付逻辑或绕审核功能 |
| WebView Data Safety 归属 | App 控制的 H5 / WebView 数据采集需要纳入 App 隐私声明和 Data Safety |
| PII | 个人身份信息，例如手机号、邮箱、地址、证件号、支付信息等 |
| MASVS | OWASP Mobile Application Security Verification Standard，移动应用安全验证标准 |

### 0.6 风险等级定义

| 等级 | 定义 | 处理要求 |
|---|---|---|
| Blocker | 会导致无法上线、严重合规违规、核心流程不可用、用户数据泄露、支付错误、不可回滚 | 禁止上线；已上线必须立即回滚、停用或降级 |
| Critical | 会严重影响主要业务、商店审核、支付、隐私、安全、稳定性或全量发布 | 必须修复后才能全量；可在严格灰度下验证 |
| Major | 影响主要体验、兼容性、效率或数据质量，但有临时解决方案 | 明确修复计划和负责人 |
| Minor | 不影响核心流程，主要是体验优化、文案、样式或低风险边界 | 可后续优化，但需记录 |

### 0.7 Release Gate 定义

Release Gate 是上线前的硬性准入标准，包括：

- 产品范围确认：上线功能、风险功能、不上线功能明确。
- 平台矩阵确认：iOS、Android、H5、小程序、后台、服务端覆盖范围明确。
- 核心流程通过：注册、登录、权限、支付、订单、消息、数据同步等核心路径通过。
- 安全隐私通过：无敏感信息泄露，无严重越权，无隐私声明重大不一致。
- 构建产物通过：生产包环境、签名、证书、SDK、mapping / dSYM、debug 开关可审计。
- 发布机制通过：灰度、回滚、Kill Switch、监控、告警、Runbook 可用。
- 证据留存：自动化报告、真机截图、审核材料、支付沙箱、崩溃平台、后台配置、Release Gate 签字。

---

## 1. 移动端 App 质量模型

移动端质量不能只按功能模块拆，而应按“一个 App 会以哪些方式失败”建模。

### 1.1 失败模型总览

| 失败类型 | 风险说明 | 典型事故 | 阻断级别 |
|---|---|---|---|
| 功能失败 | 核心流程无法完成 | 登录失败、下单失败、支付失败、提交失败 | Blocker / Critical |
| UI 适配失败 | 页面被状态栏、刘海、键盘、导航栏遮挡 | 提交按钮不可点、弹窗超屏、小屏截断 | Critical / Major |
| 设备兼容失败 | 不同机型、系统版本、ROM、折叠屏表现不同 | Android 厂商机崩溃、iPhone SE 页面不可用 | Critical / Major |
| 系统权限失败 | 权限申请时机、拒绝、永久拒绝、关闭后无降级 | 拒绝相机后白屏，关闭定位后崩溃 | Critical |
| 支付失败 | 客户端状态、服务端回调、渠道状态不一致 | 扣款成功但订单丢失、重复支付 | Blocker |
| 网络失败 | 弱网、断网、超时、DNS、接口异常无处理 | 重复下单、数据丢失、页面卡死 | Critical |
| 后台任务失败 | 上传下载、同步、定位、推送等后台行为被系统限制 | 后台上传中断、下载重复、任务漏执行 | Critical / Major |
| 升级失败 | 老版本、本地 DB、缓存、配置和新服务端不兼容 | 升级后崩溃、旧 App 调新接口崩 | Blocker / Critical |
| 数据同步失败 | 多端、离线、WebSocket、HTTP、缓存不一致 | 消息重复、订单错乱、账号串数据 | Blocker / Critical |
| 隐私合规失败 | 实际采集和隐私政策、Data Safety、隐私标签不一致 | 审核拒绝、下架、投诉、监管风险 | Blocker |
| 安全攻击 | Token、WebView、Deep Link、日志、接口、逆向被利用 | 越权、泄露、重放、篡改、二次打包 | Blocker / Critical |
| 黑灰产滥用 | 刷注册、刷券、刷单、退款套利、机器人 | 资金损失、欺诈、社区污染 | Critical |
| 商店审核失败 | 审核账号、元数据、隐私、支付、权限、内容不符合规则 | App Store / Google Play / 小程序拒审 | Critical |
| 灰度发布失败 | 无法暂停、回滚、降级或定位灰度范围 | 小问题变全量事故 | Blocker / Critical |
| SDK 供应链失败 | SDK 采集数据、漏洞、签名、隐私清单缺失 | 审核拒绝、数据泄露、启动变慢 | Critical |
| 构建产物失败 | 测试环境、debug、mock、错误签名进入生产包 | 用户连测试库、支付 sandbox、不能升级 | Blocker |
| 证书 / 密钥 / 域名过期 | 证书、APNs、域名、OAuth、支付密钥过期 | 推送失效、支付失败、登录失败 | Critical / Blocker |
| 外部服务故障 | 支付、短信、地图、CDN、AI、推送等第三方不可用 | 页面白屏、无法登录、无法支付 | Critical |
| 投诉和售后失败 | 退款、申诉、账号删除、隐私投诉无闭环 | 用户投诉、监管风险、品牌受损 | Critical / Major |
| 长期维护失败 | 系统升级、targetSdk、商店规则、SDK 漏洞长期不处理 | 新系统崩溃、商店不可更新 | Critical |

### 1.2 标准检查卡片模板

每个风险项建议按以下模板进入 PRD、测试计划和 Release Gate。

```md
风险项：
目标：
风险说明：
影响范围：
检查项：
测试方法：
自动化可行性：可自动化 / 半自动化 / 必须人工 / 必须真机
阻断级别：Blocker / Critical / Major / Minor
通过标准：
证据：截图 / 日志 / 报告 / 后台配置 / 工单 / 签字
负责人：产品 / iOS / Android / 服务端 / QA / 安全 / 合规 / 运营 / 客服 / 财务
```

### 1.3 质量模型验收方法

| 方法 | 用途 | 自动化可行性 | 证据 |
|---|---|---|---|
| 单元测试 | 业务规则、工具函数、状态机 | 高 | 测试报告 |
| API 契约测试 | 服务端兼容旧 App、接口字段、异常码 | 高 | Contract 测试报告 |
| UI 自动化 | 登录、加购、下单、主流程、回归 | 中高 | Appium / XCUITest / Espresso 报告 |
| 真机矩阵测试 | 安全区域、权限、厂商 ROM、推送、后台限制 | 中 | 真机截图、设备清单 |
| 弱网测试 | 超时、断网、重试、幂等 | 中 | Charles / Network Link Conditioner / tc 日志 |
| 支付沙箱与真实小额测试 | 支付、退款、订阅、回调、对账 | 中低 | 支付平台订单、服务端日志 |
| 安全测试 | MASVS、越权、WebView、Deep Link、逆向 | 中 | 安全报告 |
| 隐私合规审查 | 数据采集、SDK、权限、隐私声明 | 半自动 | SDK Inventory、数据流图 |
| 灰度演练 | 回滚、Kill Switch、告警、降级 | 中 | 演练记录 |
| 事故演练 | 外部服务故障、配置错误、崩溃异常 | 中 | Runbook 记录 |

---

## 2. 平台范围

### 2.1 C 端范围

| 平台 | 是否默认纳入 | 重点风险 |
|---|---|---|
| iOS App | 是 | Safe Area、IAP、隐私标签、审核账号、ATT、动态能力、证书 |
| Android App | 是 | targetSdk、权限、厂商 ROM、Display Cutout、后台限制、多渠道、Play Data Safety |
| H5 | 视业务 | 浏览器兼容、支付安全、SEO、响应式、分享、埋点一致性 |
| WebView / Hybrid | 常见 | 白屏、JSBridge、token、Cookie、任意跳转、Native/H5 版本兼容 |
| 微信小程序 | 视业务 | 类目、微信支付、隐私弹窗、订阅消息、审核、版本回滚 |
| PC Web | 可选 | 管理端、Web 交易、客服入口、SEO、支付与账号一致性 |

### 2.2 后台范围

| 后台 | 适用场景 | 必备能力 |
|---|---|---|
| 管理后台 | 所有中后台产品 | 用户、角色、权限、审计、配置、发布、运营入口 |
| 商家后台 | 平台 / 电商 | 入驻、商品、库存、订单、售后、结算、资质 |
| 运营后台 | 所有规模化产品 | Banner、活动、内容、配置、推送、灰度、风控开关 |
| 客服后台 | 有用户投诉或交易 | 用户查询、订单查询、退款、补发、申诉、工单、SLA |
| 财务后台 | 有支付 / 订阅 / 结算 | 对账、退款凭证、发票、结算、税费、渠道费 |
| 内容审核后台 | UGC / 社区 / 评论 | 机审、人审、举报、封禁、申诉、证据留存 |
| 风控后台 | 支付 / 活动 / 社交 / AI | 黑名单、设备、IP、行为规则、冻结、申诉 |
| 数据分析后台 | 所有增长型产品 | 埋点、漏斗、转化、留存、错误、投放、归因 |

### 2.3 服务端范围

| 服务 | 作用 | 生产可上线要求 |
|---|---|---|
| 用户中心 | 用户资料、账号状态 | 多端一致、注销、封禁、数据删除、缓存隔离 |
| 认证中心 | 登录、Token、刷新、SSO | Token 生命周期、过期、踢下线、旧 token 失效 |
| 支付中心 | 订单支付、回调、对账 | 服务端校验金额、回调验签、幂等、退款、对账 |
| 订单中心 | 交易流程 | 状态机、幂等、超时关闭、售后、状态一致性 |
| 商品中心 | 电商 / 内容权益 | 上下架、类目、审核、价格、历史快照 |
| 消息中心 | 站内信、短信、邮件 | 失败重试、模板审核、敏感信息脱敏 |
| 推送中心 | App Push | token 更新、前后台点击、厂商通道、失败率监控 |
| 埋点系统 | 数据分析 | 事件规范、参数、缓存、去重、隐私授权联动 |
| 风控系统 | 反作弊 / 安全 | 设备、IP、行为、金额、账号、策略、申诉 |
| 审计系统 | 后台和敏感操作 | 操作人、时间、对象、前后值、不可篡改 |
| 配置中心 | Feature Flag / Remote Config | 版本约束、灰度、默认值、签名、审计、回滚 |
| 灰度发布系统 | 分阶段上线 | 分设备、分地区、分渠道、暂停、回滚、告警联动 |

---

## 3. iOS 专项规范

### 3.1 iOS UI 与设备适配

#### 目标

确保 iOS 页面在不同尺寸、刘海屏、Dynamic Island、Home Indicator、iPad、横竖屏、深色模式、系统字体放大、多语言长文本、键盘弹起等场景中不遮挡、不截断、不误触。

#### 检查项

| 分类 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| Safe Area | 核心标题、按钮、输入框、Toast、弹窗不被刘海、状态栏、Home Indicator 遮挡 | iPhone SE、标准屏、Pro / Pro Max、Dynamic Island 机型真机或模拟器 | 半自动 + 人工 | Critical | 所有核心操作可见可点 |
| 刘海 / Dynamic Island | 顶部搜索、导航、全屏媒体、地图、相机不重叠 | 真机横竖屏验证 | 人工 | Critical | 顶部内容避让正确 |
| Home Indicator | 底部 Tab、提交按钮、ActionSheet 不被遮挡 | 真机验证 | 半自动 | Critical | 底部操作无遮挡 |
| 键盘遮挡 | 输入框、验证码按钮、提交按钮、错误提示不被键盘遮挡 | 登录、注册、表单、支付密码页 | UI 自动化 + 人工 | Critical | 键盘弹起后仍可完成流程 |
| 横竖屏 | 页面布局、全屏视频、地图、相机、图片预览适配 | 旋转测试 | 人工 | Major / Critical | 内容不丢失，状态可恢复 |
| iPad | 如果声明支持 iPad，不得简单拉伸失真 | iPad 模拟器 / 真机 | 人工 | Major | 布局可读可操作 |
| 深色模式 | 文本、图标、背景、阴影、输入框、弹窗对比度 | 系统切换 + 截图对比 | 半自动 | Major | 无看不清、错色 |
| 系统字体放大 | 长文本、多语言、按钮、表单不截断 | 动态字体最大档 | 半自动 | Major | 核心文案可读 |
| 多语言长文本 | 英文、中文、长语言、RTL（若支持） | 文案快照 | 半自动 | Major | 不溢出、不重叠 |
| 全屏场景 | 视频、地图、相机、图片预览、沉浸式页面 | 真机验证 | 人工 | Critical | 系统边界处理正确 |

#### 验收写法

```md
所有 iOS 页面必须使用 Safe Area 进行布局，不允许核心操作按钮、标题、输入框、Toast、弹窗按钮被刘海、Dynamic Island、状态栏、Home Indicator、键盘遮挡。

覆盖设备：
- iPhone SE 小屏
- iPhone 标准屏
- iPhone Pro / Pro Max
- 带 Dynamic Island 的机型
- 横竖屏切换
- 深色模式
- 系统字体放大
- 多语言长文本
```

### 3.2 iOS 系统能力

| 系统能力 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| Push Notification | 权限、前后台、锁屏、点击跳转、token 更新失败会影响通知 | 允许、拒绝、锁屏、前台、后台、免打扰、token 刷新 | 半自动 + 真机 | Critical | 通知可达、跳转正确、不泄露敏感内容 |
| Live Activities | 适合实时状态，不应塞广告或普通消息 | 状态更新、过期、取消、异常、锁屏展示 | 人工 | Major / Critical | 状态准确，敏感信息可控 |
| Widget | 退出登录、账号切换、锁屏展示可能泄露数据 | 未登录、退出、切账号、刷新失败 | 半自动 | Critical | 敏感信息不残留 |
| Share Extension | 可能越权上传文件或绕过登录 | 登录态、文件类型、权限、失败兜底 | 人工 | Critical | 只能访问授权数据 |
| Notification Service Extension | 修改通知内容可能泄露或失败 | 解密、图片、超时、失败回退 | 人工 | Major | 失败不影响主通知 |
| Notification Content Extension | 自定义通知 UI 可能展示敏感数据 | 锁屏、前后台、权限关闭 | 人工 | Major | UI 正确且脱敏 |
| App Clip | token、支付、主 App 数据边界 | 独立登录、权限、支付、跳主 App | 人工 | Critical | 不误用主 App token |
| Siri / App Intents | 外部入口可能越权触发操作 | 未登录、权限、参数校验 | 人工 | Major / Critical | 只执行授权动作 |
| Spotlight | 搜索索引可能泄露敏感内容 | 退出登录、账号切换、搜索结果 | 人工 | Critical | 敏感内容不被索引或可清理 |
| Apple Watch | 同步、退出、隐私展示 | Watch 同步、退出、通知 | 人工 | Major | 数据一致，退出清理 |
| CarPlay | 驾驶安全、功能限制 | 仅适合导航/音频等场景 | 人工 | Critical | 符合场景和审核要求 |
| visionOS | 适配和隐私边界 | 若支持需专项 | 人工 | 待确认 | 待确认 |

### 3.3 iOS 权限与隐私

#### 权限治理原则

- 不得在 App 启动时一次性索要无关权限。
- 权限必须在用户触发相关功能时申请。
- 权限弹窗前应有清晰解释文案。
- 用户拒绝、永久拒绝或去设置关闭后，App 应优雅降级。
- 权限用途、隐私政策、App Store 隐私标签、SDK 数据采集必须一致。

| 权限 / 能力 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 相机 | 用途说明、拒绝后兜底、拍照失败 | 首次允许、拒绝、设置关闭 | 半自动 | Critical | 无崩溃，有替代路径 |
| 相册 | 选择范围、全量访问、拒绝后兜底 | 只选部分、取消、设置关闭 | 半自动 | Critical | 不超范围读取 |
| 定位 | 精确/模糊、后台定位、关闭定位服务 | 前台、后台、关闭定位服务 | 人工 | Critical | 权限和用途一致 |
| 麦克风 | 录音、语音、视频 | 拒绝、切后台、权限关闭 | 人工 | Major / Critical | 不泄露、不崩溃 |
| 通知 | 允许/拒绝/关闭/锁屏展示 | 前台、后台、锁屏、免打扰 | 半自动 | Major | 可降级，内容脱敏 |
| 蓝牙 | 设备连接、权限说明 | 连接、断开、拒绝 | 人工 | Major | 不阻塞非相关功能 |
| 通讯录 | 极高风险，必须证明核心必要性 | 拒绝、最小化读取、导入确认 | 人工 | Critical | 不默认上传，不滥用 |
| ATT / IDFA | 广告归因、跨 App 跟踪 | 授权、拒绝、文案、SDK 行为 | 人工 + 合规审查 | Critical | 未授权不跟踪 |
| Keychain | 存储 token、密钥、小型敏感数据 | 安全审计、重装、退出登录 | 安全测试 | Critical | 敏感数据不明文 |
| Privacy Manifest | Required Reason API、第三方 SDK 隐私清单 | 构建审计 | 半自动 | Critical | 清单完整 |
| 截图 / 录屏 / 最近任务 | 敏感页面泄露 | 支付、隐私、证件、聊天页 | 人工 | Critical | 敏感场景遮罩或脱敏 |

### 3.4 iOS 支付与审核

| 项目 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| IAP | 数字内容、数字权益、虚拟币、订阅通常高风险 | 商品配置、沙箱、恢复购买、退款、订阅状态 | 半自动 + 沙箱 | Critical / Blocker | 数字权益规则正确 |
| Apple Pay | 实物商品、线下服务通常可走 | 金额、币种、回调、退款 | 半自动 | Critical | 服务端对账正确 |
| 实物商品支付 | 不应误用 IAP | 商品类型、支付通道、审核备注 | 合规审查 | Critical | 支付规则清楚 |
| 数字权益支付 | 可能触发 IAP | 会员、虚拟币、AI 次数包、课程 | 合规审查 | Critical | 规则待确认并执行 |
| 订阅 | 续费、取消、恢复购买、价格展示、试用 | 沙箱订阅周期、宽限期、取消 | 半自动 | Critical | 权益发放/回收正确 |
| 审核账号 / Demo Mode | 审核员无法访问会拒审 | 账号、权限、后端、样例数据 | 人工 | Critical | 审核全流程可访问 |
| App Review Notes | 非显而易见功能、权限、支付说明 | 提交前审查 | 人工 | Major / Critical | 审核材料完整 |
| App Store 隐私标签 | 数据采集和标签不一致 | 数据清单、SDK、H5、埋点 | 合规审查 | Critical | 与实际一致 |
| 元数据一致性 | 截图、标题、功能、价格、订阅不一致 | 商店页审查 | 人工 | Major / Critical | 不误导 |
| 生产包纯净 | 测试入口、占位页面、空链接、假功能 | 构建审计 + 冒烟 | 半自动 | Blocker | 无测试残留 |

---

## 4. Android 专项规范

### 4.1 Android 系统版本与设备差异

#### 目标

明确 minSdk、targetSdk、compileSdk、系统版本矩阵、设备矩阵和分发渠道要求。Android 不应只测一台手机，而应覆盖小屏、主流屏、大屏、折叠屏、平板、厂商 ROM、系统导航、权限、后台限制、targetSdk 行为变化。

#### 检查项

| 项目 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| minSdk / targetSdk | targetSdk 影响权限、后台、商店可更新 | minSdk、targetSdk、compileSdk、Play 要求 | 构建审计 | 高 | Critical | 符合当前分发要求 |
| Android 12 / 13 / 14 / 15 / 16 | 系统行为差异 | 权限、通知、后台、返回、Edge-to-edge | 真机/模拟器矩阵 | 中 | Critical | 核心流程全通过 |
| Display Cutout | 挖孔 / 刘海遮挡 | WindowInsets、safe insets、横屏 | 真机/模拟器 | 中 | Critical | 核心内容无遮挡 |
| WindowInsets / Edge-to-edge | target SDK 35 后更易绘制到系统栏下方 | 状态栏、导航栏、cutout、键盘 | UI 自动化 + 人工 | 中 | Critical | insets 处理正确 |
| Android 15 edge-to-edge | 非浮动窗口边界变化 | 每页系统栏避让 | 真机 | 中 | Critical | 不被系统栏遮挡 |
| Android 16 行为变化 | Job、Intent、安全、返回、16KB 等 | 见下方专项 | 专项测试 | 中 | Critical | 目标系统通过 |
| Predictive Back | 返回动画和状态恢复风险 | 手势返回、三键返回、长按返回、WebView 返回 | 人工 + 自动化 | 中 | Major / Critical | 返回状态正确 |
| Intent redirection | 任意跳转 / 越权 | nested Intent、目标包名、Deep Link 参数 | 安全测试 | 中 | Critical | 外部输入被校验 |
| Foreground Service | 类型声明、用户感知、Play 声明 | 类型、权限、通知、声明、视频证明 | 人工 | Critical | 符合政策和功能必要性 |
| Exact Alarm | 特殊权限和必要性 | 场景、降级、设置关闭 | 人工 | Major / Critical | 只在必要场景使用 |
| WorkManager / JobScheduler / DownloadManager | 后台任务被 quota / Doze / standby 影响 | 停止原因、重试、断点续传 | 专项 | Critical | 任务可恢复不重复 |
| 16KB page size | native .so 不兼容可能导致启动失败 | 所有 .so、第三方 SDK、Flutter/Unity/RN | 构建 + 真机 | Critical | 支持 16KB page size |
| App Standby Bucket / Doze | 后台任务、推送、同步被限制 | rare / restricted、低电量、后台 | 专项 | Major / Critical | 降级可解释 |

### 4.2 Android 设备适配

| 设备 / 场景 | 检查项 | 测试方法 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 小屏低端机 | 布局、性能、内存、启动、图片列表 | 真机 | Critical | 无崩溃、不卡死、核心可用 |
| 主流中端机 | 核心回归、权限、推送、支付 | 真机 | Critical | 核心流程通过 |
| 高刷旗舰机 | 高刷、动画、耗电、GPU、图片/视频 | 真机 | Major | 无明显卡顿 |
| 大屏 / 平板 | 响应式布局、分栏、横屏 | 真机/模拟器 | Major / Critical | 不简单拉伸，不截断 |
| 折叠屏 | 展开/折叠、窗口尺寸变化、状态恢复 | 真机/模拟器 | Critical | 状态不丢失 |
| ChromeOS | 窗口化、键鼠、尺寸变化 | 若支持则测 | Major | 交互可用 |
| Wear OS / Android Auto / TV | 仅适用声明支持时 | 专项 | 待确认 | 符合对应质量指南 |
| 横竖屏 | 页面状态、列表、表单、媒体 | 自动化 + 人工 | Major | 旋转无错乱 |
| 分屏 / 多窗口 | 尺寸变化、键盘、返回 | 人工 | Major | 可用且状态正确 |
| 手势导航 / 三键导航 | 底部导航栏、返回行为 | 真机 | Critical | 不遮挡、不误返回 |
| 深色模式 | 对比度、图标、背景 | 截图对比 | Major | 无看不清 |
| 字体放大 | 文本、按钮、表单 | 系统设置 | Major | 核心文案可读 |
| 厂商 ROM | MIUI / HyperOS、ColorOS、OriginOS、HarmonyOS 兼容机、Samsung、Pixel | 设备矩阵 | Critical | 权限、推送、后台、WebView 可用 |

### 4.3 Android 权限

#### 权限测试矩阵

每个危险权限和特殊权限都必须覆盖：

- 首次允许
- 首次拒绝
- 拒绝后再次触发
- 永久拒绝 / 不再询问
- 去设置页手动开启
- 去设置页手动关闭
- 权限关闭后的功能降级
- App 重启后的权限状态
- 权限弹窗前解释文案
- 是否与核心功能相关
- 是否存在过度索权

| 权限 | 重点风险 | 阻断级别 | 通过标准 |
|---|---|---|---|
| 通知权限 | 拒绝后消息不可达，但不能影响非通知功能 | Major | 可降级，有站内信或提示 |
| 定位权限 | 精确/模糊、后台定位、关闭定位服务 | Critical | 与用途一致，关闭后不崩溃 |
| 相机 | 扫码、拍照、头像、上传 | Critical | 拒绝后有替代入口 |
| 相册 / 媒体 | Android 13+ 图片/视频权限、Photo Picker 替代 | Critical | 不超范围读取 |
| 麦克风 | 录音、语音、视频 | Major / Critical | 拒绝后流程可退出 |
| 蓝牙 | 设备连接、扫描 | Major | 权限说明清楚 |
| 联系人 | 高隐私风险 | Critical | 必须核心必要并显著披露 |
| 后台定位 | 极高风险 | Critical / Blocker | 只在必要场景，用户明确感知 |
| 精确闹钟 | 特殊权限 | Major / Critical | 只在核心场景使用 |
| 前台服务权限 | 类型、声明、通知、用户影响说明 | Critical | 类型准确、不可滥用 |
| QUERY_ALL_PACKAGES / MANAGE_EXTERNAL_STORAGE | 高限制权限 | Critical / Blocker | 只在核心功能且有声明 |

### 4.4 Android 生态与分发

| 渠道 | 风险说明 | 检查项 | 自动化可行性 | 阻断级别 |
|---|---|---|---|---|
| Google Play | target API、Data Safety、Billing、权限、FGS、账号删除 | Play Console 表单、审核材料、AAB | 半自动 | Critical |
| 国内安卓市场 | 隐私合规扫描、权限、加固、渠道包、素材 | 华为、小米、OPPO、vivo、应用宝、荣耀、三星 | 人工 | Critical |
| APK 官网下载 | 签名、更新机制、恶意替换、开发者验证 | 下载页、签名校验、Hash、升级 | 半自动 | Critical |
| 企业 MDM | 企业证书、设备策略、私有分发 | 证书、用户范围、回收 | 人工 | Major / Critical |
| 多渠道包 | 渠道号、支付、推送、地图 key、埋点 | Build Manifest | 高 | Critical |
| 厂商推送 | token、通道、到达率、后台限制 | 各 ROM 真机 | 半自动 | Major / Critical |
| 后台保活 / 自启动 | 厂商差异，不能依赖强保活 | 降级、用户提示 | 人工 | Major |
| 非商店分发 / Sideload | 开发者身份验证、安装链路拦截、用户信任 | 目标地区验证 | 人工 | Critical / 待确认 |

---

## 5. H5 / WebView / Hybrid / 微信小程序专项

### 5.1 H5 / PC Web

| 项目 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| 响应式布局 | 手机、平板、PC、WebView 尺寸不一致 | 断点、长文本、横屏、键盘 | 自动截图 + 人工 | Major | 无遮挡截断 |
| SEO | 面向搜索流量时影响获客 | title、description、结构化数据 | 自动化 | Minor / Major | 关键页可收录 |
| 微信浏览器 | 支付、分享、登录、WebView 差异 | 微信内打开 | 人工 | Major | 登录支付分享正常 |
| 支付宝浏览器 | 支付回跳、登录、权限 | 支付宝内打开 | 人工 | Major | 回跳稳定 |
| 第三方登录 | OAuth 回跳、state 校验 | 登录流程 | 自动化 + 人工 | Critical | 防 CSRF，回跳正确 |
| 分享卡片 | 标题、图、链接、权限 | 多平台分享 | 人工 | Minor / Major | 卡片准确 |
| 支付安全 | URL 参数、金额、订单、回调 | 安全测试 | 中 | Blocker | 不信任前端金额 |
| 埋点一致性 | H5 / App / 小程序漏斗不一致 | 埋点校验 | 半自动 | Major | 事件和参数一致 |
| 多端状态一致性 | H5 下单、App 查看、后台处理 | 跨端回归 | 半自动 | Critical | 状态实时或最终一致 |

### 5.2 WebView / Hybrid

| 项目 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| WebView 白屏 | H5、DNS、证书、缓存、JS 错误导致页面不可用 | 白屏监控、超时、错误页 | 自动化 + 监控 | Critical | 可监控、可兜底 |
| H5 加载失败 | 用户无法继续流程 | 错误页、重试、刷新、离线提示 | 自动化 | Major / Critical | 失败可恢复 |
| JSBridge 白名单 | H5 调用敏感 Native 能力 | 方法白名单、来源白名单 | 安全测试 | Critical | 未授权 H5 不可调用 |
| JSBridge 参数校验 | 参数可被篡改 | 类型、范围、签名、权限 | 安全测试 | Critical | 所有参数校验 |
| 任意 URL 跳转 | 钓鱼、绕过审核、恶意链接 | 域名白名单、外链提示 | 安全测试 | Critical | 不加载不可信内容 |
| 任意 Scheme 跳转 | 越权、拉起外部 App、Intent 攻击 | Scheme 白名单、参数校验 | 安全测试 | Critical | 不可任意跳转 |
| token 泄露 | token 放 URL、日志、Referer | 抓包、日志审计 | 安全测试 | Blocker | token 不进 URL / 日志 |
| Cookie 跨账号污染 | 账号 A/B 数据串号 | 切账号、退出登录、清缓存 | 自动化 + 人工 | Blocker | 退出后清理 |
| WebView 缓存 | 旧页面、敏感数据残留 | 清缓存、版本更新 | 人工 | Major | 不残留敏感数据 |
| H5 / Native 版本兼容 | H5 新能力调用旧 Native 崩溃 | 能力协商、版本约束 | 自动化 | Critical | 旧版本可降级 |
| H5 支付回跳 | 支付完成后状态不一致 | 支付、取消、切后台、杀进程 | 人工 + 沙箱 | Critical | 服务端状态为准 |
| H5 深链跳 Native | 未登录、参数、错误链接 | Deep Link 测试 | 自动化 | Critical | 参数校验、兜底 |
| Data Safety 归属 | App 控制的 WebView 数据采集需纳入声明 | 数据流盘点 | 合规审查 | Critical | 与声明一致 |

### 5.3 微信小程序

| 项目 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| 小程序类目 | 类目不符导致审核失败 | 类目、资质、业务范围 | 人工 | Critical | 类目和功能一致 |
| 微信支付 | 支付、退款、分账、回调 | 沙箱 / 生产小额 | 半自动 | Blocker | 回调对账正确 |
| 订阅消息 | 模板、触发、用户授权 | 允许/拒绝、到达率 | 半自动 | Major | 消息合规到达 |
| 小程序隐私弹窗 | 数据采集和隐私接口 | 隐私协议、授权、拒绝 | 人工 | Critical | 权限和声明一致 |
| 小程序审核 | 审核账号、页面、资质、截图 | 提审清单 | 人工 | Critical | 材料完整 |
| 客服消息 | 用户咨询、售后 | 入口、SLA、记录 | 人工 | Major | 可追踪 |
| 分享裂变合规 | 诱导分享、奖励、拉新 | 分享链路审查 | 人工 | Major / Critical | 不诱导违规 |
| 小程序直播 | 若有，内容、商品、主播资质 | 专项审核 | 人工 | Critical | 单独合规 |
| 订单一致性 | 小程序下单 App/后台可见 | 跨端测试 | 半自动 | Blocker | 状态一致 |
| 权限 | 定位、相册、手机号等 | 允许、拒绝、降级 | 半自动 | Critical | 拒绝不崩溃 |
| 版本发布与回滚 | 灰度、回退、审核版本 | 发布演练 | 人工 | Critical | 可回滚 |

---

## 6. UI、安全区域与交互规范

### 6.1 通用 UI 风险

| 风险 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 状态栏遮挡 | 标题、搜索、顶部按钮 | 多机型截图 | 半自动 | Critical | 顶部无遮挡 |
| 刘海 / 灵动岛遮挡 | iOS 顶部核心内容 | Dynamic Island 机型 | 人工 | Critical | 核心内容避让 |
| Home Indicator / 导航栏遮挡 | 底部按钮、Tab、输入框 | iOS/Android 真机 | 半自动 | Critical | 可见可点 |
| 键盘遮挡 | 表单、验证码、评论、搜索 | 键盘弹起测试 | 半自动 | Critical | 能完成输入提交 |
| 弹窗 / Toast / ActionSheet | 位置、遮罩、按钮可见 | 截图对比 | 半自动 | Major | 无错位 |
| 横屏安全区域 | 横屏媒体、地图、表单 | 横竖切换 | 人工 | Major | 状态不丢失 |
| 全屏视频 / 地图 / 相机 | 沉浸式、系统栏、权限 | 真机 | 人工 | Critical | 不遮挡、不泄露 |
| Loading | 长时间加载、重复点击、取消 | 弱网测试 | 半自动 | Major | 有超时和取消 |
| 空状态 | 无数据、首次进入、筛选无结果 | 数据构造 | 自动化 | Minor / Major | 文案可理解 |
| 错误态 | 接口 500、业务错误、权限错误 | Mock | 自动化 | Major | 能指导用户 |
| 无网络 / 弱网态 | 断网、慢网、切网 | 网络工具 | 半自动 | Critical | 不白屏卡死 |
| 骨架屏 | 首屏体验、内容闪烁 | 截图 | 自动化 | Minor / Major | 不误导 |
| 长文本 / 多语言 | 按钮、标题、表格、卡片 | 文案扩展 | 半自动 | Major | 不截断核心信息 |
| 深色模式 | 文本对比、图标、图片 | 系统切换 | 半自动 | Major | 可读 |
| 字体放大 | 无障碍字体最大档 | 系统设置 | 半自动 | Major | 核心可读可点 |
| 表单错误提示 | 错误位置、内容、清除规则 | 表单自动化 | 自动化 | Major | 明确可修复 |
| 手势冲突 | 返回、滑动、Tab、地图、WebView | 人工 | 人工 | Major | 手势优先级明确 |
| 返回行为 | 手势返回、三键返回、弹窗返回、WebView 返回 | 状态机测试 | 半自动 | Major / Critical | 状态恢复正确 |

### 6.2 交互通过标准

- 核心操作按钮在所有目标设备上可见、可点击、不会被系统 UI 或键盘遮挡。
- 弱网、失败、空数据、权限拒绝、未登录、账号异常均有可理解提示。
- 表单错误能准确定位字段，不依赖用户猜测。
- 返回动作不会导致数据丢失、重复提交或订单状态错乱。
- 用户不应因为系统权限、后台限制、切后台、锁屏而陷入无响应状态。

---

## 7. App 生命周期状态机

移动端必须按状态机测试，而不是只按页面测试。系统、用户、网络、权限和外部事件随时会打断流程。

### 7.1 生命周期测试矩阵

| 状态 / 打断 | 风险说明 | 必测流程 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| 冷启动 | 首屏白屏、崩溃、初始化慢 | 启动、登录态恢复、首页 | 性能 + 真机 | 高 | Critical | 启动达标，无崩溃 |
| 热启动 | 状态恢复错误 | 切后台再打开 | 自动化 | 中 | Major | 页面和数据正确 |
| 后台恢复 | Token、页面、任务状态变化 | 支付、表单、上传 | 半自动 | Critical | 状态可恢复 |
| 被系统杀死后恢复 | 任务丢失、订单丢失 | 支付中、下单中、上传中 | 人工 | Critical | 服务端状态可修正 |
| 被用户手动杀死后重开 | 本地状态残留 | 登录、支付、草稿 | 人工 | Major / Critical | 可恢复或明确终止 |
| 锁屏 | 任务中断、通知泄露 | 支付、录音、下载、敏感页 | 人工 | Critical | 不泄露，状态正确 |
| 接电话 | 音频、视频、支付、录制中断 | 通话打断 | 人工 | Major | 可恢复或提示 |
| 切后台 | 支付 SDK、上传、倒计时 | 支付、验证码、表单 | 半自动 | Critical | 不重复、不丢失 |
| 收到推送 | 跳转覆盖当前流程 | 当前页面 + push | 人工 | Major / Critical | 跳转可控 |
| Wi-Fi 切 4G/5G | 请求失败、重试、重复 | 支付、下单、上传 | 网络工具 | Critical | 幂等正确 |
| 断网 / 弱网 | 卡死、重复提交 | 全核心流程 | 半自动 | Critical | 失败可恢复 |
| 低电量模式 | 后台任务、定位、同步降级 | 后台任务 | 人工 | Major | 降级可解释 |
| 存储空间不足 | 缓存、下载、上传、数据库写入失败 | 文件、图片、数据库 | 人工 | Critical | 不崩溃，提示清楚 |
| 系统语言变化 | 文案、布局、缓存 | 多语言 | 人工 | Major | 重启/刷新后正确 |
| 系统时间变化 | 订单过期、订阅、缓存 | 支付、优惠券、登录 | 人工 | Critical | 服务端时间为准 |
| 时区变化 | 预约、日历、订阅 | 时间相关功能 | 人工 | Major | 时间显示正确 |
| 深色模式变化 | 颜色、图片、状态 | 全页面 | 自动截图 | Major | 不错色 |
| 字体大小变化 | 布局、可读性 | 表单、商品、设置 | 自动截图 | Major | 核心可读 |
| 权限被关闭 | 功能崩溃 | 相机、定位、通知 | 半自动 | Critical | 降级 |
| 定位服务关闭 | 地图、配送、附近 | 定位相关 | 人工 | Critical | 不崩溃，提示设置 |

### 7.2 支付流程状态机示例

```md
用户点击支付
  -> 创建订单
  -> 锁库存 / 锁权益
  -> 调起支付 SDK
  -> 用户切后台 / 锁屏 / 杀 App / 断网
  -> 支付平台扣款成功或失败
  -> 服务端接收回调并验签
  -> 客户端轮询或重新进入订单页
  -> 订单状态以服务端为准
  -> 权益发放 / 回收 / 退款 / 对账
```

必测：

- 支付中切后台后支付成功，回到 App 后订单状态正确。
- 支付中杀 App 后支付成功，再打开 App 可通过服务端状态修正。
- 客户端显示失败但平台扣款成功，服务端回调最终修正订单。
- 连续点击支付 3 次不会创建多个有效支付单。
- 客户端篡改金额、商品 ID、订单 ID，服务端拦截。

---

## 8. 安装、升级、迁移与版本兼容

### 8.1 安装升级

| 场景 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| 新装 | 初始化、权限、首次引导 | 首启、隐私、登录、首页 | 自动化 | Critical | 可完成核心流程 |
| 覆盖安装 | 数据保留、配置兼容 | 老包覆盖新包 | 半自动 | Critical | 不崩溃 |
| 老版本升级 | DB、缓存、token、接口兼容 | 1-3 个历史版本 | 半自动 | Critical | 数据不丢失 |
| 跨多个版本升级 | 长期未升级用户 | 最旧支持版本直升 | 人工/自动 | Critical | migration 可恢复 |
| 卸载重装 | 本地数据、Keychain、服务端状态 | 卸载重装 | 人工 | Major | 隐私和登录态符合预期 |
| iCloud Backup 恢复 | 敏感数据和 token 恢复风险 | iOS 备份恢复 | 人工 | Critical | 敏感数据不误恢复 |
| Android 备份恢复 | shared prefs / DB 恢复风险 | 备份恢复 | 人工 | Critical | 不串号 |
| 强制更新 | 老版本不可用时控制 | 弹窗、跳商店、失败兜底 | 人工 | Critical | 可远程控制 |
| 可选更新 | 非强制升级 | 提醒频率、跳转 | 人工 | Minor / Major | 不打扰 |
| 最低版本策略 | 旧 App 兼容窗口 | 远程配置、灰度 | 半自动 | Critical | 可控可回滚 |

### 8.2 本地数据迁移

| 项目 | 风险说明 | 检查项 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 数据库 migration | 失败导致崩溃或数据丢失 | 可重复执行、中断恢复、失败回滚 | Critical | 升级后数据完整 |
| 缓存结构变化 | 新字段缺失、旧缓存脏数据 | 兼容默认值、清理策略 | Major / Critical | 不崩溃 |
| Token 兼容 | token 格式、刷新策略变化 | 过期、刷新失败、退出 | Critical | 会话正确 |
| 本地配置兼容 | Remote Config 默认值变化 | 默认值、版本约束 | Critical | 配错不崩 |
| 多账号缓存隔离 | A/B 串数据 | 切账号、退出、重登 | Blocker | 不串号 |

### 8.3 服务端兼容旧 App

移动端不能假设用户会立刻升级。服务端必须长期兼容旧 App。

| 项目 | 检查项 | 测试方法 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 老版本 App 调新服务端 | 登录、首页、核心接口 | 旧包回归 | Critical | 不崩溃，核心可用 |
| 新字段缺失 | 客户端默认值 | Mock 缺字段 | Critical | 不崩溃 |
| 老字段废弃 | 过渡期、兼容字段 | 接口契约测试 | Critical | 旧版本可用 |
| 接口版本窗口 | v1/v2 支持期限 | 版本表 | Major / Critical | 有最后支持日期 |
| Feature Flag | 不向旧 App 下发无法识别配置 | 版本约束测试 | Critical | 旧 App 不崩 |
| Remote Config | 默认值、签名、回滚 | 配错演练 | Critical | 可回滚 |
| 强制升级 | 远程控制、分版本、分渠道 | 演练 | Critical | 可控 |
| 废弃接口统计 | 老版本用户量 | 数据统计 | Major | 废弃前有数据 |

版本兼容表模板：

| App Version | Server API Version | 是否支持 | 最后支持日期 | 强更策略 | 备注 |
|---|---|---|---|---|---|
| 1.0 | v1 | 支持 | 待确认 | 可选升级 | 只保留核心能力 |
| 1.1 | v1 / v2 | 支持 | 待确认 | 提醒升级 | 支持新字段降级 |
| 2.0 | v2 | 支持 | 长期 | 无 | 当前主版本 |

---

## 9. 权限、隐私与用户数据权利

### 9.1 权限治理

每个权限都必须建立权限卡片。

```md
权限名称：
业务用途：
是否核心功能必要：是 / 否 / 待确认
触发时机：用户触发具体功能时，不应启动即请求
权限前解释文案：
拒绝后降级：
永久拒绝后设置引导：
设置页关闭后行为：
是否写入隐私政策：
是否写入 App Store 隐私标签 / Google Play Data Safety：
涉及 SDK：
阻断级别：
```

权限测试必须覆盖：首次允许、首次拒绝、永久拒绝、去设置页开启、去设置页关闭、App 重启后状态、权限关闭后的功能降级。

### 9.2 隐私声明一致性

| 数据来源 | 检查项 | 风险说明 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| App 自身采集 | 账号、设备、位置、支付、行为 | 与隐私政策不一致会被拒审或投诉 | Critical / Blocker | 数据清单和声明一致 |
| App Store 隐私标签 | 数据类型、用途、追踪 | 自报不准确风险 | Critical | 和实际采集一致 |
| Google Play Data Safety | 采集、共享、用途、安全实践、删除 | SDK / WebView 也需纳入 | Critical | 表单完整准确 |
| 第三方 SDK | 设备 ID、广告 ID、位置、埋点 | “我没采集”不等于 SDK 没采集 | Critical | SDK Inventory 完整 |
| H5 / WebView | App 控制页面的数据采集 | 不能当成“只是网页”忽略 | Critical | 纳入声明 |
| 埋点 | 行为、用户 ID、设备 ID、session | 拒绝隐私授权后仍采集是高风险 | Critical | 授权联动 |
| 广告 / 归因 | IDFA / GAID、跨 App 跟踪 | ATT / 同意要求 | Critical | 未授权不跟踪 |
| AI 功能 | prompt、图片、语音、联系人、位置 | 训练授权、删除、脱敏 | Critical | 说明用途和保留 |

### 9.3 用户数据权利

| 权利 / 流程 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 账号删除 | App 内路径、Web 链接、后台处理 | 端到端演练 | 半自动 | Critical | 用户可请求删除 |
| 数据删除 | 删除范围、保留例外、完成通知 | 工单 + 后台 | 人工 | Critical | 流程可追踪 |
| 数据保留 | 订单、发票、交易、法定义务 | 合规审查 | 人工 | Critical | 保留规则明确 |
| 撤回同意 | 隐私授权、营销、追踪 | 设置页 | 半自动 | Critical | 撤回后停止非必要采集 |
| 导出个人数据 | 范围、格式、安全校验 | 工单 | 人工 | Major / Critical | 只给本人 |
| 更正个人数据 | 用户资料、地址、宠物档案等 | 表单 + 后台 | 半自动 | Major | 修改可审计 |
| 手机号 / 邮箱释放 | 注销后是否可重用 | 业务规则 | 人工 | Major / Critical | 防账号接管 |
| 注销后订单 / 发票保留 | 隐私与财务冲突 | 合规审查 | 人工 | Critical | 明确说明 |
| 封禁账号注销 | 风控冻结、申诉、数据权利 | 规则审查 | 人工 | Critical | 不绕风控，不剥夺权利 |
| 客服处理能力 | 删除/导出/投诉工单 | 演练 | 人工 | Major / Critical | SLA 和审计完整 |

---

## 10. 第三方 SDK 与供应链治理

### 10.1 SDK Inventory

每个 SDK 必须登记：

| 字段 | 说明 |
|---|---|
| SDK 名称 | 官方名称，不用简称 |
| SDK 版本 | 精确版本号 |
| 引入原因 | 业务必要性 |
| 是否必要 | 必要 / 可替代 / 可移除 |
| 是否可替代 | 替代方案和成本 |
| 负责人 | 产品 / 研发 / 安全 / 合规 owner |
| 是否采集设备 ID | IMEI、Android ID、IDFV 等 |
| 是否采集广告 ID | IDFA / GAID |
| 是否采集位置 | 精确 / 模糊 / 后台 |
| 是否采集联系人 / 相册 / 相机 / 麦克风 | 权限与数据范围 |
| 是否上传崩溃日志 | 数据内容和脱敏 |
| 是否上传行为埋点 | 事件和参数 |
| 是否用于广告归因 | 是否触发 ATT / 广告声明 |
| 是否跨 App 跟踪 | 高风险 |
| 是否有 Privacy Manifest | iOS |
| 是否有 SDK 签名 | iOS 二进制依赖 |
| 是否进入 App Store 隐私标签 | 是 / 否 |
| 是否进入 Google Play Data Safety | 是 / 否 |
| 是否有已知漏洞 | CVE / 历史风险 |
| 是否影响包体积 | 体积增量 |
| 是否影响启动速度 | 初始化时机 |
| 是否支持当前 targetSdk / iOS 版本 | 兼容性 |
| 初始化失败降级 | 失败后 App 是否可用 |
| 数据收集变更审查 | SDK 升级时必须重审 |

### 10.2 SDK 供应链风险

| 风险 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| SDK 默认采集敏感数据 | 查看文档、抓包、权限、Data Safety | 隐私审查 + 动态测试 | 半自动 | Critical | 全部登记并披露 |
| SDK 有漏洞 | CVE、版本、依赖树 | SCA 扫描 | 高 | Critical | 无高危漏洞 |
| SDK 影响启动 | 初始化耗时 | 启动性能测试 | 自动化 | Major / Critical | 不阻塞首屏 |
| SDK 影响包体积 | 体积分析 | 构建报告 | 高 | Major | 体积可接受 |
| SDK 不支持 targetSdk | 构建 / 运行异常 | 兼容测试 | 自动化 | Critical | 目标 SDK 可用 |
| SDK 过期或停服 | 维护状态 | 台账审查 | 人工 | Major / Critical | 有替代计划 |
| SDK 初始化失败 | 崩溃或核心不可用 | 故障注入 | 半自动 | Critical | 可降级 |
| SDK 数据变更 | 升级后多采集数据 | 升级审查 | 人工 | Critical | 隐私声明同步更新 |

---

## 11. 构建产物审计

### 11.1 Build Manifest

每个版本必须产出 Build Manifest，并进入发布证据。

| 字段 | 要求 |
|---|---|
| App 名称 | 与商店和包一致 |
| versionName / versionCode | Android 必填 |
| CFBundleShortVersionString / Build | iOS 必填 |
| build number | CI 唯一编号 |
| git commit | 精确 commit hash |
| branch | 发布分支 |
| build time | 构建时间 |
| build machine | CI runner / 本地禁止生产构建，若允许需记录 |
| 构建人 | CI 账号 / 操作人 |
| 环境 | dev / staging / prod |
| API base URL | 必须为生产地址 |
| WebSocket URL | 必须为生产地址 |
| CDN URL | 必须为生产地址 |
| 支付环境 | sandbox / production，生产包必须 production |
| 推送环境 | sandbox / production，生产包必须 production |
| 埋点环境 | 生产 / 测试隔离 |
| 崩溃上报环境 | 生产上报可用 |
| Feature Flag 默认值 | 可审计 |
| Remote Config 默认值 | 可审计 |
| 是否开启 debug log | 生产关闭 |
| 是否开启 mock | 生产关闭 |
| 是否开启测试入口 | 生产关闭 |
| 是否开启抓包代理 | 生产关闭 |
| mapping / dSYM | 上传状态和链接 |
| SDK 清单 | 版本和隐私变更 |
| 权限清单 | 本次权限变化 |
| 证书 / 签名 | Bundle ID / packageName / keystore / profile |

### 11.2 生产包必须禁止

- 测试 API 进生产包。
- sandbox 支付进生产包。
- debug log 进生产包。
- mock 数据进生产包。
- 测试账号入口进生产包。
- 内部菜单进生产包。
- Charles / mitmproxy 调试信任证书进生产包。
- hardcoded token / secret / API key 进生产包。
- 临时白名单、跳过风控、跳过支付验签逻辑进生产包。
- 未上传 mapping / dSYM 就发布生产包。

### 11.3 构建产物验收

| 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 环境地址 | 静态扫描 + 启动抓包 | 高 | Blocker | 生产包只连生产 |
| 签名 / 证书 | CI 校验 | 高 | Blocker | 可更新旧版本 |
| packageName / Bundle ID | 构建校验 | 高 | Blocker | 与商店一致 |
| Debug / mock | 静态扫描 | 高 | Blocker | 不存在 |
| SDK / 权限变化 | diff 报告 | 高 | Critical | 已审查 |
| mapping / dSYM | CI 检查 | 高 | Critical | 已上传 |
| ProGuard / R8 / minify | 构建配置 + 回归 | 高 | Critical | 开启且不误伤 |
| AAB / APK split | 安装测试 | 中 | Major | 各 split 正确 |
| 16KB page size | native 依赖检查 | 中 | Critical | 符合要求 |

---

## 12. 安全规范

### 12.1 技术安全

| 安全项 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| Token 存储 | 明文 token 可被窃取 | Keychain / Keystore / 加密存储 | 静态 + 动态 | 中 | Blocker | token 不明文 |
| iOS Keychain | 小型敏感数据安全存储 | accessibility、退出清理 | 安全测试 | 中 | Critical | 访问控制正确 |
| Android Keystore | 密钥保护 | 硬件支持、失效处理 | 安全测试 | 中 | Critical | 私钥不导出 |
| 本地缓存加密 | SQLite / Realm / 文件缓存 | 敏感字段加密、退出清理 | 静态 + 动态 | 中 | Critical | 不可直接读出 |
| HTTPS / TLS | 明文传输、MITM | 禁 HTTP、证书校验 | 抓包 | 中 | Blocker | 不忽略 TLS 错误 |
| Certificate Pinning | 防 MITM，但需可轮换 | pin、备用 pin、过期策略 | 安全测试 | 中 | Major / Critical | 可安全轮换 |
| WebView 安全 | JSBridge、混合内容、不可信来源 | 白名单、禁 file access、禁调试 | 安全测试 | 中 | Critical | 不暴露敏感能力 |
| Deep Link / Universal Links / App Links | 越权、参数篡改、scheme 劫持 | 参数校验、登录回跳、兜底 | 安全测试 | 中 | Critical | 不越权 |
| Intent 安全 | Android 任意跳转 | component、package、nested Intent 校验 | 安全测试 | 中 | Critical | 外部输入可信化 |
| 日志脱敏 | token、手机号、地址、证件、支付信息泄露 | 日志扫描 | 高 | Critical | 生产无敏感日志 |
| 通知泄露 | 锁屏展示敏感内容 | 锁屏测试、脱敏 | 人工 | Critical | 敏感内容隐藏 |
| 截图 / 录屏 / 最近任务 | 敏感页被截屏 | 敏感页遮罩 | 人工 | Critical | 不泄露 |
| 剪贴板读取 | 非必要读取引发隐私风险 | 读取时机、用户触发 | 审查 | Major | 最小化 |
| 键盘缓存 | 密码 / 支付码缓存 | secure input | 人工 | Major | 不缓存敏感输入 |
| Root / Jailbreak 检测 | 风险信号，不可作为唯一安全措施 | 检测、降级、误伤 | 安全测试 | Major / Critical | 服务端仍校验 |
| Hook / Frida / Xposed | 调试篡改 | 运行时检测 | 安全测试 | Major / Critical | 高风险拦截或加权 |
| 二次打包检测 | 恶意重打包 | 签名校验、完整性 | 安全测试 | Critical | 篡改不可用 |
| Play Integrity / DeviceCheck / App Attest | 设备可信度信号 | 服务端验证 | 安全测试 | Critical for high risk | 只作风控信号 |

### 12.2 OWASP MASVS / MASTG 维度

| MASVS 域 | 要求 | 对应检查 |
|---|---|---|
| Storage | 安全存储敏感数据，防止数据泄露 | Keychain、Keystore、缓存加密、备份排除、日志脱敏 |
| Cryptography | 正确使用加密和密钥管理 | 密钥生成、存储、算法、随机数、轮换 |
| Authentication and Authorization | 认证和授权机制安全 | token、刷新、踢下线、越权、会话生命周期 |
| Network Communication | 网络通信安全 | HTTPS、TLS、证书校验、Pinning、禁止明文 |
| Platform Interaction | 平台交互安全 | WebView、IPC、Intent、Deep Link、通知、截图 |
| Code Quality | 输入校验、依赖安全、代码健壮性 | SAST、SCA、反序列化、注入、错误处理 |
| Resilience | 抗逆向、抗篡改、运行时防护 | Root、Hook、二次打包、调试检测 |
| Privacy | 数据最小化、披露、用户权利 | 权限、隐私政策、Data Safety、SDK、删除导出 |

### 12.3 业务安全与黑灰产

| 业务风险 | 攻击方式 | 防护检查 | 自动化可行性 | 阻断级别 |
|---|---|---|---|---|
| 刷注册 | 短信、邮箱、代理 IP、模拟器 | 验证码限流、设备风控、IP 风控 | 中 | Critical |
| 刷验证码 | 短信轰炸、成本攻击 | 频控、图形验证、风险评分 | 高 | Critical |
| 撞库 | 批量登录 | 登录限速、密码策略、异常告警 | 高 | Critical |
| 多设备刷注册 | 改设备号、多开 | 设备可信、行为分析 | 中 | Critical |
| 刷优惠券 / 邀请 | 多账号薅羊毛 | 账号、设备、支付、地址聚类 | 中 | Critical |
| 刷单 | 商家/用户勾结 | 订单行为、物流、评价、支付 | 中 | Critical |
| 退款套利 | 退款后权益不回收 | 权益状态机、对账 | 高 | Critical |
| 机器人内容 | 发帖、评论、私信 | 内容频控、验证码、审核 | 中 | Critical |
| 私信诈骗 | 引流、钓鱼、色情赌博 | 关键词、链接、举报、封禁 | 中 | Critical |
| 虚假评价 | 水军、刷评、好评返现 | 真实购买、异常行为、风控 | 中 | Major / Critical |
| 商家刷单 | 平台交易作弊 | 商家风控、物流、结算冻结 | 中 | Critical |
| 设备指纹绕过 | 模拟器、改机、Hook | 多信号风控 | 中 | Major / Critical |
| 风控冻结和申诉 | 误伤用户 | 冻结说明、申诉、人工复核 | 人工 | Critical |

---

## 13. 支付、订阅、订单与对账

### 13.1 支付分类

| 类型 | 示例 | 支付规则风险 | 阻断级别 | 备注 |
|---|---|---|---|---|
| 实物商品支付 | 电商商品、外卖、票务、线下服务 | 通常不走 IAP / Play Billing，但需按平台规则确认 | Critical | 服务端校验金额 |
| 数字权益支付 | App 会员、虚拟币、AI 次数包、课程、内容 | 可能必须 IAP / Play Billing | Critical / Blocker | 必须合规确认 |
| Apple IAP | iOS 数字内容、订阅、虚拟权益 | 绕过可能拒审 | Critical | 恢复购买必测 |
| Google Play Billing | Play 分发数字内容和功能 | 绕过可能拒审 | Critical | 部分实物商品例外 |
| Apple Pay / Google Pay | 实物商品、线下服务 | 回调和对账 | Critical | 不等于 IAP / Billing |
| 微信支付 / 支付宝 | 中国区实物电商常见 | 回调验签、退款、对账 | Blocker | 服务端可信 |
| Stripe / PayPal | 海外实物 / 服务 | 税费、拒付、退款 | Critical | 需地区合规 |
| 订阅 | 试用、续费、取消、宽限期 | 权益状态复杂 | Critical | 订阅状态以平台/服务端为准 |

### 13.2 支付测试矩阵

| 阶段 | 场景 | 风险 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 下单 | 重复点击、金额变更、优惠券、库存、订单过期 | 多订单、错价、超卖 | Blocker | 服务端幂等和锁定正确 |
| 支付中 | 取消、超时、切后台、杀进程、断网、支付 SDK 失败 | 状态不一致 | Critical | 可恢复，以服务端为准 |
| 支付后 | 回调、轮询、订单状态同步 | 扣款成功但订单丢失 | Blocker | 最终一致 |
| 失败 | 余额不足、风控失败、渠道异常 | 提示和重试 | Major / Critical | 不重复扣款 |
| 退款 | 部分退款、全额退款、订阅取消、权益回收 | 权益未回收 | Critical | 账务一致 |
| 订阅 | 试用、续费、宽限期、升级、降级、恢复购买 | 错发权益 | Critical | 状态正确 |
| 风控 | 篡改金额、商品 ID、重放回调 | 资金损失 | Blocker | 服务端验签和校验 |
| 对账 | 客户端、服务端、支付平台状态一致 | 财务错误 | Critical | 每日对账闭环 |

### 13.3 支付原则

- 客户端只展示结果，不能作为支付可信来源。
- 订单金额、商品 ID、优惠、库存、权益发放、支付回调验证必须在服务端完成。
- 所有支付回调必须验签、幂等、记录 transactionId、orderId、userId、渠道、金额、币种、时间。
- 客户端支付成功页面必须允许重新拉取服务端订单状态。
- 支付失败或回调延迟不得导致用户资金或权益丢失。
- 退款、订阅取消、恢复购买和权益回收必须可对账。

---

## 14. 数据同步、离线、弱网与一致性

| 场景 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| 弱网 | 请求慢、重试、重复提交 | 登录、支付、下单、上传 | 网络工具 | 中 | Critical | 不重复、不丢失 |
| 断网 | 页面卡死、无提示 | 断网进入、断网提交 | 半自动 | Major / Critical | 有无网络态 |
| 超时 | Loading 无限 | 超时阈值、取消、重试 | 自动化 | Major | 可恢复 |
| DNS 失败 | WebView / API 不可达 | DNS mock | 半自动 | Major | 有兜底 |
| 接口 500 | 脏数据、错误码 | Mock | 自动化 | Major / Critical | 不崩溃 |
| 重试 | 重复写入 | 幂等 key、指数退避 | 自动化 | Critical | 不重复产生业务结果 |
| 离线创建数据 | 草稿、购物车、表单、笔记 | 离线保存、联网同步 | 半自动 | Major / Critical | 不丢失 |
| 多端同时修改 | 冲突覆盖 | 冲突策略、版本号 | 人工 | Critical | 规则明确 |
| 时间冲突 | 本地时间不可信 | 服务端时间 | 自动化 | Critical | 服务端为准 |
| 上传失败保留草稿 | 数据丢失 | 草稿保存、恢复 | 自动化 | Major | 可继续 |
| 分页重复/丢失 | 数据错乱 | cursor、刷新、加载更多 | 自动化 | Major | 无重复丢失 |
| WebSocket + HTTP 重复 | 消息重复 | 去重 ID | 自动化 | Major / Critical | 不重复展示/处理 |
| 推送 + 本地缓存重复 | 通知和列表重复 | 消息 ID | 半自动 | Major | 去重 |
| 服务端删除后同步 | 本地仍显示 | 删除消息、缓存失效 | 自动化 | Critical | 删除一致 |
| 退出登录缓存清理 | 敏感信息残留 | 退出、重启、切账号 | 自动化 | Blocker | 不残留 |
| 多账号切换 | A 看到 B 数据 | A/B 账号交叉 | 自动化 | Blocker | 完全隔离 |

---

## 15. 后台任务与系统调度

| 场景 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| 上传任务 | 切后台、断网、杀进程中断 | 断点续传、失败重试、取消 | 半自动 | Critical | 可恢复不重复 |
| 下载任务 | 文件不完整、重复下载 | 校验、断点、取消 | 半自动 | Major / Critical | 文件完整 |
| 大文件断点续传 | 重新上传成本和失败 | 分片、校验、幂等 | 自动化 | Major | 失败可续传 |
| App 被杀后恢复 | 任务丢失 | WorkManager / Background modes | 人工 | Critical | 规则明确 |
| 低电量模式 | 任务延迟 | 降级策略 | 人工 | Major | 用户可理解 |
| Android Doze | 后台任务被推迟 | Doze 模式测试 | 人工 | Major | 不依赖即时任务 |
| App Standby Bucket | rare/restricted 下受限 | standby 测试 | 人工 | Major | 可降级 |
| WorkManager / JobScheduler | quota、停止原因 | getStopReason / 日志 | 半自动 | Critical | 可观测 |
| DownloadManager | 下载中断、权限 | 系统下载测试 | 半自动 | Major | 可恢复 |
| Foreground Service | 类型声明、通知、权限 | FGS 专项 | 人工 | Critical | 合规 |
| iOS Background Modes | 只申请必要能力 | 后台定位、音频、同步 | 人工 | Critical | 不滥用 |
| Background App Refresh | 关闭后降级 | 设置关闭 | 人工 | Major | 不影响核心 |
| 后台定位 | 高隐私风险 | 用户感知、停止、权限 | 人工 | Critical | 明确提示 |
| 任务重复执行 | 重复扣款/下单/发消息 | 幂等和锁 | 自动化 | Blocker | 不重复业务效果 |

---

## 16. 发布治理、灰度、回滚与动态配置

### 16.1 发布治理

| 能力 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| Feature Flag | 功能开关、版本、地区、渠道、用户分组 | 灰度演练 | 高 | Critical | 可控可回滚 |
| Remote Config | 默认值、签名、版本约束、审计 | 配错演练 | 高 | Critical | 配错不崩 |
| Kill Switch | 高风险功能紧急关闭 | 演练 | 高 | Blocker | 分钟级生效，待确认 SLA |
| 灰度发布 | 分批、暂停、指标门槛 | 发布演练 | 中 | Critical | 可暂停可回滚 |
| 分渠道发布 | App Store、Google Play、国内市场、APK | 渠道包校验 | 中 | Critical | 配置正确 |
| 最低版本控制 | 旧版本策略 | 远程配置 | 中 | Critical | 可控 |
| 强制升级 | 不可用旧版本处理 | 弹窗和跳转 | 人工 | Critical | 不阻塞审核 |
| 服务端兼容旧版本 | 接口兼容 | 旧包回归 | 中 | Critical | 旧版核心可用 |
| 崩溃率异常暂停灰度 | 自动告警联动 | 演练 | 中 | Critical | 自动或人工暂停 |
| 支付失败率异常关入口 | 支付保护 | 演练 | 中 | Critical | 不扩大事故 |
| 新功能远程降级 | 高风险功能可关 | 演练 | 中 | Critical | 关闭后主流程可用 |

### 16.2 动态下发治理

| 动态能力 | 风险说明 | 检查项 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 热更新 | 绕过审核、下发核心逻辑 | 签名、灰度、回滚、审计 | Critical | 不绕审核、不下发支付/安全核心逻辑 |
| 远程 JS / Lua / DSL | 动态执行风险 | 来源、签名、权限、沙箱 | Critical | 可审计可回滚 |
| 动态插件 | 安全和合规风险 | 插件签名、版本、权限 | Critical | 不加载未审查插件 |
| 远程 UI 配置 | 错配导致崩溃/误导 | 默认值、校验、回滚 | Major / Critical | 配错不崩 |
| 动态下发支付逻辑 | 极高风险 | 禁止或专项评审 | Blocker | 不允许无审计下发 |
| 动态下发风控逻辑 | 误杀/绕过 | 审计、灰度、回滚 | Critical | 可追踪 |

原则：远程配置可以控制开关和文案；不能无审计地下发新的核心业务能力、支付能力、安全策略或绕审核能力。

---

## 17. 可观测性、日志、告警与 Runbook

### 17.1 技术指标

| 指标 | 说明 | 阈值 | 阻断级别 | 备注 |
|---|---|---|---|---|
| 崩溃率 | App crash / session 或 user | 待确认 | Critical | 上线前设灰度门槛 |
| ANR 率 | Android 卡死 | 待确认 | Critical | 低端机重点 |
| 冷启动耗时 | 首屏可交互 | 待确认 | Major / Critical | 按机型分层 |
| 热启动耗时 | 后台恢复 | 待确认 | Major |  |
| 页面打开耗时 | 核心页面 P95/P99 | 待确认 | Major | 首页、详情、支付 |
| 接口成功率 | API 成功率 | 待确认 | Critical | 核心接口单独看 |
| 接口 P95 / P99 | 服务端性能 | 待确认 | Major / Critical |  |
| 图片加载失败率 | 图片/CDN | 待确认 | Major | 电商/内容重要 |
| WebView 加载失败率 | 白屏/超时 | 待确认 | Critical | Hybrid 重点 |
| 推送到达率 | token、厂商、APNs/FCM | 待确认 | Major | 召回/交易通知 Critical |
| 支付成功率 | 支付流程整体 | 待确认 | Critical | 渠道分维度 |
| 支付状态不一致率 | 客户端/服务端/平台不一致 | 接近 0 | Blocker | 必须对账 |
| 首页白屏率 | 首屏不可用 | 待确认 | Critical |  |

### 17.2 日志要求

| 日志字段 | 要求 |
|---|---|
| requestId | 客户端和服务端可关联 |
| userId | 脱敏或内部 ID，不输出手机号等 |
| orderId | 交易流程必备 |
| transactionId | 支付流程必备 |
| 版本号 | versionName / build |
| 设备型号 | model |
| 系统版本 | iOS / Android 版本 |
| 渠道号 | 分发渠道 |
| 日志脱敏 | token、手机号、地址、身份证、支付信息不得明文 |
| debug log | 生产关闭 |
| 客户端和服务端关联 | requestId / traceId 贯通 |

### 17.3 告警

| 告警 | 触发条件 | 处理动作 | 负责人 |
|---|---|---|---|
| 崩溃率异常 | 超阈值 / 灰度异常 | 暂停灰度、回滚、收集 dSYM/mapping | 移动端 + SRE |
| ANR 异常 | 超阈值 | 降级、排查线程 | Android |
| 支付失败率异常 | 渠道或总失败率异常 | 关闭入口、切渠道、通知客服 | 支付 + SRE |
| 登录失败率异常 | OTP / 密码 / SSO | 降级或公告 | 认证团队 |
| 首页白屏率异常 | 白屏率升高 | Kill Switch、回滚 | 前端/移动端 |
| 推送点击异常 | 到达/点击骤降 | 检查 token、通道、模板 | 推送团队 |
| WebView 白屏异常 | H5 错误率升高 | 回滚 H5、切静态页 | H5 团队 |
| 接口失败异常 | P95、错误率、500 | 降级、扩容、回滚 | 服务端 |

### 17.4 生产事故演练

每个高风险功能要有监控指标、告警阈值、降级方案、回滚方案、负责人、恢复步骤、用户补偿方案。

| 事故 | 风险 | 演练动作 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 登录接口挂了 | 用户无法进入 | 错误提示、公告、限流、回滚 | Critical | 用户不白屏，告警触发 |
| 支付回调延迟 | 扣款未到账 | 订单待确认、轮询、客服入口 | Blocker | 不丢单 |
| 推送服务挂了 | 通知不可达 | 站内信、短信、轮询补偿 | Major / Critical | 关键消息有替代 |
| 地图 SDK 挂了 | 定位/配送不可用 | 降级地址输入 | Major | 核心流程可继续 |
| 图片 CDN 挂了 | 商品/内容白屏 | 占位图、备用 CDN | Major / Critical | 不阻塞交易 |
| 远程配置配错 | 页面崩溃/入口异常 | 配置回滚、默认值 | Critical | 配错不崩 |
| 服务端返回脏数据 | 客户端崩溃 | defensive parsing | Critical | 不崩溃 |
| 第三方 SDK 初始化失败 | 启动失败 | 延迟初始化、降级 | Critical | 不阻塞启动 |
| 新版本崩溃率异常 | 全量事故 | 暂停灰度、回滚 | Critical | 快速停止扩散 |
| 商店审核被拒 | 上线延迟 | 材料修正、备用计划 | Major / Critical | 有责任人和 SLA |

---

## 18. 商店审核、元数据与分发渠道

| 项目 | 检查项 | 风险说明 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| App Store 审核 | 审核账号、demo mode、Notes、内购、隐私标签 | 拒审或延迟 | Critical | 审核员可完整访问 |
| Google Play 审核 | Data Safety、Billing、target API、权限、账号删除 | 拒审/下架 | Critical | 表单准确 |
| 国内安卓市场审核 | 隐私弹窗、权限、SDK、渠道包 | 拒审 | Critical | 扫描通过 |
| 小程序审核 | 类目、资质、隐私、交易组件 | 拒审 | Critical | 材料完整 |
| 隐私政策链接 | 可访问、内容准确 | 拒审 | Critical | 生产可访问 |
| 客服联系方式 | 邮箱/电话/工单可用 | 投诉无法处理 | Major | 可联系 |
| 年龄分级 | 内容、UGC、广告、儿童 | 合规风险 | Critical | 分类准确 |
| App 名称 / 副标题 | 不夸大、不误导 | 元数据违规 | Major / Critical | 与功能一致 |
| 截图 / 视频预览 | 不展示未上线功能 | 误导/拒审 | Major | 真实准确 |
| 关键词 / 分类 | 不使用竞品误导 | 拒审/投诉 | Major | 合规 |
| 订阅价格 / 促销文案 | 和 App 内一致 | 投诉/拒审 | Critical | 清楚准确 |
| App 内购买项目命名 | 权益清晰 | 拒审/投诉 | Major | 用户可理解 |
| 多渠道包配置 | 包名、签名、渠道号、支付、推送 | 功能失效 | Critical | Build Manifest 正确 |
| 企业包 / MDM / TestFlight / APK | 证书、范围、版本、更新 | 分发风险 | Critical | 分发链路可控 |

---

## 19. 平台账号、主体、财务、税务与收款

### 19.1 平台账号治理

| 项目 | 检查项 | 风险说明 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| Apple Developer 账号 | 公司主体、管理员、2FA、证书权限 | 唯一管理员失联/个人账号风险 | Critical | 公司可控，有备用管理员 |
| Google Play Console | 账号主体、验证、发布权限、财务权限 | 被盗/被封/权限滥用 | Critical | 权限最小化 |
| 公司主体 | App、收款、税务、合同一致 | 收款/转让/合规问题 | Critical | 主体明确 |
| D-U-N-S / 税务信息 | Apple / Google 需要 | 审核/收款受阻 | Major / Critical | 完整准确 |
| 收款账号 | 平台收入、支付渠道 | 财务风险 | Critical | 对公/授权账户 |
| 权限治理 | Admin、发布、财务、证书 | 离职人员风险 | Critical | 定期审查 |
| 应急方案 | 被盗、被封、2FA 丢失 | 无法发版 | Critical | 有备用管理员和恢复流程 |

### 19.2 商业与财务合规

| 项目 | 检查项 | 风险说明 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 收款主体 | Apple / Google / Stripe / PayPal / 微信 / 支付宝绑定主体 | 主体不一致 | Critical | 与运营主体一致或有授权 |
| 税务信息 | VAT / GST / 消费税 / 本地税 | 税务风险 | Critical | 待确认目标市场 |
| 发票 | 用户开票、企业开票 | 投诉/财务风险 | Major / Critical | 支持或说明 |
| 退款凭证 | 退款记录、票据冲红 | 对账风险 | Critical | 可追溯 |
| 对账 | 平台、支付、订单、财务 | 资金差异 | Critical | 日对账/月对账 |
| 财务导出 | 订单、渠道费、税费、净收入 | 财务无法结算 | Major | 可导出 |
| 平台抽成 / 渠道费 | Apple / Google / 支付渠道 | 利润计算错误 | Major | 规则明确 |
| 订阅收入递延确认 | 若有订阅 | 财务确认 | Major / Critical | 待确认财务政策 |

---

## 20. 客服、投诉、申诉与运营后台

| 场景 | 后台能力 | 风险说明 | 阻断级别 | 通过标准 |
|---|---|---|---|---|
| 用户付款未到账 | 订单查询、支付状态、权益补发 | 用户损失 | Critical | 客服可定位和补偿 |
| 订阅误扣费 | 订阅状态、退款指引 | 投诉 | Critical | 有流程 |
| 退款失败 | 支付渠道、订单、退款单 | 财务不一致 | Critical | 可重试和追踪 |
| 账号被盗 | 登录记录、设备、冻结 | 资产/隐私风险 | Critical | 可冻结和恢复 |
| 内容被删申诉 | 内容记录、审核原因、申诉 | UGC 纠纷 | Major / Critical | 可复核 |
| 用户被封禁申诉 | 风控理由、申诉、人工复核 | 误伤 | Critical | 可申诉 |
| 举报他人 | 举报入口、证据、处理结果 | 社区治理 | Major | 可闭环 |
| 删除数据 | 工单、身份验证、处理记录 | 隐私权利 | Critical | 可执行 |
| 导出数据 | 安全验证、范围、格式 | 隐私风险 | Major / Critical | 只给本人 |
| 隐私投诉 | 隐私专员、SLA、证据 | 合规风险 | Critical | 有责任链 |
| 客服 SLA | 响应/解决时限 | 投诉升级 | Major | SLA 明确 |
| 操作审计 | 客服/运营后台操作 | 内部滥用 | Critical | 不可篡改 |
| 用户查询 | 用户资料、订单、设备、风控 | 定位问题 | Major | 可检索 |
| 退款处理 | 全额/部分/原路退 | 资金 | Critical | 权限控制 |
| 权益补发 | 会员、虚拟权益、订单 | 误发/漏发 | Critical | 审计 |
| 推送补发 | 关键通知 | 召回/交易通知 | Major / Critical | 可补偿 |
| 内容审核 | 机审、人审、举报 | 合规/社区 | Critical for UGC | 有后台 |
| 黑名单 / 风控标记 | 账号、设备、IP | 反滥用 | Critical | 可申诉 |

---

## 21. AI 功能专项

AI 功能必须单独评估，不应当按普通文本输入或客服功能处理。

| 风险 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 上传敏感数据 | 图片、语音、位置、联系人、健康信息 | 数据流审查 | 人工 | Critical | 用户明确授权 |
| 用于训练 | 是否默认用于模型训练 | 合规审查 | 人工 | Critical | 明示并可退出 |
| 数据删除 | prompt/response 删除 | 端到端 | 人工 | Critical | 可执行 |
| 内容安全过滤 | 违法、暴力、色情、诈骗、医疗误导 | 红队测试 | 半自动 | Critical | 高风险输出拦截 |
| 提示词注入 | 越权读取系统提示或上下文 | 安全测试 | 中 | Critical | 不泄露上下文 |
| 越权读取上下文 | 用户 A 读取 B 数据 | 安全测试 | 中 | Blocker | 不越权 |
| 医疗/金融/法律建议 | 误导高风险建议 | Prompt 测试 | 人工 | Critical | 明确免责声明和限制 |
| 免责声明 | AI 结果非专业建议 | 文案审查 | 人工 | Major / Critical | 清晰展示 |
| 举报 AI 结果 | 用户反馈和处理 | 功能测试 | 自动化 | Major | 可举报 |
| prompt/response 存储 | 脱敏、保留周期、访问控制 | 安全审查 | 人工 | Critical | 脱敏可控 |
| AI 调用失败 | 模型不可用、超时、费用耗尽 | 故障注入 | 半自动 | Major / Critical | 可降级 |
| AI 成本风控 | 刷接口、超额调用 | 限流、配额、风控 | 高 | Critical | 不失控 |
| 模型输出可追溯 | 审计和复盘 | 日志脱敏 | 中 | Major | 可审计 |

---

## 22. 长期维护日历

### 22.1 每月检查

| 项目 | 检查内容 | 负责人 | 证据 |
|---|---|---|---|
| 崩溃率 | 版本、机型、渠道、系统版本维度 | 移动端 / QA | 崩溃报告 |
| ANR | Android ANR top case | Android | ANR 报告 |
| 差评 | 商店差评、关键词、版本关联 | 运营 / 产品 | 差评分析 |
| 退款 | 退款率、失败原因、渠道 | 财务 / 支付 | 对账报告 |
| 投诉 | 隐私、支付、账号、内容、客服 | 客服 / 合规 | 工单报告 |
| SDK 漏洞 | SCA、版本、公告 | 安全 / 移动端 | 扫描报告 |
| 隐私政策 | 是否因功能/SDK/数据采集变化需更新 | 合规 | 审查记录 |

### 22.2 每季度检查

| 项目 | 检查内容 | 负责人 |
|---|---|---|
| targetSdk 要求 | Google Play 当前要求、Android 新版本 | Android |
| iOS 新版本适配 | 新系统 Beta / RC / 正式版 | iOS |
| Android 新版本适配 | Android 16/17 行为变化、设备矩阵 | Android |
| 支付 SDK 升级 | 微信、支付宝、Stripe、Billing、IAP | 支付 |
| 推送 SDK 升级 | APNs、FCM、厂商推送 | 推送 |
| 地图 SDK 升级 | 定位、地图、key | 移动端 |
| 第三方登录 SDK | OAuth、Sign in with Apple、微信、Google | 认证 |
| 证书 / 密钥过期 | APNs、OAuth、TLS、支付证书、域名 | SRE / 安全 |
| 商店政策变化 | App Store / Google Play / 小程序 | 合规 / 产品 |

### 22.3 每次发版检查

- SDK 清单。
- 权限变化。
- 数据采集变化。
- 支付变化。
- 后台任务变化。
- 账号注销变化。
- 商店元数据变化。
- Build Manifest。
- 灰度和回滚策略。
- Release Gate 签字。

---

## 23. 通用 Release Gate

### 23.1 Blocker：存在一个就不能上线

| Blocker | 说明 |
|---|---|
| 生产包连接测试环境 | API、支付、推送、埋点、CDN 任一关键环境错误 |
| 支付金额可被客户端篡改 | 金额、商品 ID、权益由客户端可信决定 |
| 支付成功订单丢失 | 扣款后订单/权益无法恢复 |
| 用户 A 可看到用户 B 数据 | 订单、地址、宠物档案、聊天、缓存、通知等串号 |
| Token 明文存储或泄露 | 本地、日志、URL、WebView、崩溃日志泄露 |
| 隐私声明与实际采集严重不一致 | Data Safety、隐私标签、隐私政策不一致 |
| App 启动即崩溃 | 主流设备或目标系统无法启动 |
| 核心流程无法完成 | 注册、登录、支付、订单、核心业务失败 |
| 线上无法回滚或关闭高风险功能 | 无 Kill Switch / 回滚 / 配置控制 |
| 商店审核必需材料缺失 | 审核账号、隐私政策、内购配置、资质缺失 |
| debug / mock / 测试入口进入生产包 | 测试残留进入生产 |
| 敏感权限过度索取且无降级 | 启动即索权或拒绝后崩溃 |
| 服务端不兼容当前仍有用户的旧 App | 旧版本大面积不可用 |
| 严重安全越权 | Deep Link、接口、WebView、后台越权 |

### 23.2 Critical：必须修复后才能全量

| Critical | 说明 |
|---|---|
| 崩溃率异常 | 灰度或测试中超阈值 |
| 支付失败率异常 | 渠道或总支付成功率异常 |
| 权限拒绝后核心流程无降级 | 拒绝定位/相机/通知后卡死 |
| 日志泄露敏感信息 | token、手机号、地址、支付信息 |
| SDK 数据采集未登记 | SDK Inventory 不完整 |
| 旧版本兼容失败 | 有过渡方案前不得全量 |
| 弱网导致重复下单或重复支付 | 幂等缺失 |
| 主要设备适配严重异常 | 主流 iOS/Android 设备不可用 |
| WebView 白屏无兜底 | Hybrid 主流程阻断 |
| 远程配置配错会崩溃 | 无默认值或校验 |
| 推送/短信关键通知失败无替代 | 交易、召回、安全通知缺失 |

---

# 第二卷：宠物商城 App 行业专项案例

> 本卷是行业案例，不能替代第一卷的通用框架。宠物商城应先满足通用移动端生产可上线标准，再做本行业专项。

## 24. 宠物商城业务范围与 MVP 边界

### 24.1 宠物商城业务范围

宠物商城不是普通商城。它是“电商 + 宠物食品/用品 + 健康/药品边界 + 活体/领养边界 + 服务预约 + 社区内容 + 仓储物流 + 平台治理”的组合体。

可覆盖：

- 宠物用品。
- 宠物食品。
- 宠物消耗品。
- 宠物营养品 / 保健品。
- 宠物服务预约。
- 宠物社区内容。
- 宠物健康知识。

不建议默认支持，需要单独合规评估和风控方案：

- 活体交易。
- 处方兽药。
- 疫苗。
- AI 宠物诊断。
- 宠物医院线上问诊。
- 高风险寄养服务。
- 直播带货。

### 24.2 MVP 建议范围

第一版建议做：

- 宠物用品。
- 宠物食品。
- 猫砂 / 尿垫 / 清洁类消耗品。
- 基础宠物档案。
- 复购提醒。
- 普通售后。
- 批次追溯。
- 商家资质审核。

第一版不建议做：

- 活体交易。
- 处方兽药。
- 疫苗。
- AI 诊断。
- 宠物医院问诊。
- 复杂寄养服务。
- 直播带货。

### 24.3 业务边界验收

| 项目 | 风险说明 | 检查项 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|---|
| 商品范围 | 高风险商品进入 MVP | 类目白名单、禁售库 | 商品审核测试 | 中 | Blocker | MVP 只允许白名单类目 |
| 药品/医疗边界 | 保健品、驱虫、处方、疫苗风险 | 功效词、资质、人工审核 | 人工 | Critical / Blocker | 高风险默认不上线 |
| 活体交易 | 动物福利、资质、纠纷、运输 | 禁售/单独系统 | 人工 | Blocker | MVP 不做 |
| 服务预约 | 责任、保险、证据 | 服务者资质、协议 | 人工 | Critical | 非 MVP 或专项 |
| 社区/直播 | 内容审核和广告风险 | UGC 审核、举报 | 人工 | Critical | 非 MVP 或限制 |

---

## 25. 宠物商城平台范围

### 25.1 C 端

- iOS App。
- Android App。
- H5。
- 微信小程序。
- PC Web，可选。

### 25.2 B 端

- 商家后台。
- 供应商后台。
- 仓库 / WMS。
- 客服后台。
- 运营后台。
- 财务后台。
- 内容审核后台。
- 风控后台。

### 25.3 服务端

```md
pet-mall/
  apps/
    ios-app/
    android-app/
    h5/
    wechat-mini-program/
    merchant-web/
    admin-web/
    warehouse-web/
    customer-service-web/

  services/
    user-service/
    pet-profile-service/
    product-service/
    inventory-service/
    pricing-service/
    promotion-service/
    cart-service/
    order-service/
    payment-service/
    fulfillment-service/
    aftersale-service/
    review-service/
    content-service/
    notification-service/
    risk-service/
    audit-service/
    analytics-service/
```

宠物商城比普通商城多一个核心域：`pet-profile-service`，即宠物档案。它会影响推荐、复购、适用性、隐私、健康提醒、过敏风险和售后纠纷。

---

## 26. 宠物商城商品类目风险分级

| 类型 | 例子 | 风险等级 | 是否建议 MVP | 风险说明 | 审核要求 | 测试重点 | 阻断级别 |
|---|---|---:|---|---|---|---|---|
| 普通宠物用品 | 玩具、牵引绳、猫砂盆、梳子、笼子、衣服 | 低 | 是 | 尺寸、材质、误吞、伤害风险 | 普通商品审核、材质说明 | 规格、图片、库存、售后 | Major |
| 宠物消耗品 | 猫砂、尿垫、清洁湿巾、除臭剂 | 中 | 是 | 刺激性、重量、破损、物流 | 成分、规格、储存、物流 | 大件/重货运费、破损售后 | Major / Critical |
| 宠物食品 | 主粮、罐头、冻干、零食、奶粉 | 高 | 是，但必须做批次追溯 | 保质期、批次、适用阶段、质量问题 | 标签、成分、保质期、批次、供应商 | 临期、过期、召回、FEFO | Critical / Blocker |
| 宠物营养品 / 保健品 | 益生菌、鱼油、维生素、关节营养 | 高 | 谨慎 | 功效夸大、医疗边界 | 功效词审核、资质、免责声明 | 高风险词、推荐约束 | Critical |
| 驱虫 / 药品边界商品 | 体外驱虫、耳螨、皮肤喷剂 | 很高 | 不建议 MVP | 可能涉及兽药资质和医疗承诺 | 资质、处方、限售、地区规则 | 禁售库、人工审核 | Blocker / Critical |
| 处方兽药 / 疫苗 | 处方药、疫苗、抗生素、麻醉类 | 极高 | 不建议 | 强监管、高责任 | 单独合规系统 | 默认拦截 | Blocker |
| 活体宠物 | 猫、狗、兔、鸟、鱼、爬宠 | 极高 | 不建议 | 动物福利、检疫、运输、纠纷 | 单独资质、检疫、责任协议 | 默认禁售 | Blocker |
| 宠物服务 | 洗护、美容、寄养、上门喂养、训犬 | 高 | 谨慎 | 服务者资质、宠物受伤、丢失 | 门店/人员资质、保险、协议 | 预约、核销、纠纷证据 | Critical |
| 宠物医疗服务 | 问诊、医院预约、体检、疫苗提醒 | 极高 | 不建议默认 | 医疗合规、误诊、处方 | 医疗资质、免责声明 | 边界限制 | Blocker / Critical |
| 宠物社区内容 | 晒宠、种草、测评、直播 | 中高 | 谨慎 | UGC、虚假宣传、虐宠、引流 | 内容审核、举报、达人披露 | 审核、风控、举报 | Critical |

---

## 27. 禁售 / 限售商品库

### 27.1 默认禁售

- 处方兽药。
- 疫苗。
- 麻醉药。
- 抗生素类兽药。
- 无资质驱虫药。
- 三无宠物食品。
- 假冒品牌粮。
- 无授权进口粮。
- 未标注成分的宠物零食。
- 夸大治疗功效的保健品。
- 野生保护动物及制品。
- 活体猫狗交易，建议不做或单独合规系统。
- 危险训练器具。
- 可能伤害宠物的电击项圈等高争议商品。

### 27.2 禁售库验收

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 禁售商品上架 | 平台售卖高风险非法/违规商品 | 构造商品提交 | 自动化 + 人工 | Blocker | 禁售类目无法上架 |
| 高风险词规避 | 商家用谐音、图片、变体绕过 | 关键词 + OCR + 人工 | 半自动 | Critical | 命中审核 |
| 限售商品无资质售卖 | 商家资质缺失 | 资质匹配测试 | 半自动 | Blocker | 无资质不可售 |
| 禁售库维护 | 法规/政策变化未更新 | 定期审查 | 人工 | Critical | 有 owner 和更新时间 |
| 历史商品处理 | 新规则下历史商品仍可售 | 扫描历史商品 | 自动化 | Critical | 自动下架或审核 |

---

## 28. 宠物商城商品字段模型

### 28.1 基础字段

| 字段 | 是否必填 | 说明 |
|---|---|---|
| 商品名称 | 是 | 不得包含禁售/夸大词 |
| 品牌 | 是 | 品牌授权校验 |
| 类目 | 是 | 决定资质和审核规则 |
| 适用宠物 | 是 | 猫/狗/兔/鸟/鱼/爬宠等 |
| 适用年龄 | 是 | 幼年/成年/老年等 |
| 规格 | 是 | 重量、尺寸、数量 |
| 保质期 | 食品必填 | 天数或日期 |
| 生产日期 | 食品批次必填 | 可关联批次 |
| 批次号 | 食品必填 | 召回和追溯必须 |
| 产地 | 是 | 国产/进口 |
| 供应商 | 是 | 追责和召回 |
| 授权证明 | 视品牌 | 防假货 |
| 检测报告 | 食品/保健品 | 待确认要求 |
| 标签图片 | 食品/保健品 | OCR 审核 |
| 外包装图片 | 是 | 证据和审核 |
| 条码 | 建议 | 商品识别 |
| 储存条件 | 食品/消耗品 | 常温、避光、防潮、冷链 |

### 28.2 宠物食品字段

- 原料组成。
- 营养成分。
- 添加剂。
- 喂食建议。
- 适用阶段。
- 是否进口。
- 是否临期。
- 是否冷链。
- 是否需要召回追踪。

### 28.3 保健 / 医药边界字段

- 是否涉及治疗功效。
- 是否涉及疾病名称。
- 是否涉及驱虫、抗菌、消炎、止痛等表述。
- 是否需要资质。
- 是否需要处方。
- 是否允许平台销售。

### 28.4 示例数据模型

```json
{
  "sku_id": "sku_123",
  "species": ["cat"],
  "age_stage": ["kitten", "adult"],
  "food_type": "dry_food",
  "ingredients": ["salmon", "rice"],
  "allergen_tags": ["fish"],
  "shelf_life_days": 540,
  "storage_condition": "dry_cool_place",
  "batch_required": true,
  "medical_claim_risk": false
}
```

---

## 29. 商品审核流程与高风险词库

### 29.1 审核流程

```md
商家提交商品
  -> 类目识别
  -> 禁售词检查
  -> 功效词检查
  -> 图片 OCR
  -> 标签完整性检查
  -> 品牌授权检查
  -> 资质匹配
  -> 风险分级
  -> 人工审核
  -> 上架
  -> 抽检
  -> 投诉联动
  -> 下架 / 召回
```

### 29.2 高风险词库

- 治疗。
- 根治。
- 消炎。
- 抗菌。
- 杀虫。
- 驱虫。
- 耳螨。
- 皮肤病。
- 猫瘟。
- 犬瘟。
- 细小。
- 疫苗。
- 处方。
- 医生推荐。
- 兽医专用。
- 药效。
- 无副作用。
- 100% 有效。

### 29.3 图片审核

- 商品主图 OCR。
- 详情图 OCR。
- 包装标签 OCR。
- 品牌 Logo 检测。
- 医疗功效词检测。
- 虚假授权标识检测。
- 宠物虐待 / 不当展示检测。

### 29.4 审核验收

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 文本违规词 | 直接违规 | 构造商品名/详情 | 自动化 | Critical | 命中审核 |
| 图片违规词 | 图片规避文字审查 | OCR 样本 | 半自动 | Critical | 命中人工复核 |
| 类目误选 | 逃避资质 | 类目识别和人工复核 | 半自动 | Critical | 高风险类目不漏 |
| 品牌授权 | 假冒品牌 | 授权链路校验 | 人工 | Critical | 无授权不可上架 |
| 资质匹配 | 商家资质不覆盖类目 | 提交商品测试 | 自动化 | Blocker | 无资质不可售 |
| 审核后改详情 | 上架后加违规词 | 变更触发复审 | 自动化 | Critical | 关键字段改动复审 |
| 投诉联动 | 违规商品继续卖 | 投诉后冻结/复审 | 半自动 | Critical | 高风险投诉联动下架 |

---

## 30. 商家入驻与资质审核

### 30.1 基础资质

- 营业执照。
- 法人信息。
- 店铺名称。
- 联系方式。
- 经营范围。
- 对公账户。
- 品牌授权。
- 商标授权。
- 质检报告。
- 进口商品证明。
- 仓储地址。
- 发货地址。
- 售后地址。

### 30.2 类目资质

- 宠物食品销售资质。
- 品牌授权链路。
- 进口报关 / 检疫材料，按实际业务和地区判断。
- 宠物服务人员资质。
- 宠物医疗相关资质，若涉及。

### 30.3 资质生命周期

- 入驻审核。
- 类目审核。
- 商品审核。
- 资质过期提醒。
- 资质过期自动限制上架。
- 资质变更重新审核。
- 风险商家冻结。
- 商品抽检。
- 售后投诉联动降权。
- 虚假资质黑名单。

### 30.4 资质过期处理

- 不能新上架。
- 不能改价格继续卖。
- 高风险类目应自动下架。
- 已付款未发货订单进入人工审核。

### 30.5 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 假资质提交 | 虚假商家入驻 | 上传伪造/过期材料 | 人工 | Critical | 不通过 |
| 类目资质缺失 | 无资质卖食品/保健品 | 商家提交高风险商品 | 自动化 | Blocker | 不可上架 |
| 资质过期 | 到期后继续售卖 | 设置资质到期 | 自动化 | Blocker | 自动限制 |
| 资质变更 | 替换主体或授权 | 变更触发复审 | 半自动 | Critical | 未复审不可继续 |
| 投诉联动 | 高投诉商家继续卖 | 投诉样本 | 半自动 | Critical | 降权/冻结 |
| 历史责任 | 商家改名逃避责任 | 历史订单追踪 | 人工 | Critical | 责任链保留 |

---

## 31. 宠物档案与推荐系统

### 31.1 宠物档案字段

- 宠物类型：猫 / 狗 / 兔 / 鸟 / 鱼 / 爬宠。
- 年龄：幼年 / 成年 / 老年。
- 体重。
- 品种。
- 性别。
- 是否绝育。
- 过敏信息。
- 疾病史。
- 饮食偏好。
- 已购主粮。
- 疫苗 / 驱虫提醒。

示例：

```json
{
  "pet_id": "pet_123",
  "owner_user_id": "user_123",
  "species": "cat",
  "breed": "British Shorthair",
  "birth_date": "2023-05-01",
  "age_stage": "adult",
  "weight_kg": 4.8,
  "gender": "female",
  "neutered": true,
  "allergens": ["chicken"],
  "health_notes": ["sensitive stomach"],
  "food_preferences": ["grain-free"],
  "created_at": "...",
  "updated_at": "..."
}
```

### 31.2 推荐系统硬约束

禁止推荐：

- 不适用当前宠物物种的商品。
- 不适用年龄阶段的食品。
- 用户标记过敏原相关食品。
- 用户已投诉过的品牌。
- 已下架 / 召回 / 临期异常商品。
- 高风险保健品给未确认适用宠物。
- 医疗功效类商品通过算法暗示治疗。

### 31.3 隐私风险

- 多账号切换串宠物数据。
- 退出登录后宠物档案残留。
- 推荐系统采集过多行为数据。
- 宠物健康信息是否属于敏感数据，待确认目标市场规则。
- 隐私政策是否说明宠物档案用途。

### 31.4 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 猫推荐狗粮 | 商品适用性错误 | 宠物档案 + 推荐样本 | 自动化 | Critical | 不推荐不适用商品 |
| 过敏推荐 | 伤害宠物风险 | 设置过敏原 | 自动化 | Critical | 过滤过敏原 |
| 已召回商品推荐 | 严重风险 | 召回商品进入推荐池 | 自动化 | Blocker | 不出现 |
| 多账号串数据 | 隐私泄露 | A/B 切换 | 自动化 | Blocker | 完全隔离 |
| 退出后残留 | Widget / 缓存 / 推荐残留 | 退出重启 | 半自动 | Critical | 清理敏感数据 |
| 推荐采集声明 | 隐私不一致 | 数据流审查 | 人工 | Critical | 声明一致 |

---

## 32. 库存、批次、保质期与仓储

### 32.1 库存模型

- SKU 库存。
- 批次库存。
- 仓库库存。
- 可售库存。
- 锁定库存。
- 退货库存。
- 临期库存。
- 召回库存。
- 破损库存。
- 冻结库存。

### 32.2 批次追溯

订单必须能关联：

- batch_no。
- production_date。
- expiry_date。
- warehouse_id。
- supplier_id。
- inbound_record_id。
- outbound_record_id。

### 32.3 临期规则示例

| 距离过期 | 规则 |
|---|---|
| 180 天以上 | 正常售卖 |
| 90 天内 | 标记临期 |
| 60 天内 | 显著提示 |
| 30 天内 | 禁止普通售卖，只能特殊处理，待确认业务规则 |
| 已过期 | 禁止售卖，自动冻结库存 |

### 32.4 FEFO

食品类应使用 FEFO（First Expired, First Out，先到期先出库），不应只使用 FIFO。

### 32.5 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 过期批次可售 | 严重合规和安全风险 | 构造过期批次 | 自动化 | Blocker | 自动冻结不可售 |
| 临期无提示 | 用户投诉和质量风险 | 构造临期 | 自动化 | Critical | 显著提示 |
| 批次无法追溯 | 召回失败 | 订单关联检查 | 自动化 | Blocker | 每个食品订单有批次 |
| FEFO 失效 | 后到期先发导致临期积压 | 出库规则测试 | 自动化 | Critical | 先到期先出 |
| 退货入库 | 退货商品误入可售 | 售后退货 | 半自动 | Critical | 进入退货/冻结库存 |
| 多仓库存 | 超卖、拆单错误 | 多仓下单 | 自动化 | Critical | 库存和订单一致 |

---

## 33. 订单、支付与履约

### 33.1 下单前校验

- 商品是否上架。
- 商品是否可售。
- 商家资质是否有效。
- 商品批次是否可售。
- 是否临期。
- 是否库存充足。
- 是否支持当前地区配送。
- 是否需要冷链。
- 是否为高风险商品。
- 是否命中禁售地区。
- 是否需要用户确认适用性。
- 是否需要售前提示。

### 33.2 订单状态

- 待支付。
- 已支付。
- 待审核，高风险商品。
- 待拣货。
- 已锁库存。
- 已出库。
- 已发货。
- 运输中。
- 已签收。
- 售后中。
- 召回中。
- 已退款。
- 已关闭。

### 33.3 支付分类

实物商品：

- 宠物食品。
- 宠物用品。
- 猫砂。
- 洗护服务。
- 寄养服务。
- 线下服务预约。

数字权益：

- App 内数字会员。
- 虚拟积分。
- 付费内容。
- AI 宠物医生咨询次数包。
- 线上课程。
- 纯数字报告。

说明：实物商品一般可走微信 / 支付宝 / 银行卡 / Apple Pay / Google Pay / Stripe 等通道；数字权益可能触发 Apple IAP / Google Play Billing。具体规则需按目标市场、分发渠道和商品形态确认。支付金额、订单状态、权益发放必须以服务端为准，不能信任客户端金额。

### 33.4 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 下架商品下单 | 非法售卖 | 下架后下单 | 自动化 | Blocker | 拦截 |
| 商家资质过期仍发货 | 高风险 | 资质过期订单 | 自动化 | Blocker | 待审核/拦截 |
| 临期下单无提示 | 投诉 | 临期商品 | 自动化 | Critical | 显著提示 |
| 冷链城市不支持 | 履约失败 | 地址切换 | 自动化 | Critical | 不可下单或提示 |
| 重复支付 | 资金事故 | 连续点击/回调重放 | 自动化 | Blocker | 幂等 |
| 支付成功回调失败 | 丢单 | 故障注入 | 半自动 | Blocker | 最终修正 |
| 高风险商品自动发货 | 合规风险 | 高风险类目 | 自动化 | Critical | 进入审核 |
| 订单状态跨端不一致 | 用户/客服错乱 | App/H5/小程序/后台 | 自动化 | Blocker | 一致 |

---

## 34. 物流、冷链、大件、多仓

### 34.1 物流类型

- 普通快递。
- 宠物食品防潮配送。
- 冷链配送。
- 大件配送。
- 多仓发货。
- 拆单。
- 部分发货。
- 运输中拦截。

### 34.2 测试重点

- 偏远地区是否可配送。
- 高温地区是否限制配送。
- 冷链商品是否支持当前城市。
- 大件运费是否正确。
- 多仓拆单是否正确。
- 部分发货是否正确。
- 食品 + 普通用品 + 冷链是否拆单。
- 运输中拦截。
- 召回拦截。

### 34.3 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 冷链不支持城市下单 | 商品变质/履约失败 | 地址测试 | 自动化 | Critical | 拦截或提示 |
| 大件运费错误 | 财务损失/投诉 | 运费模板 | 自动化 | Major / Critical | 金额正确 |
| 多仓拆单错误 | 漏发/超卖 | 多仓订单 | 自动化 | Critical | 拆单正确 |
| 部分发货状态错误 | 用户误解 | 分批发货 | 自动化 | Major | 状态清晰 |
| 食品+冷链+普通品混发 | 储存条件不符 | 混合购物车 | 自动化 | Critical | 按规则拆单 |
| 运输中召回拦截 | 风险商品继续送达 | 召回演练 | 人工 | Critical | 可拦截或通知 |
| 破损/漏液 | 售后证据不足 | 售后流程 | 人工 | Major | 证据完整 |

---

## 35. 售后、纠纷与证据链

### 35.1 宠物商城售后原因

商品问题：

- 包装破损。
- 漏气。
- 发霉。
- 异味。
- 生虫。
- 临期。
- 过期。
- 假货疑似。
- 批次问题。
- 错发 / 漏发。

适用性问题：

- 宠物不吃。
- 过敏。
- 腹泻。
- 呕吐。
- 不适用当前宠物。
- 规格不合适。

服务问题：

- 预约失败。
- 服务人员迟到。
- 服务质量差。
- 宠物受伤。
- 服务门店拒单。

平台风险：

- 虚假宣传。
- 功效不符。
- 商家资质存疑。
- 价格欺诈。

### 35.2 售后证据

用户上传：

- 商品包装照片。
- 批次号照片。
- 生产日期照片。
- 宠物状态照片 / 视频。
- 快递包装照片。
- 购买记录。
- 医院证明，严重情况。

平台记录：

- 商品详情快照。
- 下单时价格。
- 下单时促销。
- 下单时商家资质。
- 发货批次。
- 仓库出库记录。
- 物流轨迹。
- 客服聊天记录。

商品详情快照非常重要。商家改详情页不能影响历史订单证据，纠纷处理必须能追溯当时的商品、价格、资质、批次和承诺。

### 35.3 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 售后原因缺失 | 无法分类处理 | 售后申请 | 自动化 | Major | 原因完整 |
| 批次证据缺失 | 无法追责/召回 | 食品售后 | 半自动 | Critical | 可上传/关联批次 |
| 商品快照缺失 | 商家改详情逃避责任 | 下单后改详情 | 自动化 | Critical | 历史快照保留 |
| 价格/促销快照缺失 | 价格纠纷 | 活动订单 | 自动化 | Major / Critical | 可追溯 |
| 客服记录缺失 | 无法复盘 | 工单处理 | 人工 | Major | 记录完整 |
| 医院证明处理 | 高风险纠纷 | 严重售后样本 | 人工 | Critical | 有升级流程 |
| 退款后状态错误 | 账务/订单错乱 | 退款测试 | 自动化 | Critical | 状态一致 |

---

## 36. 商品召回系统

### 36.1 召回触发

- 用户投诉集中。
- 商家主动上报。
- 平台抽检异常。
- 监管通知。
- 品牌方召回。
- 批次质量问题。

### 36.2 系统动作

- 冻结批次库存。
- 下架相关商品。
- 找出购买用户。
- 发送站内信 / 短信 / Push。
- 阻止继续发货。
- 拦截运输中订单。
- 发起退款 / 退货。
- 记录通知结果。
- 客服跟进。

### 36.3 召回通知字段

- 商品。
- 批次。
- 订单号。
- 购买时间。
- 风险说明。
- 处理方式。
- 客服联系。

### 36.4 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 批次召回无法定位用户 | 召回失败 | 批次订单查询 | 自动化 | Blocker | 可定位全部购买用户 |
| 召回后商品仍可售 | 风险扩大 | 召回触发 | 自动化 | Blocker | 自动下架/冻结 |
| 运输中无法拦截 | 风险商品送达 | 物流拦截演练 | 人工 | Critical | 可拦截或通知 |
| 通知失败无补偿 | 用户不知道风险 | Push/短信失败 | 半自动 | Critical | 有补发和客服跟进 |
| 召回退款不一致 | 财务错误 | 退款流程 | 自动化 | Critical | 对账一致 |
| 召回记录缺失 | 无法审计 | 审计日志 | 自动化 | Critical | 记录完整 |

---

## 37. 评价、内容社区、直播与种草风险

### 37.1 评价系统字段

- 评分。
- 文字。
- 图片。
- 视频。
- 宠物类型。
- 宠物年龄。
- 宠物体重。
- 是否挑食。
- 是否过敏。
- 适口性。
- 便便情况。
- 毛发变化。
- 复购意愿。
- 是否真实购买。
- 是否异常评价。
- 是否商家刷评。
- 是否水军。
- 是否恶意差评。

### 37.2 内容风险

- 虚假测评。
- 商家刷评。
- 达人收钱不标广告。
- 夸大功效。
- 宠物医疗建议。
- 虐宠内容。
- 活体交易引流。
- 私下交易。
- 假货推荐。
- 诱导加微信。
- 赌博抽奖。
- 未成年人内容。

### 37.3 内容审核

禁止或高风险内容：

- 虐宠。
- 活体非法交易。
- 野生动物交易。
- 医疗虚假宣传。
- 未授权品牌测评。
- 引导私下交易。
- 假货推广。
- 恶意差评。
- 商家刷单刷评。
- 医生身份造假。

### 37.4 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 虚假医疗功效评价 | 绕过商品审核 | 评价关键词 | 半自动 | Critical | 过滤/折叠/审核 |
| 商家刷评 | 误导用户 | 评价风控 | 中 | Critical | 异常识别 |
| 虐宠内容 | 内容合规风险 | 内容样本 | 人工 + 机审 | Critical | 拦截 |
| 私下交易引流 | 平台风险 | 链接/联系方式 | 半自动 | Critical | 拦截 |
| 活体交易引流 | 高风险 | 关键词/图片 | 半自动 | Blocker | 拦截 |
| 达人广告未披露 | 虚假种草 | 内容审核 | 人工 | Major / Critical | 标记广告 |
| 直播带货 | 主播/商品/内容多重风险 | 专项审核 | 人工 | Critical | 非 MVP 或专项上线 |

---

## 38. 宠物服务预约

如果支持服务预约，必须单独设计服务协议、责任边界、保险机制、证据留存、门店/服务者资质、客服升级流程。

### 38.1 用户侧

- 选择宠物。
- 选择服务。
- 选择门店 / 服务者。
- 选择时间。
- 支付定金 / 全款。
- 到店核销。
- 服务完成。
- 评价。
- 售后。

### 38.2 商家侧

- 排班。
- 接单。
- 拒单。
- 改期。
- 核销。
- 服务记录。
- 异常上报。

### 38.3 平台侧

- 服务类目审核。
- 服务者资质。
- 门店资质。
- 纠纷处理。
- 保险 / 赔付。

### 38.4 服务专项风险

- 宠物在洗护中受伤。
- 宠物寄养期间生病。
- 宠物丢失。
- 上门喂养进不了门。
- 服务者迟到。
- 用户临时取消。
- 商家临时取消。
- 服务质量争议。

### 38.5 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| 服务者无资质 | 责任风险 | 入驻审核 | 人工 | Critical | 无资质不可接单 |
| 排班冲突 | 超卖服务 | 时间段下单 | 自动化 | Major / Critical | 不超卖 |
| 改期/取消规则 | 纠纷 | 取消/改期场景 | 自动化 | Major | 规则清晰 |
| 到店核销 | 错核销/提前核销 | 核销测试 | 自动化 | Major | 状态正确 |
| 宠物受伤纠纷 | 高风险 | 售后升级演练 | 人工 | Critical | 有证据和保险流程 |
| 上门服务失败 | 进不了门/迟到 | 异常上报 | 人工 | Major | 可处理 |

---

## 39. 宠物医疗 / AI 问诊边界

### 39.1 可以做

- 健康知识科普。
- 疫苗提醒。
- 驱虫提醒。
- 体检提醒。
- 附近医院预约。
- 非诊断类建议。

### 39.2 谨慎做 / MVP 不建议

- 症状判断。
- 用药建议。
- 疾病诊断。
- AI 问诊。
- 处方推荐。

### 39.3 必须有免责声明

> 本功能仅提供宠物健康知识参考，不能替代兽医诊断、治疗或处方建议。如宠物出现异常症状，请及时前往正规宠物医院就诊。

### 39.4 验收表

| 检查项 | 风险说明 | 测试方法 | 自动化可行性 | 阻断级别 | 通过标准 |
|---|---|---|---|---|---|
| AI 给出处方建议 | 医疗风险 | 红队 prompt | 半自动 | Blocker | 拒绝或建议线下就医 |
| 商品推荐暗示治疗 | 规避医疗监管 | 推荐样本 | 半自动 | Critical | 不暗示治疗 |
| 免责声明缺失 | 用户误解 | UI 审查 | 人工 | Critical | 清晰展示 |
| 记录健康信息未声明 | 隐私风险 | 数据流审查 | 人工 | Critical | 隐私声明一致 |
| 医生身份造假 | 内容/服务风险 | 资质审核 | 人工 | Blocker | 无资质不可展示 |

---

## 40. 宠物商城自动化测试策略

### 40.1 C 端适合自动化

- 注册登录。
- 添加宠物档案。
- 搜索商品。
- 筛选猫 / 狗商品。
- 商品详情。
- 加购。
- 下单。
- 支付 mock。
- 订单列表。
- 售后申请。
- 评价。
- 优惠券。
- 复购提醒。

### 40.2 B 端适合自动化

- 商家入驻。
- 商品提交。
- 商品审核。
- 批次入库。
- 库存调整。
- 订单发货。
- 售后处理。
- 资质过期。

### 40.3 必须人工 / 专项

- 商品资质审核。
- 包装标签 OCR 结果复核。
- 宠物食品功效宣传判断。
- 活体 / 药品边界判断。
- 复杂售后纠纷。
- 服务预约纠纷。
- App Store / 小程序审核。
- 多厂商 Android 权限和推送。
- 真实支付回调。
- 召回演练。

### 40.4 自动化分层

| 层级 | 范围 | 目标 | 工具建议 |
|---|---|---|---|
| 单元测试 | 商品规则、临期、库存、资质、推荐约束 | 快速验证业务规则 | XCTest / JUnit / Jest / pytest |
| API 测试 | 商品、订单、支付、库存、售后、召回 | 服务端状态机和幂等 | Postman / pytest / Contract Test |
| UI 自动化 | C 端主链路、B 端流程 | 回归 | Appium / XCUITest / Espresso / Playwright |
| 数据一致性测试 | App/H5/小程序/后台 | 跨端状态一致 | API + UI 混合 |
| 安全测试 | 支付篡改、越权、Deep Link、WebView | 防攻击 | MASTG / Burp / 自研脚本 |
| 人工专项 | 审核、资质、真机、召回、复杂售后 | 判断和证据 | 测试用例 + 工单 |

---

## 41. 宠物商城 P0 测试用例

### 41.1 商品治理

| 用例 | 期望 | 阻断级别 |
|---|---|---|
| 三无宠物食品能否上架 | 不允许上架 | Blocker |
| 过期批次能否售卖 | 不允许售卖 | Blocker |
| 商家资质过期后能否继续发货 | 高风险类目自动拦截或进入人工审核 | Blocker |
| 商品详情改动后历史订单快照是否保留 | 历史快照不变 | Critical |
| 违规功效词是否拦截 | 命中审核 | Critical |
| 图片中违规功效词是否 OCR 识别 | 命中复核 | Critical |

### 41.2 订单

| 用例 | 期望 | 阻断级别 |
|---|---|---|
| 临期商品是否提示 | 显著提示 | Critical |
| 不同仓库是否正确拆单 | 拆单和库存正确 | Critical |
| 冷链商品是否限制城市 | 不支持城市不可下单 | Critical |
| 高风险商品是否进入审核 | 不自动发货 | Critical |
| 支付成功但订单回调失败是否修正 | 最终一致 | Blocker |
| 重复支付是否防止 | 幂等防重复 | Blocker |

### 41.3 售后

| 用例 | 期望 | 阻断级别 |
|---|---|---|
| 用户投诉食品发霉是否能追溯批次 | 可追溯供应商、仓库、批次、用户 | Blocker |
| 批次召回是否能定位购买用户 | 可定位全部用户 | Blocker |
| 召回商品是否自动下架 | 下架并冻结库存 | Blocker |
| 售后证据是否完整保存 | 证据链完整 | Critical |

### 41.4 宠物档案

| 用例 | 期望 | 阻断级别 |
|---|---|---|
| 猫用户是否会推荐狗粮 | 不推荐 | Critical |
| 过敏宠物是否会推荐过敏原商品 | 不推荐 | Critical |
| 退出账号后宠物档案是否清理 | 不残留 | Critical |
| 多账号切换是否串宠物数据 | 不串号 | Blocker |

### 41.5 商家

| 用例 | 期望 | 阻断级别 |
|---|---|---|
| 假资质能否通过 | 不通过 | Critical |
| 资质过期是否自动限制 | 自动限制 | Blocker |
| 被处罚商家是否还能上架 | 不可或需复审 | Critical |
| 商家改名后历史责任是否可追踪 | 可追踪 | Critical |

### 41.6 全平台

| 用例 | 期望 | 阻断级别 |
|---|---|---|
| iOS / Android / H5 / 小程序订单状态是否一致 | 一致 | Blocker |
| 小程序下单 App 能否查看 | 可查看 | Critical |
| App 售后后台能否处理 | 可处理 | Critical |
| 商家后台发货 C 端是否实时同步 | 同步或最终一致 | Critical |

---

## 42. 宠物商城 Release Gate

### 42.1 Blocker：存在一个就不能上线

| Blocker | 说明 |
|---|---|
| 可以上架禁售商品 | 包括处方兽药、疫苗、三无食品、假冒品牌、活体等 |
| 可以售卖过期食品 | 批次过期仍可下单 |
| 批次无法追溯 | 食品订单无法关联批次、仓库、供应商 |
| 支付成功订单丢失 | 扣款后订单/权益无法恢复 |
| 退款后权益 / 订单状态错误 | 退款成功但订单或权益未正确处理 |
| 商家资质过期仍可售卖高风险类目 | 食品、保健、服务等高风险类目 |
| 召回无法定位购买用户 | 批次召回无法通知用户 |
| 用户 A 能看到用户 B 的宠物档案 / 地址 / 订单 | 隐私泄露 |
| 生产包连接测试环境 | App / 小程序 / H5 / 后台任一生产入口连接错误 |
| App / 小程序 / H5 订单状态不一致 | 跨端交易状态不一致 |
| 隐私政策、Data Safety、App Store 隐私标签和实际数据采集不一致 | 宠物档案、推荐、SDK、埋点未披露 |
| 高风险医疗/处方/活体功能未评估上线 | MVP 直接做高风险业务 |

### 42.2 Critical：必须修复后才能全量

| Critical | 说明 |
|---|---|
| 临期提示不明显 | 用户无法感知临期 |
| 商品详情历史快照缺失 | 纠纷无法举证 |
| 售后证据不完整 | 批次、包装、快递、宠物状态、客服记录缺失 |
| 推荐系统推荐不适用商品 | 猫推狗粮、过敏原、召回商品等 |
| 商家资质即将过期无提醒 | 可能导致高风险类目继续销售 |
| Push / 短信召回通知失败无补偿 | 召回无法触达 |
| 冷链商品未限制地区 | 变质/履约失败 |
| 高风险商品审核绕过 | 直接上架或自动发货 |
| 图片 OCR 无法覆盖高风险词 | 商家通过图片规避审核 |
| 服务预约无纠纷升级流程 | 宠物受伤、丢失、延误无法处理 |

---

# 第三卷：通用框架与宠物商城案例映射关系

| 能力 / 风险项 | 所有 App 必须做 | 移动端 App 必须做 | 电商类 App 必须做 | 宠物商城特有 | 高风险业务才需要做 | MVP 是否需要 | 说明 |
|---|---|---|---|---|---|---|---|
| Release Gate | 是 | 是 | 是 | 是 | 是 | 是 | 所有上线都必须有阻断标准 |
| Build Manifest | 是 | 是 | 是 | 是 | 是 | 是 | 生产包可审计 |
| SDK Inventory | 是 | 是 | 是 | 是 | 是 | 是 | 第三方 SDK 数据和风险必须登记 |
| Safe Area | 否 | 是 | 是 | 是 | 否 | 是 | iOS 基础适配 |
| Android WindowInsets / Cutout | 否 | 是 | 是 | 是 | 否 | 是 | Android 基础适配 |
| Runtime Permission | 否 | 是 | 是 | 是 | 视权限 | 是 | 权限拒绝和降级必须测 |
| App Store / Google Play 审核 | 否 | 是 | 是 | 是 | 是 | 是 | 商店分发必须做 |
| H5 / WebView 安全 | 视业务 | 视业务 | 常见 | 常见 | 是 | 视业务 | Hybrid 才需要深做 |
| 微信小程序审核 | 否 | 否 | 视业务 | 视业务 | 视业务 | 视渠道 | 只做小程序时必需 |
| 支付服务端校验 | 视业务 | 视业务 | 是 | 是 | 是 | 是 | 电商必需 |
| Apple IAP / Play Billing | 否 | 视业务 | 视业务 | 视业务 | 是 | 视业务 | 数字权益才高风险 |
| 订单状态机 | 否 | 视业务 | 是 | 是 | 是 | 是 | 有交易必需 |
| 退款 / 对账 | 否 | 视业务 | 是 | 是 | 是 | 是 | 有支付必需 |
| 旧 App 兼容 | 否 | 是 | 是 | 是 | 是 | 是 | 移动端无法强制用户立即升级 |
| 灰度 / 回滚 / Kill Switch | 是 | 是 | 是 | 是 | 是 | 是 | 生产事故控制 |
| 可观测性 | 是 | 是 | 是 | 是 | 是 | 是 | 崩溃、支付、白屏、接口必须监控 |
| 账号删除 / 数据删除 | 视账号 | 是，若有账号 | 是 | 是 | 是 | 是 | 有账号创建时需提供路径 |
| 平台账号治理 | 是 | 是 | 是 | 是 | 是 | 是 | Apple / Google / 微信 / 支付账号 |
| 财务税务收款 | 视业务 | 视业务 | 是 | 是 | 是 | 是 | 有交易或订阅必需 |
| 商品中心 | 否 | 否 | 是 | 是 | 是 | 是 | 电商必需 |
| 商品详情快照 | 否 | 否 | 是 | 是 | 是 | 是 | 纠纷证据 |
| 商家资质 | 否 | 否 | 平台型需要 | 是 | 是 | 是，若平台型 | 自营也需供应商资质 |
| 批次追溯 | 否 | 否 | 食品类需要 | 是 | 是 | 是 | 宠物食品必须考虑 |
| 保质期 / 临期 | 否 | 否 | 食品/消耗品需要 | 是 | 是 | 是 | 宠物食品 P0 |
| FEFO | 否 | 否 | 食品类需要 | 是 | 是 | 是 | 先到期先出 |
| 商品召回 | 否 | 否 | 食品类需要 | 是 | 是 | 是 | 宠物食品 P0 |
| 宠物档案 | 否 | 否 | 否 | 是 | 视业务 | 是，基础版 | 宠物商城推荐和复购核心 |
| 适用性推荐约束 | 否 | 否 | 否 | 是 | 是 | 是 | 防猫推狗粮、过敏原 |
| 禁售 / 限售商品库 | 否 | 否 | 视类目 | 是 | 是 | 是 | 宠物食品/药品/活体边界 |
| 活体交易审核 | 否 | 否 | 否 | 特有 | 是 | 不建议 | MVP 不建议做 |
| 处方兽药 / 疫苗 | 否 | 否 | 否 | 特有 | 是 | 不建议 | 需要单独合规系统 |
| 宠物服务预约 | 否 | 否 | 视业务 | 特有 | 是 | 谨慎 | 洗护/寄养等高纠纷 |
| 宠物医疗 / AI 问诊 | 否 | 否 | 否 | 特有 | 是 | 不建议 | 高风险，需免责声明和资质 |
| 内容社区 / 种草 | 否 | 视业务 | 视业务 | 常见 | 是 | 谨慎 | UGC、虚假宣传、虐宠 |
| 直播带货 | 否 | 视业务 | 视业务 | 可选 | 是 | 不建议 | 内容、商品、主播多重风险 |
| 冷链 / 大件 / 多仓 | 否 | 否 | 视商品 | 是 | 是 | 视商品 | 食品、大袋粮、猫砂常见 |
| 售后证据链 | 视业务 | 视业务 | 是 | 是 | 是 | 是 | 包装、批次、宠物状态、快照 |
| 运营后台 / 客服闭环 | 视业务 | 视业务 | 是 | 是 | 是 | 是 | 交易与投诉必需 |

---

# 补充风险

以下为历史材料基础上进一步补齐的工程风险。若项目属于相关场景，应纳入专项。

| 补充风险 | 说明 | 建议动作 | 阻断级别 |
|---|---|---|---|
| 数据主权 / 跨境传输 | 出海、境外云、跨境客服、海外 AI 模型 | 做数据流向图和地区合规评估 | Critical |
| 广告与归因 SDK | IDFA/GAID、ATT、跨 App 跟踪、再营销 | SDK Inventory + 隐私声明 + 授权 | Critical |
| A/B 实验伦理 | 默认收集、诱导授权、暗黑模式 | 实验审核和用户退出机制 | Major / Critical |
| 体验伦理 | 诱导通知、诱导通讯录、弱化取消订阅 | 设计评审 | Major / Critical |
| 证书密钥台账 | APNs、TLS、支付、OAuth、短信、地图等过期 | 建台账、提前告警 | Critical |
| 外部服务 SLA | 短信、邮件、支付、推送、地图、CDN、AI | 备用方案和事故演练 | Critical |
| 行业法律专项 | 金融、医疗、儿童、宠物药品、活体交易 | 单独法律评审 | Blocker / Critical |
| App 扩展入口隐私 | Widget、Live Activity、Share Extension | 退出登录清理、锁屏脱敏 | Critical |
| 开发者账号风险 | 个人账号、2FA、唯一管理员、账号封禁 | 公司主体和备用管理员 | Critical |
| 非商店分发变化 | Android sideload、APK、企业包 | 目标国家政策跟踪 | Critical / 待确认 |

---

# 待确认问题

| 待确认项 | 为什么需要确认 | 负责人建议 |
|---|---|---|
| 目标国家 / 地区 | 宠物食品、兽药、隐私、税务、支付、分发规则依地区不同 | 产品 + 合规 |
| 是否平台型电商还是自营 | 商家资质、结算、售后、平台责任不同 | 产品 |
| 是否销售保健品 / 驱虫类 | 可能进入兽药或医疗边界 | 产品 + 法务 |
| 是否涉及进口商品 | 报关、检疫、标签、授权要求不同 | 供应链 + 法务 |
| 是否做活体交易 | MVP 不建议，若做需单独系统 | 产品 + 法务 + 风控 |
| 是否做宠物服务预约 | 洗护、寄养、上门服务有责任和保险问题 | 产品 + 运营 |
| 是否做 AI 问诊 | 可能涉及医疗误导和高风险建议 | 产品 + 安全 + 法务 |
| 是否做社区 / 直播 | UGC、达人广告、内容审核成本 | 产品 + 内容审核 |
| 是否有数字会员 / AI 次数包 | 可能触发 IAP / Play Billing | 产品 + 合规 + 支付 |
| 是否出海 | 隐私、数据跨境、支付税务、商店规则 | 战略 + 合规 |
| 目标崩溃率 / 性能阈值 | Release Gate 需要量化阈值 | QA + SRE |
| 召回通知 SLA | 食品召回需要响应时限 | 运营 + 客服 + 法务 |
| 证书密钥负责人 | 过期风险需要 owner | SRE + 安全 |

---

# 建议下一步拆分的专项文档

1. 《iOS App 上架与隐私审核专项 Checklist》
2. 《Android targetSdk / 权限 / 分发渠道专项 Checklist》
3. 《Mobile App Build Manifest 与 CI 发布门禁规范》
4. 《SDK Inventory 与隐私数据流盘点模板》
5. 《移动端支付、订阅、退款、对账专项测试规范》
6. 《WebView / JSBridge / Deep Link 安全测试规范》
7. 《移动端灰度、回滚、Kill Switch 与事故演练 Runbook》
8. 《宠物商城商品治理与禁售 / 限售商品库》
9. 《宠物食品批次追溯、保质期、FEFO 与召回系统规范》
10. 《宠物商城商家资质、商品审核与售后证据链规范》
11. 《宠物档案、推荐系统和隐私合规专项规范》
12. 《宠物服务预约、宠物医疗 / AI 问诊边界专项评估》
13. 《客服、投诉、申诉、退款与运营后台闭环规范》
14. 《平台账号、主体、财务、税务、收款与证书密钥台账》

---

# 附录 A：官方资料索引

> 以下资料用于校验政策和平台敏感项。实际项目应在每次发版前重新核对官方页面，因为 App Store、Google Play、Android 系统和小程序规则会持续变化。

| 主题 | 官方资料 |
|---|---|
| Apple App Review Guidelines | Apple Developer：App Review Guidelines |
| Apple 第三方 SDK / Privacy Manifest | Apple Developer：Third-party SDK requirements；Privacy manifest files；Required Reason API |
| Apple 隐私与数据使用 | Apple Developer：User Privacy and Data Use；App Store Connect App Privacy Details |
| Apple Keychain | Apple Developer：Keychain Services / Storing Keys in the Keychain |
| Android 运行时权限 | Android Developers：Request runtime permissions |
| Android Display Cutout / WindowInsets | Android Developers：Support display cutouts；WindowInsets / edge-to-edge docs |
| Android 大屏 / 折叠屏 | Android Developers：Support different display sizes |
| Android 16 行为变化 | Android Developers：Behavior changes: all apps；Behavior changes for Android 16 target |
| Google Play target API | Play Console Help：Target API level requirements |
| Google Play Payments | Play Console Help：Payments |
| Google Play Data Safety | Play Console Help：Provide information for Google Play's Data safety section |
| Google Play User Data / Disclosure | Play Console Help：Developer Program Policy / User Data / Prominent Disclosure |
| Google Play Foreground Service / Full-screen Intent | Play Console Help：Understanding foreground service and full-screen intent requirements |
| Google Play Account Deletion | Play Console Help：Understanding Google Play's app account deletion requirements |
| Android Developer Verification | Android Developers：Android developer verification timeline |
| OWASP MASVS | OWASP MASVS / MASTG |

---

# 附录 B：Release Gate 签字模板

```md
版本：
平台：iOS / Android / H5 / 小程序 / 后台 / 服务端
构建编号：
Commit：
发布日期：
灰度范围：
回滚方案：
Kill Switch：是 / 否

产品负责人：
移动端负责人：
服务端负责人：
QA 负责人：
安全负责人：
隐私合规负责人：
运营负责人：
客服负责人：
财务负责人，若涉及支付：

Blocker：0 / 非 0
Critical：0 / 非 0
Major：
Minor：

结论：允许上线 / 允许灰度 / 禁止上线 / 待补充验证
备注：
```

---

# 附录 C：证书密钥台账模板

| 名称 | 用途 | 所属平台 | 创建人 | 管理人 | 存储位置 | 过期时间 | 轮换方式 | 影响范围 | 过期前告警 | 备注 |
|---|---|---|---|---|---|---|---|---|---|---|
| APNs Key | iOS 推送 | Apple | 待确认 | 待确认 | 密钥库 | 待确认 | 待确认 | 推送 | 90/30/7 天 |  |
| TLS 证书 | API HTTPS | 云平台 | 待确认 | 待确认 | 证书管理 | 待确认 | 自动/手动 | 全站 | 30/7 天 |  |
| 支付证书 | 支付验签 | 支付平台 | 待确认 | 待确认 | 密钥库 | 待确认 | 手动 | 支付/退款 | 30/7 天 |  |
| OAuth Secret | 第三方登录 | OAuth | 待确认 | 待确认 | 密钥库 | 待确认 | 手动 | 登录 | 30/7 天 |  |
| 地图 SDK Key | 地图定位 | 地图平台 | 待确认 | 待确认 | 配置中心 | 待确认 | 手动 | 地图/配送 | 30/7 天 |  |

---

# 附录 D：宠物商城核心上线证据清单

- 商品类目白名单和禁售库截图。
- 商家资质审核流程截图。
- 商品提交、审核、上架、下架、召回流程截图。
- 食品批次入库、下单关联、售后追溯截图。
- 临期/过期商品拦截测试报告。
- FEFO 出库规则测试报告。
- 支付 mock 与真实小额支付回调证据。
- 退款和对账报告。
- 售后证据链样例。
- 批次召回演练记录。
- 宠物档案跨账号隔离测试报告。
- 推荐系统适用性约束测试报告。
- App / H5 / 小程序 / 后台订单状态一致性报告。
- 隐私政策、Data Safety、App Store 隐私标签、SDK Inventory 一致性审查记录。
- iOS / Android 真机矩阵截图。
- Build Manifest。
- Release Gate 签字。
