密钥与访问边界
September 19, 2026 · View on GitHub
- API Key 只在 React 状态、当前请求 header 和按请求创建的 Gateway 实例中出现。
- 不写 browser storage、cookie、URL、数据库、队列、日志;仅主题偏好写 localStorage。
- HTTP cookie 保存的是网站自己随机生成的访问凭证,数据库仅存 SHA-256 摘要,与模型 Key 无关。
- 请求不缓存,检查 Origin,不支持用户指定任意上游 URL。固定 Gateway 主机且禁止 redirect。
- API 不透传模型错误原文。AppError 只返回固定代码。应用没有接入第三方 APM、分析或录屏。
- BYOK 请求会经过服务器,服务器能读取 Key。供应商收到完整评估上下文,其留存策略不由本项目控制。
- 固定回答选项阻止应用正常返回任意模型文本,不保证答案正确或模型不会被语义欺骗。
- 用户自己可揭底,且 BYOK 提供商账户可能记录含汤底的输入,所以不是防作弊系统。
- 资源访问身份不用于额度计算。管理/分享 token 独立,撤销通过版本使已有 grant 失效。
- 创作内容按纯文本渲染,schema 严格拒绝访问权限字段。没有内容审核队列。
- CSP 目前为 Next 兼容配置,允许内联脚本;没有宣称完成全面 XSS 审计。自托管生产可进一步采用 nonce CSP。
开源与版本信息帮助审查,但不保证远程部署完全等同。部署平台的日志、代理配置、扩展、设备和供应商均是额外信任边界。
自动测试范围
API 层的合成 Key 测试检查持久化回合和客户端响应,不读取真实凭证。包含并发 A/B key 隔离和 401/429/500 错误。尚未审计 Vercel/Tencent 实际平台日志或供应商留存。
模型交互记录:新完成的调用在数据库中保存 SDK 请求参数(包含该局题目版本的汤底、判题规则和所需历史)及经过字段白名单筛选的回答、概率、置信度和 token 用量;不保存模型鉴权头或服务商错误正文。游玩中只返回结构化 Response。完整 Request 仅在本局还原成功或揭底后,由该局访问者读取,分享撤销后也会禁止读取。历史及失败调用可能没有交互记录。此记录不是原始 HTTP 报文。