安全与权限

数据安全与密钥

模型配置存储、加密机制与用户注意事项

数据安全与密钥

本地 CLI 状态采用加密 SQLite 存储:

  1. City 本地状态与凭证:~/.downcity/downcity.db
  2. Federation admin profile 与会话元数据:~/.downcity/federation.db
  3. Agent 绑定保存在 CLI 全局 DB 的 execution.modelId

secret 如何保护

provider apiKey、渠道凭证、user session 与 Federation 管理员元数据都不会明文写入本地存储;密码保存为 PBKDF2 摘要,会话 Token 以摘要或加密形式写入 SQLite。

city env 是显式的文件配置能力:Global Env 以明文写入 ~/.downcity/.env,Workspace Env 以明文写入项目 .env。Global 文件权限限制为仅当前用户可读写;项目 .env 默认加入 .gitignore。如需更强的密钥保护,应通过启动进程或密钥管理系统注入环境变量。

密钥来源优先级:

  1. DC_MODEL_DB_KEY 环境变量
  2. ~/.downcity/main/model-db.key

用户侧最佳实践

  1. 不要提交 ~/.downcity 或任何私钥文件到版本库。
  2. 团队环境统一通过密钥管理系统注入 DC_MODEL_DB_KEY
  3. 轮换 key 后,执行一次 City 连接与模型调用验证。
  4. 不要提交 Workspace .env,并限制 ~/.downcity/.env 的文件访问权限。

相关文档