安全和运营
商业 API 平台必须保护密钥、资金和客户信任。本页说明 OpenEdge 的最低安全和运营模型。
密钥管理
当前要求:
- 用户 API Key 只展示一次。
- API Key 查询使用哈希。
- 第三方 provider key 使用加密存储。
- 密钥不写入源码、日志或 D1 明文。
Provider 和 bot 凭据使用:
text
CONFIG_ENCRYPTION_KEY建议:
- 至少 32 字节随机值。
- 作为 Cloudflare secret 保存。
- 不提交到 git。
- 使用
enc:v1:...这类版本化加密格式,方便后续轮换。
日志策略
默认可以记录:
request_iduser_idservice_idaliasprovidermodel- token usage
- status
- latency
- final cost
- error code
默认不要记录:
- API Key。
- Provider Key。
- Bot Token。
- Authorization header。
- Refresh token。
- 完整 prompt 或 response。
- 私人 webhook URL 全量。
如果客户需要保存 prompt 和 response,应作为显式配置,并提供保留周期。
账务安全
付费服务应该做到:
- 执行前检查余额。
- 扣费写入
transactions。 - 退款作为独立流水写入。
- 用量日志关联 request id 或 order id。
- 退款处理具备幂等性。
- 定时任务处理 stale/pending 状态。
高风险场景:
| 场景 | 控制方式 |
|---|---|
| AI stream 中途断开 | 有 usage 按 usage 结算,否则按预扣估算结算。 |
| Provider 超时 | 未交付价值时退款。 |
| TRON 服务商未履约 | 订单超时并退款。 |
| 重复退款重试 | 使用 request/order id 保证幂等。 |
| 价格变更 | 价格规则应支持 effective time,方便审计。 |
URL 和 SSRF 防护
Webhook target 和 AI provider base_url 必须满足:
- HTTPS。
- 不是 localhost。
- 不是 loopback。
- 不是私有 IPv4 地址段。
- 不是 link-local metadata endpoint。
- 不是私有 IPv6 地址段。
CORS
生产控制台 origin:
text
https://console.open4x.com控制台路由不应允许任意浏览器 origin。
监控
至少监控:
- Worker 错误率。
- P95/P99 latency。
- D1 查询失败。
- 账务流水写入失败。
- pending refunds。
- AI provider 401/403/429/5xx。
- TRON lease timeout。
- rate limit 命中次数。
- Pages 可用性。
建议告警阈值:
| 告警 | 阈值 |
|---|---|
| API 5xx | 5 分钟内超过 1%。 |
| AI provider 失败率 | 5 分钟内超过 5%。 |
| pending refunds | 超过 10 个。 |
| D1 写入失败 | 任意连续写入失败。 |
| 登录失败激增 | 10 分钟内超过 100 次。 |
法务文档
正式商业化前建议发布:
- 服务条款。
- 隐私政策。
- 可接受使用政策。
- 退款政策。
- 数据处理说明。
- 第三方 provider 说明。
AI 服务需要额外说明 BYOK 责任、provider 数据处理、禁止用途,以及是否保存 prompt/response。