diff --git a/docs/product/compliance-product-plan.md b/docs/product/compliance-product-plan.md index c080bc5..211acba 100644 --- a/docs/product/compliance-product-plan.md +++ b/docs/product/compliance-product-plan.md @@ -1,17 +1,19 @@ -# CreatorHub 内部技术探索方案(审查稿) +# CreatorHub 内部技术探索方案 -> 状态:待审查,暂不入库 -> 日期:2026-08-27 +> 状态:已入库,阶段 A 按单用户范围验证 +> 日期:2026-08-27 > 上游参考快照:`3441293738/creatorhub@11df1389ee557169bb2381e5ea08de96f14f80c7` ## 1. 定位 CreatorHub 是一个**内部、非公开**的多账号运行环境与运营任务技术实验台,只处理团队自有或已获明确授权的账号。 +阶段 A 采用单用户模式,只用于验证账号隔离、任务幂等、停止和审计等核心能力。多用户协作、账号负责人、RBAC 和职责隔离后续另行规划,不属于当前实现或验收范围。 + 当前目标不是形成对外产品承诺,而是回答三个工程问题: 1. 多账号 Profile、运行时和网络出口能否稳定隔离并可复现; -2. 账号、负责人、任务和执行证据能否形成最小可审计闭环; +2. 账号、单用户确认、任务和执行证据能否形成最小可审计闭环; 3. 平台页面、登录态或运行环境变化时,系统能否及时观测、停止并安全恢复。 判断标准是实验可复现、凭据不泄露、账号不串用、任务不重复、异常可停止;不以“通过平台检测”或“降低封禁率”作为指标。 @@ -24,13 +26,14 @@ CreatorHub 是一个**内部、非公开**的多账号运行环境与运营任 - 团队自有或有明确授权记录的测试账号; - 指纹 Chromium 与系统 Chrome 的运行时接入、版本固定和 Profile 隔离; - 受管网络出口的绑定、健康观测和失败关闭; -- 账号台账、负责人、凭据引用和状态; -- 草稿、审核、队列、执行结果、暂停和审计; +- 账号台账、凭据引用和状态; +- 草稿、单用户显式确认、队列、执行结果、暂停和审计; - 授权沙箱中的兼容性矩阵、黑盒观测和停止条件。 ### 暂不纳入 - 公众注册、多租户 SaaS、计费、客服和 SLA; +- 多用户协作、账号负责人、RBAC 和职责隔离; - 市场推广、外部客户承诺和规模化部署; - 自动评论、批量私信、自动关注、刷量和未授权数据采集; - 验证码或设备校验绕过、私有签名、逆向接口、TLS/JA3/指纹伪装; @@ -46,8 +49,8 @@ P0 是首轮验证必需,P1 仅在 P0 通过后开展。 |---|---|---|---| | 运行环境 | 每账号独立 Profile;运行时版本固定;单实例占用锁;环境变更留痕;浏览器崩溃可见 | 升级灰度、备份恢复、跨 OS 兼容矩阵 | Profile 串用、版本漂移、设备校验或未知挑战页 | | 网络出口 | 账号稳定绑定;连通性与认证观测;出口失效时禁止静默直连;凭据脱敏 | 容量、延迟、可用率和成本统计 | 出口地址/地区异常变化、认证失败、网络策略不明确 | -| 账号池 | 自有/授权标记;平台账号唯一键;凭据只存引用;状态和撤销;负责人必填 | 标签、归档、批量交接、登录态健康 | 授权不明、账号映射冲突、凭据进入日志 | -| 负责人 | Admin / Operator / Reviewer 最小角色;账号级授权;人工审批;紧急停机;追加式审计 | 临时授权、职责冲突提醒、审计导出 | 越权、审批版本不一致、无法确认操作者 | +| 账号池 | 自有/授权标记;平台账号唯一键;凭据只存引用;状态和撤销 | 标签、归档、登录态健康 | 授权不明、账号映射冲突、凭据进入日志 | +| 单用户确认 | 草稿显式确认;确认版本锁定;紧急停机;追加式审计 | 多用户、负责人和 RBAC 另行规划 | 确认版本不一致、无法确认操作者 | | 任务编排 | capability allowlist;幂等键;单次提交;暂停/取消;明确结果证据;`needs_confirmation` | 排期、失败分类、人工恢复和只读健康看板 | 403/429、验证码、设备校验、平台警告、结果不确定 | ## 4. 最小系统形态 @@ -71,16 +74,16 @@ Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。 ### 最小实体 -- `member`, `social_account`, `account_assignment`, `credential_ref` +- `social_account`, `credential_ref` - `runtime_profile`, `network_exit`, `environment_binding` -- `content_draft`, `approval`, `operation_task`, `execution_attempt` +- `content_draft`, `confirmation`, `operation_task`, `execution_attempt` - `observation_event`, `audit_event` 任务状态: -`draft → pending_review → approved → queued → executing → succeeded / failed / needs_confirmation / policy_hold / cancelled` +`draft → pending_confirmation → confirmed → queued → executing → succeeded / failed / needs_confirmation / policy_hold / cancelled` -`needs_confirmation` 与 `policy_hold` 只能由负责人核验后处理,不自动重试。 +`needs_confirmation` 与 `policy_hold` 只能由当前用户核验后处理,不自动重试。 ## 5. 授权沙箱威胁模型 @@ -88,7 +91,7 @@ Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。 - 账号凭据、Cookie/token、Profile 与本地存储; - 草稿、媒体、私信或其他账号数据; -- 负责人授权、审批版本和执行证据; +- 单用户确认版本和执行证据; - 网络出口凭据与环境观测数据。 ### 高层威胁与控制 @@ -98,11 +101,10 @@ Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。 | Profile 或账号串用 | 当前账号标识与任务账号不一致 | 执行前双重校验、每账号锁、立即停机 | | 凭据泄露 | 日志/错误/导出中出现敏感字段 | Secret 引用、结构化脱敏、敏感字段扫描 | | 环境兼容性漂移 | 浏览器版本、启动结果、页面能力或登录态变化 | 固定版本、记录变更、按兼容矩阵回归;不猜测检测机制 | -| 网络出口漂移 | 出口健康、地址或地区标签变化 | 稳定绑定、变更审批、失败关闭;不自动换出口继续 | -| 重复或错误写入 | 重复任务、账号/草稿/审批版本不一致 | 唯一幂等键、版本锁定、一次提交、结果核验 | -| 平台挑战或限制 | 验证码、设备校验、403/429、警告、未知阻断页 | 暂停账号和相关任务,保存最小证据,交负责人手工核验 | +| 网络出口漂移 | 出口健康、地址或地区标签变化 | 稳定绑定、变更确认、失败关闭;不自动换出口继续 | +| 重复或错误写入 | 重复任务、账号/草稿/确认版本不一致 | 唯一幂等键、版本锁定、一次提交、结果核验 | +| 平台挑战或限制 | 验证码、设备校验、403/429、警告、未知阻断页 | 暂停账号和相关任务,保存最小证据,交当前用户手工核验 | | 浏览器/UI 变化 | 元素缺失、导航异常、成功证据缺失 | 连接器隔离、明确超时、进入 `needs_confirmation` | -| 越权操作 | 成员尝试访问或执行未分配账号 | 服务端授权校验、拒绝并写审计 | 威胁模型只记录外部可见信号、影响和停止策略,不记录平台内部检测项猜测、规避参数或可操作绕过步骤。 @@ -115,7 +117,7 @@ Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。 - 网络出口的内部标签与健康状态,不记录可复用凭据; - 开始/结束时间、任务状态、浏览器退出码、页面可用性; - 平台返回的通用状态分类:成功、认证失效、限流、挑战、未知; -- 操作者、批准版本、停止原因和人工核验结论。 +- 当前用户、确认版本、停止原因和人工核验结论。 ### 不记录 @@ -132,16 +134,20 @@ Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。 ### 阶段 A:离线闭环 -范围:1 workspace、2 个内部角色、2 个虚拟账号、Mock 连接器、20 个任务。 +范围:1 workspace、1 个内部用户、2 个虚拟账号、Mock 连接器、20 个任务。 + +阶段 A 仅验证单用户核心闭环;负责人、RBAC、多用户协作和职责隔离不属于本阶段验收。 验收: -- 越权测试全部被拒绝; +- 单用户从账号配置、草稿、显式确认到 Mock 执行和审计回溯的核心闭环可重复验证; - 20 个任务重复执行为 0; -- 账号、草稿或审批版本不一致时执行为 0; +- 账号、草稿或确认版本不一致时执行为 0; - 暂停账号后 1 分钟内不再领取新任务; - 日志、错误、导出中无密码、Cookie/token 和网络凭据; -- 每个结果都能回溯到账号、负责人、批准版本和执行尝试。 +- 每个结果都能回溯到账号、单用户确认版本和执行尝试。 + +阶段 B/C 仅保留后续验证门槛,本轮不实施、不接入真实平台;进入任一阶段前需重新规划并审查范围。 ### 阶段 B:本地授权沙箱 @@ -150,19 +156,19 @@ Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。 验收: - 连续 10 次启动均命中同一账号与 Profile,无串用; -- 运行时或出口配置变化会阻止任务并要求负责人确认; +- 运行时或出口配置变化会阻止任务并要求当前用户确认; - 浏览器崩溃、登录失效、挑战页和网络失败都能进入明确停止状态; - 不通过自动刷新、重试、换出口或换环境消除异常。 ### 阶段 C:受控写入 -前提:阶段 A/B 通过;账号负责人明确批准;连接器 capability 已核验。 +前提:阶段 A/B 通过;当前用户明确确认;连接器 capability 已核验。 -范围:同一自有测试账号,5 个低风险草稿,逐次人工审批和原生平台核验。 +范围:同一自有测试账号,5 个低风险草稿,逐次显式确认和原生平台核验。 验收: -- 重复写入、错账号写入、未审批写入均为 0; +- 重复写入、错账号写入、未确认写入均为 0; - 5 次执行都有明确成功证据或进入 `needs_confirmation`; - 任一停止条件出现即终止本阶段,不扩大样本。 @@ -171,14 +177,14 @@ Secret Manager / OS Keyring 只保存凭据,数据库仅存引用。 ### 立即停止条件 - 验证码、设备校验、平台警告、403/429 或未知挑战页; -- 账号、Profile、网络出口或审批版本不一致; +- 账号、Profile、网络出口或确认版本不一致; - 代理认证失败、出口异常变化或发生静默直连; - 提交结果不确定、浏览器崩溃或成功证据缺失; -- 凭据泄露、越权或跨账号数据出现。 +- 凭据泄露或跨账号数据出现。 ### 恢复条件 -只允许负责人在原生平台/可见浏览器中完成核验,并记录原因与结论后恢复。恢复沿用原账号、原 Profile 和已批准环境;不得通过换代理、换设备、换身份、自动刷新或规避步骤推进实验。 +只允许当前用户在原生平台/可见浏览器中完成核验,并记录原因与结论后恢复。恢复沿用原账号、原 Profile 和已确认环境;不得通过换代理、换设备、换身份、自动刷新或规避步骤推进实验。 ## 9. 审查决策