安全政策
最后更新:2026 年 3 月
安全不是 FFFFinance 的事后考虑——而是核心设计约束。本页面描述了应用如何保护你的财务数据、我们如何处理漏洞报告,以及出现问题时你可以期待什么。
负责任的漏洞披露
如果你发现 FFFFinance 中的安全漏洞,请在公开披露之前私下报告。我们认真对待所有报告,并将及时回应。
如何报告:
- 邮件:help@ffffinance.org,主题行注明
[SECURITY] - GitHub(非敏感信息):在代码仓库中提交安全建议
- 欢迎 PGP 加密报告——请先联系我们获取公钥
请包含以下信息:
- 漏洞的描述和潜在影响
- 复现步骤(如可能请提供概念验证)
- 受影响的版本
- 任何建议的缓解措施
你可以期待我们:
| 时间范围 | 行动 |
|---|---|
| 48 小时内 | 确认收到你的报告 |
| 7 天内 | 初步评估和严重性评级 |
| 30 天内 | 发布修复或沟通缓解措施 |
| 修复发布后 | 在更新日志中致谢(如果你愿意) |
我们希望你在公开披露之前给我们合理的时间来修复问题。我们绝不会对善意的安全研究人员采取法律行动。
安全架构
桌面版:默认本地运行
FFFFinance 的设计使得没有任何财务数据会离开你的设备,除非你明确启用云同步。应用完全在本地运行:
- SQLite 数据库保存在你的电脑上,路径为
~/.local/share/FFFFinance/finance.db(Linux)或等效的操作系统路径 - 应用后端处理所有数据库访问——用户界面只能通过安全的内部桥接读写数据
- 用户界面的网络访问默认被禁用
内容安全策略
应用强制执行严格的内容安全策略 (CSP),控制哪些资源可以被加载。实际上这意味着:
- 不允许注入外部脚本
- 不允许内联脚本 —— 所有代码必须来自应用本身
- 网络请求 仅限于 FFFFinance 所需的服务(Akahu 和 Cloudflare)
桌面应用安全加固
桌面应用遵循行业安全最佳实践:
| 保护措施 | 含义 |
|---|---|
| 上下文隔离 | 用户界面和应用内部引擎运行在完全独立的环境中 |
| 沙箱化 | 用户界面在操作系统沙箱中运行,权限受限 |
| 无直接系统访问 | 用户界面无法直接访问文件、系统命令或其他应用 |
| 同源策略 | 只允许向已批准的域名(如 Akahu)发起请求 |
| 仅 HTTPS | 所有外部连接都要求安全加密 |
| 无实验性功能 | 仅使用稳定、经过充分测试的技术 |
用户界面只能通过一组严格控制的已批准操作与你的数据交互——它无法访问任意文件或系统资源。
数据加密
本地存储
SQLite 数据库使用标准的操作系统级文件权限存储在你的本地文件系统上。我们建议:
- 在你的电脑上启用全盘加密(Windows 上的 BitLocker、macOS 上的 FileVault、Linux 上的 LUKS)
- 为你的用户账户使用强密码
未来版本将添加可选的数据库级加密,以提供额外的保护层。
云同步(可选)
当云同步启用时(专业版和云端版),数据在传输中和静态存储时都会加密:
- 传输中:与云服务器的所有通信使用 TLS 1.3 加密
- 静态存储:云端数据使用 AES-256 加密(与银行使用的相同标准)
- 认证:API 请求使用用户专属 API 密钥进行认证,不使用共享密钥
- 范围:只有你选择同步的表才会被发送——原始 Akahu 令牌永远不会同步到云端
云同步是自愿选择的,可以随时从设置中禁用。禁用同步不会自动删除你的云端数据——请使用 设置 → 云端 → 删除云端数据 来删除。
Akahu 连接安全
FFFFinance 通过 Akahu 连接你的新西兰银行账户,Akahu 是一家在新西兰法律下受监管的持牌开放银行聚合商。
- 不存储银行凭据:你通过浏览器中的安全登录页面授权 Akahu。FFFFinance 永远不会看到你的银行用户名或密码。
- 访问令牌:Akahu 发放一个安全的访问令牌,该令牌加密存储在你的本地数据库中。它除了发送到
api.akahu.io外,不会被传输到其他任何地方。 - 令牌权限:令牌默认为只读权限。不请求写入或支付访问权限。
- TLS:所有发送到
api.akahu.io的请求都通过 HTTPS/TLS 1.3 进行。证书固定(一种额外的验证服务器身份证书的检查)计划在未来版本中实现。 - 撤销:你可以随时通过你的 Akahu 账户设置撤销 FFFFinance 的访问权限,与应用无关。
AI 数据处理
本地推理(默认)
AI 助手 "Freddy" 可以完全在你的设备上运行。你的财务数据在本地处理:
- 不会向任何服务器发送提示或财务数据
- AI 模型只下载一次,存储在你的电脑上
- 当 GPU 可用时会使用 GPU 加速处理,否则使用 CPU
云端 AI 回退(自愿选择)
如果你在设置中启用云端 AI 层,复杂查询可能会路由到 Anthropic 或 OpenAI API:
- 你必须明确选择加入——默认不启用
- 启用后,查询文本(不是原始交易数据)会发送到所选提供商
- 每个提供商的隐私政策适用于他们接收到的数据
- 云端层使用你自己的 API 密钥,本地存储——MegaSuperSoft 不会代理或记录这些请求
你可以通过查看 Freddy 回复上的标记来了解每个查询是如何处理的。
软件更新
- 所有软件组件都锁定版本,并在每次构建时自动扫描已知安全问题
- 应用是自包含的——不会在运行时下载额外代码
- 底层框架定期更新以包含最新的安全补丁
- 如果检测到高严重性漏洞,构建会自动被阻止
已知限制
- macOS:应用目前仅签名为开发用途,未使用完整的 Apple Developer ID 证书。首次启动时你可能会看到 Gatekeeper 警告——可以安全绕过。完整证书在路线图中。
- Windows:应用目前未签名。Windows SmartScreen 可能会在首次运行时显示警告——可以安全绕过。
- 数据库加密:尚未实现。我们建议在你的设备上启用全盘加密(见上文)作为当前的保护措施。
联系方式
安全问题:help@ffffinance.org 一般信息:ffffinance.org GitHub:github.com/megasupersoft/FFFFinance