# 数据与隐私边界 ## 公开提交会存储什么 | 数据 | 用途 | | --- | --- | | 产品、类型、标题、描述 | 分流和处理反馈 | | 可选联系邮箱 | 在需要时联系提交者 | | 可选应用版本、系统、架构、语言 | 判断影响范围和辅助复现 | | `clientRequestId` | 网络重试幂等 | | installation ID 的 keyed digest | 安装实例限流和滥用控制 | | 来源 IP 的 keyed digest | 滥用调查和限流关联 | | 可选截图 | 复现界面或视觉问题 | | 创建和更新时间 | 排序与处理记录 | 服务器不会保存原始 installation ID 或原始 IP。digest 使用 `APP_SECRET` 生成。管理员状态修改和内部备注也会存入数据库。 ## 默认不收集什么 GoodBuddy 客户端接入必须保持以下默认边界,除非未来为具体字段另行设计并 向用户清楚展示: - 对话、提示词或模型回复 - 应用日志和崩溃日志 - 文件内容、项目内容和本地路径 - API key、Cookie、Token、SSH 凭据或主机配置 - 模型、知识库或 Runtime 的详细配置 - 剪贴板内容 - 屏幕截图 截图只能由用户主动选择或粘贴后随该次反馈上传。提交界面必须在发送前让 用户看到截图已包含,并允许移除。 ## 截图处理 - 只接受单帧 PNG、JPEG、WebP,并验证实际解码格式。 - 服务端实际解码图片,不依赖扩展名。 - 应用方向信息后统一重编码为 PNG。 - 不复制原图 EXIF/XMP 等元数据。 - 原始上传字节不会作为附件保留。 - 标准化后的图片位于私有数据 volume,不由静态服务器公开。 - 只有具有有效管理员会话的同源接口可以读取截图,响应使用 `Cache-Control: private, no-store`。 截图可能仍然包含屏幕中肉眼可见的个人信息、文件名、消息或其他敏感内容。 客户端必须提醒用户检查画面。 ## 管理访问 - 没有公开注册入口。 - 管理员只能通过主机 CLI 创建或重置。 - 密码使用带随机 salt 的 scrypt hash 保存。 - 会话 token 仅放在 HttpOnly、SameSite=Strict Cookie 中,数据库只保存 keyed digest。 - 管理写操作需要 CSRF token。 - 内部备注和可选联系邮箱只在管理后台展示。 ## 传输、日志与保留 - 生产流量通过 Caddy HTTPS 传输。 - 常规应用访问日志关闭,避免持久记录公开提交者的原始 IP。 - 应用错误日志不得包含反馈正文、邮箱、截图、认证 Cookie 或 secret。 - 当前版本不会自动删除反馈。部署方负责公布和执行实际保留期限,并保护 备份中的同类数据。 ## 客户端展示要求 在 GoodBuddy 或其他产品发送前,界面至少应说明: 1. 标题、描述和所选反馈类型会发送到 MesaLogo 反馈服务。 2. 邮箱是可选项。 3. 应用版本、操作系统和架构会在界面列明后发送。 4. 截图默认不上传,只有明确添加后才发送。 5. 不会自动附加对话、日志、文件、项目路径、模型配置或凭据。