隐私政策
本页说明 macOS 和 Windows 版 Apertura 会从你的设备向外发送什么、api.notch-os.com 上的后端会存储什么,以及哪些内容绝不会离开你的设备。
适用范围
本政策涵盖 macOS 版 Apertura、Windows 版 Apertura、位于 api.notch-os.com 和 updates.notch-os.com 的后端服务、可选的 Ember 账户网关 api.cabinhub.com.cn,以及本网站。它不涵盖你自己让 Apertura 连接的第三方服务,例如你为 Guardian 防盗功能配置的 webhook 端点,或下文所述我们代你调用的天气或 AI 提供方。
Apertura 的设计原则是尽可能把数据留在你的设备上。下文逐一说明数据离开你设备的每一条路径,用词直白,没有未说明的类别。
许可证激活
当你激活许可证(或开始免费会话)时,应用会向 api.notch-os.com 发送一个请求,其中包含:
- 你输入的许可证密钥(仅付费档位;免费会话使用生成的占位符,而不是真实密钥)。
- 设备指纹:一个单向 SHA-256 哈希。在 Mac 上,它由你的 Mac 的 IOPlatformUUID、应用的 bundle identifier 和 Mac 型号标识符计算得出。在 Windows 上,它由操作系统的
MachineGuid加上一个保存在 DPAPI 保护存储中的 32 字节按安装密钥计算得出,因此把文件复制到另一台机器不会复制这个身份。只发送这个哈希,不发送用于生成它的原始值。 - 设备标签:在 Mac 上是你的电脑名称(例如“Jordan 的 MacBook Pro”);在 Windows 上是你电脑的主机名。
- 应用版本和操作系统版本字符串。
- 仅限 Mac:如果你的设备带有 Secure Enclave,还会发送一个额外的公钥,用于以密码学方式把付费会话绑定到该特定设备。对应的私钥绝不会离开 Secure Enclave。
此后发往中继的每个请求(聊天、设备列表、停用)都会重复发送设备指纹,以便后端识别你的设备;但一旦激活完成并签发会话令牌,就不会再发送许可证密钥本身。
激活后签发的会话令牌保存在 macOS 钥匙串(Keychain,Mac)或 Windows 自带的加密凭据存储(Windows)中,而不是明文文件。
在许可证激活过程中,我们不会收集你的姓名、电子邮件地址、电话号码或账单地址。如果你通过支付处理方购买,该处理方(见第三方组件)会直接处理你的支付信息;我们只会收到识别你购买了哪个产品档位所需的信息。
AI 功能与中继
Apertura 的 AI 功能(聊天、读取屏幕、剪贴板宏、附件)有两种工作方式,你可以在“设置”中看到当前启用的是哪一种:
设备端
在 macOS 上,“私密设备端 AI”使用 MLX 在本地运行模型。开启时,你的提示词完全在你的机器上处理,对话的任何内容都不会发送到别处 — 包括附加的图片,其字节留在 Mac 上,只以本地提取的文字形式送出。模型文件从 artifacts.apertura.app 一次性下载,对照一份列出每个文件大小和 SHA-256 的签名清单;该下载不携带你的任何内容。Windows 目前没有本地模型,因此 Windows 上的 AI 走中继。
中继辅助
选择中继辅助 AI 时(付费档位的默认设置,免费档位也可使用),你的对话会发送到位于 api.notch-os.com 的后端,由后端转发给后端 AI 模型以生成回复。后端会把请求路由到不止一家上游提供方,并可能更换由哪家提供服务,所以本页不承诺由某一家具名公司看到你的提示词。固定且可核查的是路径:你的设备只与 api.notch-os.com 通信,由该后端与模型提供方通信。
使用中继辅助 AI 时会包含:
- 当前对话中的可见消息(每一轮新对话都会一并发送,让模型获得上下文)。
- 你明确附加的内容:剪贴板文本(仅在你运行 AI 剪贴板宏时,绝不会自动发送)、“读取我的屏幕”类功能捕获的屏幕文字(仅提取的文字,不是截图图像),或在本地从你附加的文件或图片中提取的文字。文件字节和截图不会上传,只上传在你设备上从中提取的文字。唯一的例外是接下来描述的图片路径。
对于中继辅助 AI 的内容,我们的后端不会做的事:不会把你的提示词或模型的回复写入数据库或日志文件。只记录计费和防滥用所需的元数据,即你的设备指纹、令牌数量、模型名称和你的套餐档位,存放在 usage_log 表中。参见保留与删除。
另外,如果你使用会搜索网络或抓取 URL 的 AI 代理工具,该请求会直接从你的设备发往搜索提供方或你要求抓取的网站,不经过我们的中继,并适用该提供方自己的隐私惯例。
对附加图片进行视觉分析是一项单独且可撤销的同意:开启时,图片的缩小副本会发送到中继,以便模型看到它;关闭时,或“私密设备端 AI”开启时,只发送本地从图片提取的文字。应用会在你发送前说明将走哪条路径。
天气
天气模块在两个平台上的工作方式不同:
- macOS:如果你授予定位权限,Apertura 会使用 Mac 的定位服务(城市级,而非持续的精确追踪),用你的坐标直接从第三方天气数据提供方 Open-Meteo 获取天气。如果你拒绝或尚未授予定位权限,Apertura 会退而通过第三方 IP 地理定位查询,根据你的 IP 地址估算位置。天气结果缓存在你的设备上,大约每 15 分钟刷新一次。
- Windows:你可以输入城市名称,它会被发送到 Open-Meteo 的地理编码服务以解析坐标,再用坐标获取预报。天气面板还提供“使用当前位置”:它会向 Windows 内置的位置服务请求一次性定位(不使用 Google 等需要密钥的地理定位提供方),在任何网络调用之前把坐标四舍五入到两位小数,原始定位只保留在内存中。如果你已关闭 Windows 位置服务,它不会定位你 — 而是向 ipapi.co 请求城市级别的估算并标注为近似值,与 Mac 使用的回退路径相同。你选择的位置只保存在你电脑本地。
在这两种情况下,天气请求都是从你的设备直接发往 Open-Meteo(在 Mac 拒绝定位时,还会发往 IP 地理定位服务);它们不经过 Apertura 后端,也不附带任何设备标识符或许可证信息。
软件更新
Apertura 会自动检查更新:
- macOS 使用开源的 Sparkle 更新器,大约每小时检查一次
updates.notch-os.com。更新包经过密码学签名,并在安装前验证。 - Windows 针对同一更新服务器使用 electron-updater 库。更新会自动下载,但未通过签名检查就不会安装;应用不会悄悄降级你的版本。
更新检查会告诉我们的服务器你的应用版本、操作系统和架构,以便提供正确的安装包。这是任何自动更新的桌面应用的标准行为,与你的许可证或设备指纹无关。这两个库还会发送任何 HTTP 客户端都会发送的常规 HTTP 元数据,包括 User-Agent 字符串;我们没有覆盖该库行为。
在 Windows 上,更新在安装前会对照固定的证书指纹进行校验。未附带签名证书的构建在允许列表中没有条目,因此其更新程序会拒绝所有候选,而不是接受未签名的下载。
崩溃报告与分析
macOS 和 Windows 版 Apertura 都不包含任何崩溃报告 SDK(例如 Sentry 或 Crashlytics),也不包含任何分析或使用情况追踪 SDK(例如 Mixpanel、Amplitude、PostHog、Firebase 或 Google Analytics),notch-os.com 也不加载任何分析脚本。除非你告诉我们,否则我们不会知道应用在你的机器上何时崩溃,也没有会话录制、漏斗追踪或功能使用信标。
Stats 模块(系统 CPU、内存、GPU、温度、磁盘、电池和网络信息)完全在你的设备上运行并存储历史记录,仅供你自己查看,不会传输给我们。如果你使用可选的远程设备群监控功能来查看你自己的其他机器,该连接直接在你的设备之间建立(例如经由你自己的 Tailscale 网络或 SSH 配置),绝不会经过我们的服务器。
有一项本地网络功能会定期通过第三方服务(ipify.org)查询你设备的公网 IP 地址,目的仅是在 Stats 面板中显示给你;该值不会发送到 Apertura 的服务器。
下载等待名单
下载页上的“通知我”表单是可选的,且不使用任何第三方追踪器:你输入的地址只会发送到 api.notch-os.com,我们会保存该地址、你选择的平台,以及你打开我们发出的确认链接的时间(在点击之前不会计入任何数据);确认与退订令牌只以一方向哈希的形式保存,IP 地址仅短暂用于限制提交频率;我们发出的每封邮件都带有退订链接,打开后即从名单中移除,未确认的登记会在链接失效后再过 30 天被删除。
保留在你设备上的内容
以下功能只在你的设备上存储数据,正常运行时绝不会传输到 Apertura 的服务器:
- 剪贴板历史:存储在本地。只有当你明确对其运行 AI 操作时,才会被包含进 AI 请求(参见AI 功能与中继),绝不会自动或在后台读取。
- 备忘录:存储在本地。当你点按保存 AI 聊天找到的内容时,聊天可以写入一条备忘录,但不会有任何东西自动读取你现有的备忘录并发送到别处。
- 截图:使用操作系统自带的截图机制在本地捕获并保存;Apertura 不会将其上传到任何地方。
- 摄像头预览(用于刘海的摄像头工具):仅在本地显示,不做 AI 处理,视频画面也不通过网络传输。
有两个范围很窄的例外需要明确指出,因为它们是这些本地内容仅有的可能离开你设备的路径:
- 如果你手动把截图、备忘录导出文件或其他文件附加到 AI 聊天消息中,Apertura 从该文件提取的文字会像其他附件一样发送到 AI 中继(参见AI 功能与中继)。只有你选择附加文件时才会发生。
- 可选的 Guardian 防盗功能可以向你自己配置的 webhook 地址发送通知(标题、消息、时间戳,以及是否拍摄了照片的是/否标记),例如你自己的 ntfy.sh、IFTTT 或 Zapier 端点。照片本身保留在你的设备上,绝不会包含在该通知中。只有当你既启用了 Guardian 又配置了 webhook 地址时,它才会发送任何内容。
保留与删除
| 数据 | 位置 | 保留期限 |
|---|---|---|
| AI 使用元数据(设备指纹、令牌数量、模型名称、档位) | 后端数据库(usage_log) | 在你的许可证/设备处于活跃状态期间保留。目前这张表没有定时清除机制;我们如实说明,而不是暗示一个并未实现的期限。 |
| AI 生成的图片 | 后端,存储前加密(AESGCM) | 在可配置的期限后自动失效,默认 86400 秒(24 小时) |
| 设备/许可证记录 | 后端数据库 | 不活跃的设备在 30 天无活动后会被自动标记为已释放(不删除);已撤销设备的审计记录在 30 天后删除 |
| 刷新/会话令牌 | 后端数据库 | 访问令牌默认有效 12 小时,刷新令牌 30 天;过期行会顺带移除 |
| 本地应用数据(剪贴板、备忘录、统计历史、天气缓存) | 仅在你的设备上 | 由你控制;统计历史在本地按滚动窗口清理(通常为 24 小时到 30 天,取决于数据类型) |
应用内没有自助的“删除我的数据”按钮。删除请求通过联系页面提交,该页面写明当前确认的途径。由于 AI 提示词和回复不会被存储,请求涉及的是使用元数据、设备/许可证记录,以及仍在保留期内的生成图片。
第三方组件
Apertura 使用少量第三方服务和开源组件来运行:
- Open-Meteo — 天气和地理编码数据(参见天气)。
- ipapi.co — 基于 IP 的位置估算,仅在精确位置不可用时作为 macOS 的备用方案。
- ipify.org — 在本地用于在 Stats 面板中显示你自己的公网 IP 地址。
- Sparkle(macOS)和 electron-updater(Windows)— 开源的更新检查库。
- open.er-api.com — 换算器实时汇率背后的免密钥货币数据源。离开你设备的只有该数据源请求,最近一次成功的应答会缓存六小时。
- lrclib.net — 同步歌词。只发送艺术家、曲目、专辑和时长,且仅在你请求歌词时发送。
- Lemon Squeezy — 支付处理和许可证 API。购买在那里完成;应用通过我们的后端向 Lemon Squeezy 的许可证 API 校验密钥,从不接触你的银行卡信息。
- Ember 账户网关(
api.cabinhub.com.cn)— 仅在你选择登录 Ember 账户并同步 AI 对话时使用。标记为“仅保留在设备上”的对话绝不会发送到那里。 - 中继背后的一个或多个 AI 模型提供方 — 参见AI 功能与中继。
这些第三方各自只处理上文相关章节所述的数据,超出该范围的内容则适用其各自的隐私政策。
安全
许可证会话令牌使用你操作系统的安全凭据存储(macOS 钥匙串;在 Windows 上是 Electron 的 safeStorage,由 DPAPI 支撑)保存,而不是明文文件。在设备支持的情况下,Mac 付费会话还会额外绑定到你设备的 Secure Enclave。后端管理访问是一个共享的运维 bearer 密钥,采用常量时间比较,并在重复失败后按 IP 锁定;未配置该密钥时,所有管理路由都返回 503,因此配置错误的部署是关闭的,而不是敞开的。它是一个共享的运维凭据,不是按人分配的管理员账户,我们也不声称存在我们这边谁做了什么操作的审计轨迹。没有任何系统是绝对安全的,我们不能保证绝对的安全。
儿童
Apertura 是一款通用桌面生产力工具,并非面向儿童,我们也不会有意收集儿童的数据。如上所述,许可证激活不收集姓名、电子邮件地址、电话号码或账单地址,因此目前产品中没有年龄验证流程。
本政策的变更
生效日期标注在本页顶部。重大变更会在发布记录中公告,那里也是记录产品变更的同一处,本页日期会在同一次变更中更新。我们不会就政策变更发送电子邮件,因为我们没有为大多数用户保留地址。
联系方式
隐私问题和删除请求通过联系页面提交。该页面刻意保持准确:它只列出已确认并有人值守的渠道,不公布不存在的邮箱。