隐私与本地数据
Vibe Bar 没有遥测管线或托管明文分析后端。本地 Provider 与远端 Probe 用量分析都在 当前活跃 Core 上进行。可选托管账号/控制服务只管理 Workspace、设备、纳管、Relay 目录与审计元数据,无法解密用量。
它会读取什么
Vibe Bar 只读取已启用 Provider 集成所需的受支持凭据、额度、Cookie、Session 与本地用量输入。
- CLI 凭据与 Session 文件保持只读;Vibe Bar 不会改写 Provider 自己的 Auth 或 Conversation 文件。
- 浏览器导入会读取受支持的 Cookie Store,并把结果缩减到该 Provider 必需字段。
- AntiGravity 集成会检查本地进程,以发现 Language Server 连接。
- 原始 Secret 不应出现在日志或分享出去的诊断中。
- Provider 状态来自相应的状态服务。
各 Provider 的具体映射参见 Provider 与数据。
它会存储什么
应用派生状态保存在:
~/.vibebar/
├── settings.json
├── quotas/
├── cost_snapshots/
├── scan_cache/
├── service_status.json
├── cost_history.json
├── subscription_history.json
├── fill_timeline.json
├── forecast_timeline.json
├── remote_core.json
├── remote_usage.sqlite3
└── mini_window_geometry.jsonVibe Bar 自己持有的 Cookie 与 Provider Secret 统一放在一个版本化 Keychain Vault 中,而不是为每个 Secret 建一个反复弹窗的 Keychain Item。
本地目录使用仅 Owner 可访问的目录权限,通过 Local Store 写入的文件使用仅 Owner 读写权限。~/.vibebar/cookies/ 下的旧明文 Cookie 文件只用于迁移: 当前版本会把可用值迁入 Keychain 并删除旧文件。
各文件的用途
| 路径 | 内容 |
|---|---|
settings.json | 不敏感的偏好、显隐、排序、Region 与 Plan Variant |
quotas/ | 最后一次可用的派生配额 Snapshot |
cost_snapshots/、cost_history.json | 派生本地成本摘要与历史 |
scan_cache/ | 避免重复扫描未变化本地 Log 的增量元数据 |
subscription_history.json | 已完成配额窗口历史 |
fill_timeline.json、forecast_timeline.json | 配额观测与当时展示的预测 |
service_status.json | 缓存的公开 Provider Status |
remote_core.json | 非 Secret 的 Workspace、Relay 与已注册 Probe 元数据 |
remote_usage.sqlite3 | Core 解密后的来源感知远端事实账本与 Consumer Cursor |
mini_window_geometry.json | 悬浮窗口位置与显示元数据 |
删除 ~/.vibebar/ 会把非 Keychain 本地状态重置为首次运行,但不会删除 Provider 自己的 CLI 文件,也不一定清除 Vibe Bar 在 Keychain 中的凭据。需要定向重置时, 优先使用应用内的 Clear/Delete 操作。
Privacy Mode
Privacy Mode 会清理派生成本数据,并在启用期间停止把成本历史写入磁盘。保留期限 可以配置,设置 → Cost Data 中也提供手动清除操作。
保留期限可选 Forever、30 天、90 天、1 年与 3 年,并同时作用于成本历史和订阅 填充历史。清除成本数据会移除派生成本历史、Snapshot 与 Scan Cache,不会删除 原始 CLI 记录。
Privacy Mode 不会静默删除已纳管 Workspace 的远端事实账本;Disconnect 会移除 Workspace Binding 与凭据,但会有意保留已经解密的事实。目前还没有应用内一键清理 远端账本;只有在明确要抹除这段本地历史时,才退出 Vibe Bar 并删除 ~/.vibebar/remote_usage.sqlite3。
远端 Probe 加密
Probe 批次在离开被观察机器前就加密给 Workspace 当前活跃 Core。Relay 在本地保存 密文,托管 Control 数据库只保存元数据;机器选择与成本聚合都在 Core 解密后进行。 安装、更新、保留与 Web/iOS 新鲜度模型见远端探针。
为什么不启用 App Sandbox
Vibe Bar 有意不启用 macOS App Sandbox。浏览器 Cookie 导入和本地 AntiGravity Language Server 探测需要沙箱会阻止的能力。
这不会改变项目的最小访问原则:只读取 Provider 集成真正需要的输入,只向 ~/.vibebar/ 与 Vibe Bar Keychain Vault 写入应用状态,并且绝不记录原始 Secret。
沙箱关闭是因为浏览器 Cookie 导入需要访问浏览器 Cookie Database 与 Keychain 支持的解密材料,而 AntiGravity Probe 需要本地进程检查;macOS App Sandbox 会 阻止这两类流程。代价是应用在技术上拥有更宽的本地文件访问范围,因此开源项目 明确限制读取路径,并只使用一个应用自有持久化根目录。
提交 Issue 前
可以提供版本、时间戳、Route Health、脱敏错误,以及预期路径是否存在。路径中的 用户名替换为 <you>,日志只保留相关且已脱敏的行。
分享诊断信息
不要把 API Token、Session Cookie、JWT、Keychain 值、完整 Auth 文件、浏览器 Cookie 导出、个人邮箱、Organization ID 或未脱敏的完整 Session 日志贴到公开 Issue 中。
安全诊断清单见故障排查。