跳到内容

为你的待办清单选 iCloud 同步还是云账号

在每种模式下,你的任务究竟会经历什么,以及该如何看待其中的取舍。

8 分钟阅读

每一款现代待办应用都需要在设备之间同步。常见的做法有两种,一旦一切设置妥当,它们对用户而言看起来一模一样。但它们在底层并不相同。这些差异在隐私、可靠性,以及在应用公司被收购或关停那一天会发生什么这些方面,都很要紧。

这篇文章是对这两种模式不偏不倚的比较。两者都是站得住脚的选择。重点在于搞清楚你挑一款待办应用时拿到的是哪一种,因为在 App Store 列表页面,没人会告诉你。

模式一:iCloud 同步

在 Mac 待办应用的语境里,iCloud 同步几乎总是意味着应用使用了 Apple 的一个叫 CloudKit 的框架,外加一个用于极小负载的、叫 NSUbiquitousKeyValueStore 的小型键值存储。

当你在一个 iCloud 同步的应用里把一个任务切换为已完成时,应用会在你的 Mac 上本地写下这个变更,并请求 Apple 的 CloudKit 基础设施把它传播到你的其他设备。你的 iPad、你的另一台 Mac,任何你用同一个 Apple ID 登录的地方,都会在不久后看到这个变更。

关于这种模式,你应当了解:

  • 没有开发者账号。 你没有注册任何东西。没有单独的密码。你是在操作系统层面登录 iCloud 时,用你的 Apple ID 完成认证的,而你几乎肯定早就做过这件事了。
  • 数据存在你的 iCloud 账户里,而不是开发者那里。 当你删除应用时,你的 iCloud 数据会一直留在你的账户里,直到你从系统设置里把它移除。
  • 开发者无法在他们的服务器上看到你的数据,因为他们没有服务器。 他们必须请求 Apple 的 CloudKit 来做存储。数据是否端到端加密取决于 Apple 的 iCloud 设置,而非应用开发者的选择。
  • 跨用户共享很难甚至不可能。 iCloud 同步是为一个用户、多台设备设计的。如果你想和伴侣或同事共享一份清单,这种模式通常不支持。
  • 应用无法扩展出一个网页客户端。 没有任何经 Apple 认可的方式让非 Apple 设备读取你的 iCloud 数据。你只能在 Apple 设备上看到你的任务。

这种模式适合一份私密的个人待办清单,只在你自己的 Apple 设备上使用。它是最轻量、最简单、最私密的选项。

模式二:云账号

一个云账号待办应用运行着自己的后端。你向开发者创建一个账号,给他们一个邮箱和密码,你的任务存储在他们的数据库里。设备之间的同步通过他们的服务器进行。

关于这种模式,你应当了解:

  • 开发者在他们的服务器上有一份你数据的副本。 大多数会对静态数据加密。大多数不会做端到端加密。在大多数情况下,开发者的员工如果非要这么做,技术上是能读到你的任务的,哪怕他们的政策声称他们不会。
  • 有一个账号要管理。 如果你忘了密码,你可能会被锁在门外。开发者可以暂停你的账号。开发者可以更改他们的定价。
  • 共享很容易。 拥有多个账号的多个用户可以被邀请到同一份清单。这才是这种模式存在的真正原因。真正的协作需要一个共享的后端。
  • 通常有一个网页客户端。 你可以在公司里一台 Windows 机器或一台 Linux 机器上的浏览器里打开你的待办清单。这对许多人来说确实有用。
  • 应用的存续取决于公司。 如果公司被收购,新的所有者会继承你的数据。如果公司关停,你的数据也会随之而去,除非他们提供导出。

这种模式适合那种需要跨平台访问的待办应用,或者需要支持与他人真正协作的待办应用,又或者接入 Notion 或 Asana 这类更大工作区产品的待办应用。

实践中究竟有什么不同

用户可见的差异比听上去要小。两种模式都同步。两种模式都能离线工作,并在你重新联网时进行协调。两种模式都可以很快。两种模式都可能在开发者马虎时丢失你的数据。

差异主要在于谁掌握着数据,以及你在信任谁:

iCloud 同步 云账号
谁来存储 Apple,存在你的 iCloud 账户里 应用的公司,存在他们的服务器上
你信任谁 Apple 的 iCloud 团队和应用开发者 应用的公司和 Apple
需要什么账号 你的 Apple ID(你已经有了) 在开发者那里注册的新邮箱和密码
能否扛过公司关停 能,你的本地数据不受影响 取决于他们是否提供导出
能否有网页客户端 不能 通常能
能否与其他用户共享 不能 通常能
数据删除 在你 Mac 上的系统设置里 开发者网站上的某种账号删除流程

正确答案就是那个匹配你真实需求的模式。大多数个人待办清单,面向一个用户、横跨一两台 Mac,用 iCloud 同步就服务得很好。大多数团队待办清单,或者兼作与他人共享的知识库的待办应用,则需要云账号,因为协作才是重点所在。

关于端到端加密的说明

两种模式都可以声称“你的数据是加密的”。这句话承载了太多含义,而它通常指的是存储服务器上的静态加密,那是最低限度,而非端到端加密。端到端意味着运营存储的公司即便想读,也读不到你的数据。标准的服务器端加密则意味着他们能读。

Apple 的 iCloud 在历史上对大多数类别都使用标准的服务器端加密。自 2022 年底起,Apple 提供了一个可选启用的功能,叫“高级数据保护”,为许多 iCloud 数据类别开启端到端加密。如果你用的是一台登录了开启了高级数据保护的 Apple ID 的 Mac,那么你通过 iCloud 同步的待办清单在你的 Mac 与 Apple 的服务器之间是端到端加密的。如果你没有开启它,那就不是。

云账号模式同样可以提供端到端加密,但真正这么做的待办应用只占极少数。它实现起来很难,而且会限制一些功能(如果不先解决一些棘手的密码学问题,你就无法在加密的数据块内部提供搜索)。大多数云账号待办应用只是说“已加密”,而意思是“我们数据库服务器上的磁盘是加密的,但密钥在我们手里”。

这不是一种道德评判。标准加密对大多数数据来说没问题。如果你处理的不是机密信息,那么两种方式你大概都还好。重点是要对你拿到的东西诚实。

TodoBar 怎么做

TodoBar 通过 Apple 的 NSUbiquitousKeyValueStore 使用 iCloud 同步。没有 TodoBar 账号。没有 TodoBar 服务器。你的任务待在你的 Mac 上,以及你私有的 iCloud 账户里。我们在隐私政策里详细描述了这一点,供任何想了解完整机制的人查阅。

取舍就是上面描述的那些。你无法和另一个人共享一份清单。你无法在公司里一台 Linux 机器上的浏览器里打开你的任务。这种模式是为一个用户、一台或多台 Mac 而设的,而那正是一个菜单栏效率工具真实的使用场景。

如果你需要共享清单或网页访问,TodoBar 大概不是合适的工具。针对那种情况有非常出色的云账号应用。它们是另一种类别的软件,做的是另一份活儿。两者都可以很好。这取决于你究竟想做什么。

TodoBar 是一款贴心的 macOS 菜单栏待办清单。支持大白话截止日期、全局快捷键、iCloud 同步。一次付费,永久属于你。

在 App Store 获取 TodoBar