← 返回首页 / Back

隐私政策 · Privacy Policy

最后更新 / Last updated: 2026-05-09

1. 我们是谁 · About Us

Bloom Bento(下称"本服务")是一款面向家庭的轻量级日程协同应用,部署在https://familycalendar.fun。本服务为个人 / 家庭使用,不向公众商业开放。

2. 我们收集哪些信息 · Data We Collect

  • 账号信息:你注册或登录时提供的邮箱;通过 Apple / Google 第三方登录时, 我们仅接收对应账号的 sub(唯一标识)、邮箱与显示名。
  • 日程内容:你在 Bloom 中创建的事件、习惯、资源、附件,以及关联到这些 对象的家庭成员关系。
  • 设备 / 会话信息:用于刷新登录态的 refresh token 哈希、推送通知用的设备 token。我们不收集精确地理位置、不嵌入第三方统计 SDK。

3. Google Calendar 集成 · Google Calendar Integration

当你在 Bloom 中授权连接 Google 日历时,我们使用 Google OAuth 2.0 获取以下范围 的权限:

  • https://www.googleapis.com/auth/calendar.events — 读取并写入你 已选定日历中的事件。
  • https://www.googleapis.com/auth/calendar.calendarlist.readonly — 获取你的日历列表,供你在设置中勾选要同步的日历。
  • openidemail — 用于关联 Bloom 账号与你的 Google 身份。

用途严格限于:把你勾选的 Google 日历中的事件同步到 Bloom 供你和家庭成员 查看;以及在你允许 "推送" 的日历上反向写入你在 Bloom 创建/修改/删除的事件。我们不会:

  • 把你的 Google 数据用于训练任何机器学习模型;
  • 把你的 Google 数据展示给广告主或转售给第三方;
  • 访问你 OAuth 范围之外的任何 Google 资源(Drive / Gmail / 通讯录均不读);
  • 持有比你授权范围更广的 token。

Token 存储:Google 颁发的 access token 与 refresh token 以 AES-256-GCM 加密后存入数据库,密钥保存在服务器环境变量中,不进入日志。你可以随时在 Bloom 的设置 → Google 日历 → 断开主动撤销;断开时我们会调用 Google 的 revoke 接口移除 token,然后从我们的数据库删除对应记录。

4. 数据存储与传输 · Storage & Transport

  • 所有客户端通信走 HTTPS(TLS 1.3),证书由 Let's Encrypt 自动签发与续期。
  • 数据库:阿里云轻量应用服务器(中国香港地域),PostgreSQL,本地磁盘。
  • 附件(图片/文件):本地磁盘 + Docker volume,不上传到公共对象存储;路径由签名 token 控制,未授权访问会被 API 拒绝。
  • 我们不向中国大陆境外(香港除外)的第三方服务提供商传输数据;Google 数据除外 ——它的归宿仍是 Google 本身。

5. 你的控制权 · Your Controls

  • 断开 Google 连接:设置 → Google 日历 → 断开。立即撤销 token + 删除 Bloom 的凭证记录。已同步过的事件保留在 Bloom(你可在 Bloom 内删除),不再与 Google 互相 同步。
  • 导出数据:联系我们(见下),我们会以 SQL dump + 附件 tar 包的形式提供你 账号下的全部数据。
  • 删除账号:联系我们。删除后我们会硬删 user / family / events / attachments 所有行,并撤销关联的 Google token。
  • 在 Google 端撤销:你也可以直接在 Google 账户的 第三方权限管理页撤销 Bloom Bento 的访问权限 — 我们的同步会立即停止。

6. Cookie / 本地存储 · Cookies

本服务只在浏览器 localStorage 中存储会话凭证 (access / refresh token) + 你的偏好 设置 (主题、视图模式)。不使用第三方 cookie,不投放广告标识符。

7. 儿童隐私 · Children's Privacy

Bloom 面向家庭使用,可能包含未成年人姓名、年龄等家庭内部信息(以 "guest" 或资源年龄字段形式)。这些数据由家庭成员本人录入并仅在家庭内部可见,我们不向 外部披露;未成年人本人不被强制注册账号。

8. 变更通知 · Changes

本政策变更时会更新本页顶部的 "最后更新" 日期;重大变更(扩大 Google 权限范围 / 引入 第三方共享 / 修改保留期等)会通过应用内通知告知。

9. 联系方式 · Contact

数据相关问题、删除/导出请求,请通过 GitHub Issue 联系: icy45325/Family-Calendar

英文摘要(供 Google 审核参考):Bloom Bento is a self-hosted family calendar app for personal use. It requests Google Calendar scopes (calendar.events, calendar.calendarlist.readonly) solely to two-way sync events for the authenticated user. OAuth tokens are AES-256-GCM encrypted at rest; we never share Google data with third parties, never use it for ML training or advertising, and never request scopes the user has not explicitly granted. Users can disconnect at any time from Settings, which revokes the token at Google and deletes our local credentials row.