Orbi 能访问到什么
只有你 GitHub App 安装范围内的仓库。 Orbi 不会自己发现仓库,同一时间只在你连接的那一个仓库里处理 Issue。安装范围之外的仓库根本访问不到 —— API 调用本身就会失败。 你的身份,通过 OAuth。 登录只申请一个 scope:user:email。它确认你是谁,本身不授予任何仓库访问权。
App 的仓库权限在 GitHub 的安装页面上会在你批准前完整列出,逐条解释见安装 GitHub App。这些权限加起来,就是一个 agent 干你要它干的活所需要的:读你的 Issue、打标签、评论、推分支、提 PR、评审后合并。
撤销访问
从 GitHub 卸载 Orbi GitHub App —— Settings → Applications → Installed GitHub Apps → Orbi → Configure → Uninstall。访问权立即终止。 这才是真正的控制点,而且它在 GitHub 上、不在 Orbi 自己的界面里,这是刻意的:切断它不需要 Orbi 配合。你的模型 key 存在哪
如果你配置了自己的 key,它以 AES-256-GCM 加密存储。它:- 回显时只显示掩码 ——
••••1234,永远不显示完整值。 - 永远不写进日志,也不会进入任何支持用的证据包。
- 不会出现在任何可能被投屏或分享的界面里。
租户之间的隔离
每个租户的交付环境是一个独立的操作系统用户,有自己的 home 目录和凭据。不同环境之间读不到对方的文件,每一次数据库读取都带租户维度的限定。 跨租户访问、共享可写工作区、凭据泄漏,都被当作发版阻断项处理,而不是留待以后排查的缺陷。交付环境没有什么
跑交付的那个环境有你的仓库和它的测试套件。它没有:- 你的生产凭据或部署流水线。
- 你的第三方服务账号。
- 对着你线上站点的浏览器。
- 你其他仓库的访问权。
Orbi 会往你仓库里写什么
Orbi 推它为这次交付创建的分支,并把评审过的 PR 合进你的基础分支。除了那次经过评审的合并之外,它不会直接推你的基础分支,也绝不会 force push 共享分支或移动已存在的 tag。 它做过的所有事,完整记录都在你的仓库里:Issue 的标签和评论、PR、评审轮次,以及发版时带着门禁证据的 tag 与 GitHub Release notes。分支保护
分支保护和 Orbi 的相互作用有一个必须知道的点:如果你的基础分支要求 approving review,每次交付都会卡在合并这一步 —— 因为 Orbi 用同一个 App 身份创建并合并 PR,而 GitHub 不允许 PR 作者批准自己的 PR。 连接页面会就此给出警告,并给出三种改法。要求每次交付都有人工批准是完全正当的选择,你只需要知道自己在做这个选择。你的 CI 保证了什么
Orbi 的合并门禁和发版门禁读的是你仓库的 check runs。也就是说,保证的强度就是你测试套件的强度:- 有像样的单元测试 → 合并门禁保证你的代码逻辑。
- 有业务流程 e2e → 它保证这条流程能走通。
- 完全不跑 CI → 两个门禁都会带着明确的「无 check runs」证据通过,改动仅凭评审的判断就发出去。
升级不会打断交付
平台的部署和升级在结构上就不可能重启一个正在执行的交付。额度守卫也不能 —— 它们只对刚刚派发的 Issue 生效。在途的交付会跑完。报告安全问题
用状态页技术支持卡片里的 Telegram 群。报告里不要包含凭据、token 或 key。这一页讲的是 Cloud 产品的边界。引擎自己的安全边界 —— 它永远不推哪里、永远不合并什么 —— 在 docs.orbi.build/zh/security。