Skip to content

数据流矩阵(Data Flow Matrix)

回答一个问题:我的什么数据,会在什么时候,去哪里?

本项目无遥测、无项目方云端;除应用启动时的一次更新检查(发往 GitHub 本仓库) 外,所有联网行为只发生在你主动使用对应功能时,且只访问你启用的服务。本表是这句话的 完整展开——它是隐私承诺的权威底稿:界面文案(顶栏提示、设置页「数据与 隐私」与「关于」)与本文不一致时,以本文为准并立即改文案。

功能 本地数据 联网 发给谁 发什么
看板 / 追踪表 / 岗位池(浏览与编辑) CSV / Markdown 工作区文件 否 — —
简历编辑 / 导入核对 简历数据 否 — —
AI 改写(可选,需自配模型服务) 所选简历文本 是 你配置的 LLM 服务商(OpenAI 兼容端点) prompt + 你选中的文本;发送前有确认步骤与反编造护栏
模型服务连通性测试 无工作区内容 是 同上 仅探活请求(不含工作区数据)
AI 邮件解析(可选) 邮件正文 是 同上 你确认发送的文本
邮件拉取(可选,需自配 IMAP) 邮箱凭证 + 邮件 是 你的邮箱服务商(IMAP) 登录与读取请求;只读——不发送、不修改、不删除,点了才连
岗位 JD 抓取 目标 URL 是 招聘网页所在站点 一次 HTTP GET
更新检查(桌面版) 版本信息 是 GitHub(本仓库 Release) 当前版本与平台(electron-updater 的标准请求);启动后延迟一次(约 5 秒),失败只进日志
快照 / 导出 / 诊断包 工作区文件 否 — —(凭证与运行时产物被排除在外,见下)

明细与保证

  • 凭证:邮箱授权码与 API Key 默认存 Windows 凭据管理器(桌面版);源码 / CLI 形态或显式 JOBWS_CREDENTIAL_STORE=plaintext 时为明文回退,落在 config/imap.json / config/provider.json 里。两种形态都只存在本机;凭据管理器 形态下配置文件只保留引用(auth_ref / api_key_ref)。导出 / 快照 / 诊断包 一律排除(tests/test_export_privacy.py 做 zip 内容字节级泄漏检测)。
  • AI 功能全部可选:不配置模型服务时所有 AI 入口禁用,无任何外发。
  • 不在上表 = 不出网:除表中行外,应用不发起任何网络请求;开发者侧的 代码图谱类 MCP 工具(GitNexus 等)不随产品分发。
  • MCP 服务与 AI 宿主边界:mcp/ 的 jobws-mcp 走 stdio、服务自身不联网 (只读写本地工作区);但宿主(Claude / Codex / Gemini 等)拿到工具返回的 数据后,可能按宿主自己的隐私策略将其发送给模型服务——这一层由你选择的 宿主与模型决定,不在本应用控制范围内。不接 MCP 即无此路径(接入方式见 mcp-integration.md)。

治理规则(贡献者)

新增任何出网能力,必须先更新本表(PR 描述里引用对应行)。CI 尚未自动 校验这一点(自动检查列 ROADMAP 候选);在此之前,评审时未更新矩阵的出网 PR 应被拒绝——这张表是"隐私文案不撒谎"的机器外防线。