信任中心
写给采购方。
哪些已经到位,哪些尚未到位。
每项说法都链接到支持它的页面或代码。
概览
已到位加密直达安全飞地
部分到位开发者 API
尚未独立评估
尚未数据处理协议
部分到位正常运行时间
已到位单点登录和用户预配
我们如何知道
共享项目可以要求通过你的身份提供方(OpenID Connect)登录,并通过 SCIM 从中导入用户。不支持 SAML。
阅读全文收起全文
01 · 安全
请求如何受到保护
工作区和开发者 API 保护请求的方式不同,下面每一页都会注明说的是哪一种。
工作区在发送任何内容之前,你的浏览器会将安全飞地的硬件证明与 Tinfoil 发布的版本进行比对,然后用安全飞地内部持有的密钥对请求进行加密(HPKE)。我们的中继检查你的配额,并转发密文。
每个回答都可以附带一份回执:你的浏览器验证过的安全飞地、版本和度量值,以及加密所用的密钥。这是你的浏览器自己的记录,而不是经过签名的声明。
我们的托管方、我们自己、Tinfoil、网络和法院命令分别能看到什么,以及实现这一点的文件。
页面自身的代码可以检查:将浏览器加载的内容与在 GitHub Actions 中签名的构建清单进行比对,自己重新构建,并阅读软件物料清单。
浏览器只会调用本站:没有第三方脚本、分析工具或字体。Python、JavaScript 和设备端模型在已移除网络访问的 worker 中运行,每个都有自己的内容安全策略。
共享项目采用端到端加密。分发和更换其密钥的协议有一个形式化模型,经 Tamarin 证明器检查,位于源代码的 docs/proofs 下。
日志只记录路由名称、状态码和耗时:绝不记录提示词、回答、账户 ID 或密钥。测试会检查这一点。
02 · 数据
保留哪些数据,保留多久
除非你另行选择,对话都保留在浏览器中。我们的服务器会保留:
限额计数器:以单向哈希记录的请求数和估算支出,不含任何内容,最多保留两天。
同步:每个项目都在你的浏览器中用只有你的设备持有的密钥加密,保留到你删除为止。我们能看到大小和时间。
共享链接:一份加密副本,保留 1、7 或 30 天,或直到首次打开;密钥位于 # 之后,从不会到达我们这里。
共享项目:密文、成员资格、角色,以及记录谁更改了什么的审计日志(从不包含内容),默认保留 90 天。
处理地点:目前还不能选择欧盟或美国。Tinfoil 不公布其安全飞地运行在哪里,而我们的托管和数据库各自运行在项目设置中指定的一个区域,并非按账户选择。只有当区域可以被核查、而不仅仅是被声明时,我们才会提供选择。
崩溃报告和速度数据:只有在你同意之后才会发送,不含内容、账户或地址;崩溃报告按错误计数,保留 90 天。
03 · 次级处理者
谁替我们处理数据
这些服务代表 Undergrove 处理数据。如果你的团队接入了自己的身份提供方,那不在我们的列举范围之内。新服务在处理数据之前,我们会先在更新日志中公告。
| 服务 | 为我们做什么 | 能看到什么 | 时间 |
|---|---|---|---|
| Tinfoil | 在硬件安全飞地中运行所有模型:聊天、文档转换、转录、语音、嵌入,以及从安全飞地内部发起的网页搜索。 | 请求只在证明经过检查的安全飞地内解密。Tinfoil 表示,它无法访问自己的安全飞地,且其中的内容不会在重启之间保留。 | 每个实时回答 |
| Vercel | 托管网站、中继和开发者 API 的网关。 | 普通的请求信息,包括 IP 地址,按其自己的日志和保留政策处理。工作区请求以密文形式经过;开发者 API 请求则由运行在这里的我们的网关在内存中读取。 | 每次访问和请求 |
| Upstash | 我们的数据库:API 密钥、限额计数器、账单记录,以及同步、共享链接和共享项目背后的加密副本。 | 哈希后的密钥、以单向哈希为键的计数器、账单需要时的账户 ID,以及它没有密钥的密文。你发布到作品库的内容按发布时的样子存储。 | 有账户时 |
| Privy | 登录。 | 你的电子邮件或钱包地址以及会话。从不包括聊天内容。 | 登录时 |
| Stripe | 套餐和预付额度的付款。 | 价格或金额、一个不透明的引用值,以及它自己的客户 ID。邮箱和支付信息由 Checkout 自行收集。 | 仅在启用支付之后(目前尚未启用) |
04 · 数据处理条款
数据处理条款
尚未05 · 证明
自己检查安全飞地
06 · 可用性
可用性与监控
部分到位07 · 报告
报告安全问题
范围内的内容、供你尝试破解的录制请求以及报告方式,都在挑战页面和 security.txt 中。