diff --git a/.trellis/spec/hyb-oa/security-privacy.md b/.trellis/spec/hyb-oa/security-privacy.md index e0a2c28b..53aa1351 100644 --- a/.trellis/spec/hyb-oa/security-privacy.md +++ b/.trellis/spec/hyb-oa/security-privacy.md @@ -107,3 +107,51 @@ if (requiresDownloadReason(attachment) && !reason) { await prisma.auditLog.create({ data: buildDownloadAudit({ attachment, reason }) }); return reply.send(stream); ``` + +## Scenario: Company Documents And OA Collaboration + +### 1. Scope / Trigger + +- Trigger: mapping company electronic documents, policy files, operations + guidance, employee collaboration tasks or external-review materials into OA. +- Applies to docs, specs, evidence, tasks, OA attachments, Enterprise WeChat + messages, AI/Codex-assisted processing and storage decisions. + +### 2. Contracts + +- OA is the operations control layer, not the full original-document library. +- The controlled company document master keeps full originals, historical + packages and high-sensitivity materials. +- OA may store indexes, business object links, status, responsibility, hash or + checksum summaries, archive-location summaries, review results and audit + evidence. +- Necessary business originals may enter OA only through scoped business + attachment flows such as contract, reimbursement, purchase, payment, project + or policy workflows. +- Employee collaboration, external review, generated reports, Enterprise + WeChat messages and AI/Codex work use redacted copies, aliases or summaries. +- Do not build or describe a generic file center unless a Trellis task + explicitly reopens that architecture and defines permissions, audit, storage, + backup and retention rules. + +### 3. Storage Decision Defaults + +- Current V0 may keep authorized business attachments on the deployment + server, but it must not become a shared drive or full document mirror. +- If storage is insufficient, prefer index-only records plus controlled offline + retrieval before moving high-sensitivity originals online. +- Cloud object storage or controlled NAS/MinIO must be private, accessed by the + OA service account, and governed by OA permissions and download audit. +- A home NAS can be cold archive, secondary backup or low-risk S3-compatible + trial storage; it is not the default production attachment store unless VPN, + private bucket, UPS, alerts and restore drills are in place. + +### 4. Forbidden Content + +- Full local paths to confidential directories. +- Passwords, token, Secret, private keys, source packages and complete + configuration files. +- ID-card, bank-card, payroll, social-security, tax and full bank-statement + originals in normal OA attachment areas. +- Customer original material, sensitive quotes, contract bodies or signed + packages outside authorized business flows. diff --git a/.trellis/tasks/05-28-company-docs-oa-ops-mapping/prd.md b/.trellis/tasks/05-28-company-docs-oa-ops-mapping/prd.md index a4fdaf36..bcfa1b15 100644 --- a/.trellis/tasks/05-28-company-docs-oa-ops-mapping/prd.md +++ b/.trellis/tasks/05-28-company-docs-oa-ops-mapping/prd.md @@ -15,7 +15,7 @@ ## Scope -本任务只做公司资料与 OA 运营体系的脱敏映射、运营建议和后续路线规划。 +本任务先做公司资料与 OA 运营体系的脱敏映射、运营建议和后续路线规划;用户确认“能完成的都实施”后,将可立即落地的规则同步到现有 docs 事实源和 Trellis 稳定规约。 纳入范围: @@ -24,6 +24,7 @@ - 业务指导:员工、负责人、财务、项目负责人、管理员如何用 OA 承接日常运营动作。 - 流程联调:合同签署、采购付款、外包服务、入职、离职、项目验收回款、制度发布等场景如何串联 OA。 - 后续开发建议:仅识别功能缺口,不在本任务直接改代码。 +- 可立即实施的文档/规约:管理员手册、员工快速上手、资产规约、合同附件规约、采购费用规约、报销附件规则和安全隐私 spec。 ## Out of Scope @@ -51,15 +52,16 @@ ## Acceptance Criteria -- [ ] 已形成脱敏的资料类别到 OA 模块映射。 -- [ ] 已形成资料管理、制度建设、业务指导三类运营建议。 -- [ ] 已区分“现有 OA 可直接做”和“后续需要开发/优化”的事项。 -- [ ] 已给出可执行的 0-4 阶段落地顺序。 -- [ ] 已明确敏感资料边界和员工/Codex 使用红线。 -- [ ] 已形成文件管理服务器的阶段性建议和准入条件。 -- [ ] 已形成业务附件受控入库的状态、权限、下载和审计建议。 -- [ ] 已形成跨业务附件矩阵,区分授权原文附件、脱敏协作附件和索引-only 资料。 -- [ ] 已记录 inspected scope,但不泄露敏感文件名、完整路径或原文内容。 +- [x] 已形成脱敏的资料类别到 OA 模块映射。 +- [x] 已形成资料管理、制度建设、业务指导三类运营建议。 +- [x] 已区分“现有 OA 可直接做”和“后续需要开发/优化”的事项。 +- [x] 已给出可执行的 0-4 阶段落地顺序。 +- [x] 已明确敏感资料边界和员工/Codex 使用红线。 +- [x] 已形成文件管理服务器的阶段性建议和准入条件。 +- [x] 已形成业务附件受控入库的状态、权限、下载和审计建议。 +- [x] 已形成跨业务附件矩阵,区分授权原文附件、脱敏协作附件和索引-only 资料。 +- [x] 已记录 inspected scope,但不泄露敏感文件名、完整路径或原文内容。 +- [x] 已将可立即落地的运营规则同步到现有 docs 事实源和 `.trellis/spec/hyb-oa/security-privacy.md`。 ## Test Plan @@ -70,5 +72,6 @@ ## Technical Notes -- 本任务是规划/审查任务,不启动实现阶段。 +- 本任务不改业务代码、不部署、不写公网真实业务数据。 +- 已实施的是文档和稳定规约治理:补充 OA 资料运营控制层、业务附件受控入库、索引-only、文件存储阶段性建议和员工使用红线。 - 后续若决定新增“资料协作任务”“外发复核工作流”“制度台账”等能力,应另建或延续 Trellis 实施任务,并在编码前先给方案等待批准。 diff --git a/.trellis/tasks/05-28-company-docs-oa-ops-mapping/task.json b/.trellis/tasks/05-28-company-docs-oa-ops-mapping/task.json index 3bf839ff..f542623e 100644 --- a/.trellis/tasks/05-28-company-docs-oa-ops-mapping/task.json +++ b/.trellis/tasks/05-28-company-docs-oa-ops-mapping/task.json @@ -3,7 +3,7 @@ "name": "company-docs-oa-ops-mapping", "title": "公司电子资料与 OA 运营映射审查", "description": "脱敏审查公司电子资料体系与 hyb-oa 运营、制度、台账、签收、复核和业务指导的配合方式。", - "status": "planning", + "status": "in_progress", "dev_type": null, "scope": "docs-analysis", "package": null, diff --git a/docs/员工快速上手.md b/docs/员工快速上手.md index 15241025..0e884378 100644 --- a/docs/员工快速上手.md +++ b/docs/员工快速上手.md @@ -107,5 +107,9 @@ - 管理员发布或更新涉及员工利益、费用、保密、资产、权限或档案的制度时,你需要按要求完成纸面或电子制度签收;如果 OA 公告页显示“待签收”或“已逾期”,需要勾选签收声明并点击“确认签收”。 - 只看到普通公告、打开公告链接或阅读制度材料,不等于已经完成正式签收;完成后公告页会显示“已签收”和签收时间。 - 资料留存先按“小团队 V1”执行:OA 中写清编号、摘要、负责人、项目或合同关联、归档位置摘要和必要证明;涉密正文、敏感报价、成本细节、银行流水原件、账号凭据、Secret、完整配置和完整本地路径不要上传。 +- OA 不是公司全量资料库或员工网盘。你只在具体业务页面、项目任务或管理员指定待办里上传材料;不要把整包历史资料、全量文件夹或无关原件放进 OA。 +- 有权限处理的合同稿、盖章扫描件、发票、银行回单、报价、验收材料可以作为业务原文附件上传,但必须依附合同、报销、采购、付款或项目等具体业务对象,并按页面要求填写用途或说明。 +- 普通资料整理、外发初稿、AI/Codex 辅助和员工协作只使用脱敏副本或摘要;不确定能否上传时,先在 OA 中登记待确认事项并让负责人复核。 +- 下载保密附件时如果系统要求填写用途,需要写清“付款复核、审批查验、归档核对”等真实用途;下载记录会进入审计日志。 - 用印相关事项先在合同台账或管理员指定台账中留痕,至少说明事项、文件版本、份数、审批状态、日期、责任人和归档位置。 - 遇到审批异常、权限异常、资料误传、付款/AP 卡住或无法导出时,按“阻断 / 非阻断 / 建议”告诉管理员,并提供页面、步骤和影响,不要发送密码、完整票面、银行回单或敏感报价截图。 diff --git a/docs/报销发票附件规则.md b/docs/报销发票附件规则.md index 771649b1..224cece6 100644 --- a/docs/报销发票附件规则.md +++ b/docs/报销发票附件规则.md @@ -112,6 +112,9 @@ R5 公网验收后确认:正式发票/OCR 上传入口只接受 PDF 发票文 - 不参与发票查重。 - 草稿和驳回状态可上传、查看、删除。 - 提交后审批人和财务可查看。 +- 默认治理标签为“已通过 / 内部 / 补充材料 / 标准下载”;若附件实际属于合同、报价、验收、付款证明或其他敏感材料,应按对应业务对象上传,不要混在普通报销补充材料里。 +- 报销附件可以保存业务办理所需原文,但只限报销人、审批人、财务和被授权角色按职责查看;自动化报告、企业微信消息、聊天和 AI/Codex 处理只能使用脱敏摘要或别名。 +- 敏感或 `reason_required` 附件下载必须填写用途并写入审计日志;普通员工不得批量下载他人报销附件。 ## PC 与手机体验 diff --git a/docs/管理员手册.md b/docs/管理员手册.md index 5c247dbd..36ec8f1e 100644 --- a/docs/管理员手册.md +++ b/docs/管理员手册.md @@ -453,6 +453,26 @@ ASSET1 后,资产模块统一承载固定资产和电子资产索引,不再 历史资料导入只允许从管理员指定的公司资料脱敏索引目录读取,默认 dry-run。公网写入需要 `ASSET_INDEX_IMPORT_WRITE=1` 和单独确认;报告不得输出 S3/S4 原文、完整路径、Secret、token、银行流水原件或未脱敏票面。 +公司电子资料和 OA 协作按以下口径执行: + +| 资料形态 | 主事实源 | OA 中允许 | OA 中禁止 | +| --- | --- | --- | --- | +| 全量原件库 | 负责人受控资料区、离线电脑或受控 NAS | 只登记资料编号、类别、敏感级别、hash/校验摘要、责任人和归档位置摘要 | 镜像全量目录、完整本地路径、历史资料包、员工自由浏览目录 | +| 授权业务原文附件 | OA 具体业务流程 | 合同审批稿、盖章扫描件、发票、银行回单、报价、验收、交付证明等必要原文 | 脱离业务对象的自由上传、跨业务搜索下载、企业微信原生附件承载高敏资料 | +| 脱敏协作副本 | OA 任务、项目或待办 | 台账整理、正式文件格式初审、外发复核、员工交付物 | 可反推出客户、报价、账号、证件、合同敏感条款的副本 | +| 禁止入库资料 | 专用密钥/档案/源码/银行渠道 | 只记录“需线下受控处理”的状态或负责人 | 密码、token、Secret、私钥、源码包、完整配置、完整银行流水、身份证银行卡和工资社保原件 | + +员工资料整理、制度建设和业务指导优先用现有 OA 能力承接: + +1. 制度发布用公告签收记录版本、适用范围、签收声明和签收时间。 +2. 资料目录和历史包只做 `EA-DOC` 索引,先不导入全量原文。 +3. 外发材料必须先在项目任务、合同或待办中记录用途、脱敏检查和负责人复核。 +4. 合同、报销、采购、付款、项目和制度资料附件必须依附具体业务对象,跟随状态、权限、复核、归档和审计。 +5. 敏感附件下载默认需要用途说明;付款回单、财务证明和其他 `confidential/restricted` 附件必须写下载审计。 +6. 企业微信只发送脱敏标题、编号、状态和 OA 链接,不发送附件原文。 + +文件存储阶段性决策:当前不新建通用文件管理服务器,不自研网盘。V0 继续使用部署服务器本地存储承载授权业务附件;部署服务器空间不足时优先选“只保存索引 + 负责人线下调取原件”,后续再评估腾讯云 COS 或受控 NAS/MinIO。家用群晖适合作为冷归档、二级备份或低风险 MinIO 试点,不直接作为正式公网 OA 主附件库。 + 阻断判定: - 无法登录、无法提交或审批报销/采购/合同相关事项。 diff --git a/docs/需求-合同附件归档规约.md b/docs/需求-合同附件归档规约.md index 045f9811..6bb6bc9a 100644 --- a/docs/需求-合同附件归档规约.md +++ b/docs/需求-合同附件归档规约.md @@ -199,6 +199,13 @@ 前端必须用业务语言提示“涉密资料请登记线下归档位置”,不能引导用户把敏感正文直接上传到公网 OA。 +合同附件同样遵循业务附件受控入库: + +- 授权合同负责人、审批人、用印经办人和管理层可以在合同业务流程内处理必要原文,例如待审合同稿、审批版、盖章扫描件、验收单和归档证明。 +- “可上传原文”不等于“可自由下载或外发”。原文必须绑定合同、项目、采购或付款业务对象,并受状态、角色、敏感级别、下载用途和审计控制。 +- AI/Codex 初审、普通员工协作、客户外发、企业微信消息和自动化报告只能使用脱敏副本、摘要或 OA deeplink。 +- 合同归档后,正文、盖章扫描件和高敏附件默认收紧下载;如需下载,必须写明用途并留审计。 + --- ## 9. 与其他模块关系 diff --git a/docs/需求-资产管理规约.md b/docs/需求-资产管理规约.md index e599e65b..0360d1d3 100644 --- a/docs/需求-资产管理规约.md +++ b/docs/需求-资产管理规约.md @@ -51,8 +51,20 @@ OPOLICY1 后,资产台账先服务小团队 V1 的责任追踪、资料留存 电子资料只登记可控摘要和索引:资料名称、类型、hash、敏感级别、归档建议、负责人、关联项目/合同/付款摘要和脱敏外部引用。公网 OA 不上传 S3/S4 原文、真实完整路径、合同报价、银行账户、身份证件、账号凭据或未脱敏附件。 +`EA-DOC` 的职责是“索引和责任”,不是“文件夹同步”。公司资料主库继续保存全量原件、历史包和高敏材料;OA 只记录能支撑运营的最小元数据、复核状态、归档位置摘要和审计线索。 + +授权业务原文附件和 `EA-DOC` 索引要分开理解: + +| 对象 | 处理方式 | +| --- | --- | +| 合同、发票、付款回单、报价、验收、交付证明等业务必要原文 | 进入对应业务模块附件链路,由业务权限、状态、下载用途和审计控制 | +| 历史资料包、证照原件、高敏个人资料、工资社保、银行流水、客户原始资料 | 默认只建 `EA-DOC` 索引或线下受控归档,不进入普通业务附件区 | +| 员工整理、外发复核、正式文件初审材料 | 进入任务/项目/待办协作,但默认使用脱敏副本、摘要或待确认清单 | + 历史目录第一轮只允许从 `/home/shunli/Projects/faculty-daily-assistant/公司/00_保密索引` 读取脱敏索引和元数据,默认 dry-run。公网写入真实索引必须另行确认并带写入开关。 +部署服务器空间不足时,不把普通办公电脑共享目录作为生产附件后端。优先顺序为:继续本地存储短期承载授权业务附件、只保存索引并由负责人线下调取原件、再评估腾讯云 COS 或受控 NAS/MinIO。家用群晖 NAS 可作为冷归档、备份或低风险 MinIO 试点;只有具备 VPN、私有 bucket、OA 服务账户、UPS、容量告警和备份恢复演练后,才可扩大使用范围。 + ### 电子系统资产 `EA-SYS` 电子系统登记系统名称、用途、负责人、管理员角色、入口、到期时间、备份策略和权限回收要求。OA 可以记录“谁负责回收权限”,不能保存登录密码、API token、证书私钥或完整配置。 diff --git a/docs/需求-采购费用审批规约.md b/docs/需求-采购费用审批规约.md index e6191e73..f5caba57 100644 --- a/docs/需求-采购费用审批规约.md +++ b/docs/需求-采购费用审批规约.md @@ -132,6 +132,13 @@ 附件不得包含账号密码、密钥、客户涉密资料、敏感报价明细等不应进入公网 OA 的内容;确需留存时只记录线下归档位置。企业微信消息只允许展示采购/费用的脱敏标题、编号、状态和 OA 链接,不承载附件原文。 +采购/费用附件按“业务附件受控入库”处理,不作为自由文件共享: + +- 报价、供应商资料、合同草稿、验收材料和交付证明可以作为授权业务原文附件进入采购/费用流程,但必须绑定申请单、项目、合同或付款对象。 +- 待审批附件不得被普通员工跨业务浏览;审批人、项目负责人、采购/财务复核人按职责预览或下载。 +- 敏感报价、客户资料、账号截图、完整配置或供应商高敏资料默认只登记摘要和线下归档位置;如确需上传,应标记为保密或受限,并要求下载用途和审计。 +- 外发给供应商、客户或 AI/Codex 初审的材料只能使用脱敏副本或摘要,不得直接外发 OA 内部原文附件。 + --- ## 5. 状态模型