本隐私政策说明 Claude Code Notifier 如何处理您的数据。Claude Code Notifier 由以下部分组成:适用于 iOS 和 Android 的手机应用、ccn(适用于 macOS、Linux 和 Windows 的命令行工具)、可选的 Mac 菜单栏应用、我们的中继服务器以及本网站。我们将上述各项统称为“本应用”。本应用由 TouchTap Ltd(“我们”)提供。我们希望清楚地说明收集哪些数据、如何使用这些数据,以及可能与谁共享这些数据。
ccn 或 Mac 应用)会通过我们的中继服务器向您已配对的手机发送通知。通知可能包含项目名称和文件夹路径、Claude 的消息或其提出的问题,对于权限请求,还可能包含所涉及的命令或文件。服务器会在 48 小时内删除通知。我们不会出售您的数据,也不会将其用于广告。
01本应用概览
Claude Code Notifier 包括:
ccn 相同的功能,还可以显示 Mac 通知并发送 Webhook。02我们收集的数据
2.1ccn(命令行工具)
Claude Code 会在一次会话中的七个时点运行 ccn(会话开始、您每次提交提示词时、每次使用工具之前、权限请求、权限通知、Claude 停止时以及会话结束),并向其传递该时点的详细信息:会话 ID、工作文件夹、Claude 想要使用的工具及其输入、您输入的提示词、Claude 的最后一条消息,以及 Claude 提出的任何问题。ccn 会在您的电脑上的 ~/.config/ccn/(Windows 上为 %APPDATA%\ccn\)中保存以下内容:
config.toml),以及上次检查更新的时间记住配对和您的偏好设置credentials),或在您选择时保存在系统钥匙串中向中继服务器进行身份验证ccn.log,大小保持在 1 MB 以内)故障排查~/.claude/settings.json 的七个钩子条目,以及该文件的一次性备份使 Claude Code 能够运行 ccnccn 会向我们的中继服务器发送以下内容:注册时,本电脑的随机 ID、令牌、名称(默认为电脑的主机名;您可以另选名称)、操作系统、ccn 版本及其支持的功能;以及每条通知中第 2.4 节所列的数据。发往我们服务器的每个请求还带有 ccn 版本和电脑的语言(本应用支持的 17 种语言之一,取自操作系统或 CCN_LANG),以便服务器能用您的语言回复。为了判断是否需要等待您的手机,ccn 会检查键盘和鼠标已闲置多长时间。该检查在您的电脑上进行,其结果绝不会被发送。ccn pair 会发送第 2.5 节所述的匿名设置事件;其钩子不发送分析数据。
ccn 的钩子在安装时即已安装,早于任何手机的配对。在您配对手机之前,ccn 只在电脑本机上显示通知,不会向我们的服务器发送任何有关您会话的内容;如果电脑已经注册,它会在每次 Claude Code 会话开始时向我们的服务器查询是否已有手机配对。在电脑上显示约十条通知后,它可能会在终端中用一行文字建议您配对手机;ccn config set pair_nudges off 可关闭该建议。
每天一次,在 Claude Code 会话开始时,ccn 会在后台检查是否有新版本。它向我们的服务器查询最新版本的版本号,只发送自己的版本和电脑的语言,不发送任何标识符。如果存在更新的版本,且 ccn 是通过本网站的安装脚本或 npx 安装的,它会从 GitHub 下载该版本及其校验和文件,校验校验和,然后替换自己的程序文件;对 GitHub 而言,这次下载与其他任何下载无异(见 5.6)。通过 Homebrew、npm、Scoop 或 winget 安装的副本绝不会被替换,ccn 只会打印出需要运行的命令。您可以通过 ccn config set auto_update off 或设置 CCN_NO_AUTO_UPDATE=1 关闭该检查。更新成功或失败会作为匿名设置事件上报(见 2.5)。
2.2Mac 应用(可选)
Mac 菜单栏应用会在您的 Mac 本地收集并存储以下数据:
与手机配对后,Mac 应用会向我们的中继服务器发送其随机 ID、令牌、Mac 的名称以及第 2.4 节所列的通知数据。
2.3iOS 和 Android 应用
手机应用会收集并存储:
ccn 的电脑配对手机应用可以使用相机扫描电脑显示的二维码(来自 ccn pair 或 Mac 应用)。图像在手机上处理,不会被存储或发送。
2.4中继服务器
我们的中继服务器存储:
ccn 或 Mac 应用)、版本、支持的功能,以及注册时间和最后在线时间电脑 60 天未连接时删除,同时删除该电脑的设置和配对ccn config set 为电脑选择的设置:发送哪些通知、勿扰时段、提示音,以及等待手机回答的时长保留至更改为止,随电脑记录一并保存ccn 和安装脚本的设置事件,详见第 2.5 节60 天如果手机或电脑 60 天未使用,服务器会删除其记录和配对。如需再次使用,您需要重新配对。
中继服务器不存储您的 IP 地址。我们的托管服务提供商 Cloudflare 会处理您的 IP 地址以传送每个请求,并告知我们请求来自哪个国家/地区。我们会在配对代码被拒绝时记录该国家/地区,以发现滥用行为,并会随分析事件和崩溃报告(包括 ccn 的设置事件,见 2.5)一并记录,这些记录在 60 天后删除。
2.5分析
手机应用会向我们自己的服务器发送匿名产品事件。事件不携带任何设备标识符,服务器也不会将 IP 地址与事件一并存储。每批事件仅包含平台、应用版本和构建号、操作系统版本、设备型号、国家/地区、语言、使用权限状态以及构建类型。事件描述应用的使用方式,例如:应用已打开、付费墙已被查看或已选择某个方案、购买结果、引导步骤、是否授予了通知权限、您选择设置哪种电脑(macOS、Linux 或 Windows)、已显示配对代码或已复制安装命令、配对已完成(含电脑类型及其操作系统),以及您已回答某条通知(仅含提示类型)。事件绝不包含项目名称、命令、提示词或 Claude 的消息。
iOS 应用会将匿名的崩溃和卡死报告发送到我们自己的服务器,以便我们发现并修复崩溃。这些报告由 Apple 的 MetricKit 框架提供。报告包含应用版本和构建号、操作系统版本、设备型号、国家/地区,以及故障的技术细节:错误类型和信号,以及以代码模块名称和偏移量表示的调用栈。报告不包含姓名、账户、设备标识符、IP 地址或通知内容,服务器也不存储 IP 地址。报告会在 60 天后删除。手机应用不使用任何第三方分析或崩溃报告服务,Android 应用也不会向我们的服务器发送崩溃报告。
ccn pair 和本网站的安装脚本会向我们自己的服务器发送少量匿名设置事件,以便我们了解安装或配对在哪一步失败:安装已开始、已完成或失败(以及失败在哪一步),配对已开始、已完成或失败(附简短原因,例如代码已过期),ccn 的安装方式(安装脚本、Homebrew 或 npm),ccn 的版本,以及操作系统和处理器类型。ccn 还会上报自动更新是成功还是失败,并附上更新前后的版本。这些事件不包含任何标识符、电脑名称,也不包含您的 Claude Code 会话中的任何内容。服务器会像处理手机应用的事件一样加上请求来源的国家/地区和电脑的语言,但不存储 IP 地址。设置 CCN_NO_ANALYTICS=1 或 DO_NOT_TRACK=1 即可关闭。
本网站使用 Umami,这是一项注重隐私、不使用 Cookie 的分析服务。它统计页面浏览量以及下载和安装按钮的点击次数,包括显示或复制了哪个操作系统的安装命令。在许可证页面上,它会统计“购买”的点击(含方案)、查询过密钥或申请过替换链接,以及新密钥已显示;绝不统计密钥、您的电子邮件或结账的 ID。
ccn unlock、ccn activate 和 ccn deactivate 会发送与 ccn pair 同类的匿名设置事件:购买已开始(含方案)以及浏览器是否已打开,电脑已获得许可证(通过结账或密钥)或激活失败的原因,以及许可证已被移除。每天一次,在 Claude Code 会话启动时,会向我们的服务器询问这台电脑是否有许可证;不会发送任何有关会话的信息。
03我们如何使用您的数据
您的数据仅用于提供和改进本应用:
- 传送通知:在 Claude Code 完成工作或需要您处理时提醒您
- 远程回答:将您在手机上的回答传回您电脑上的 Claude Code
- 配对:通过短时有效的代码连接您的电脑和手机
- 电脑设置:让您可以在手机上更改电脑的设置
- 会话跟踪:显示会话历史和统计信息(Mac 应用)
- Webhook 转发:将通知发送到您配置的外部服务,例如 Slack 或 Discord(Mac 应用)
- 应用内购买验证:确认订阅和永久版购买(手机应用),并保存财务记录
- 产品改进:以汇总方式统计应用的使用情况以及定价测试的效果
- 安全:发现对配对代码和中继服务器的滥用
- 修复崩溃: 用于发现并修复 iOS 应用的崩溃和卡死
- 提醒和通知: 提醒你完成设置,在付款失败或试用被取消时通知你,并显示锁屏卡片
- 更新: 告知
ccn和 Mac 应用是否有更新的版本 - 反馈: 阅读你告诉我们的内容并改进应用
04数据存储与安全
4.1本地存储(ccn)
- 文件:保存在
~/.config/ccn/(Windows 上为%APPDATA%\ccn\)中。在 macOS 和 Linux 上,配置文件和凭据文件只能由您的用户账户读取 - 凭据:默认保存在私有文件中;如果您将
credential_store设置为keychain,则保存在 macOS 钥匙串、Windows 凭据管理器或 Linux Secret Service 中 - 数据保留:会话文件在会话结束时删除,或在 7 天未使用后删除。
ccn uninstall会删除ccn保存的所有内容
4.2本地存储(Mac 应用)
- 会话数据:存储在您 Mac 上的本地数据库中
- 偏好设置:存储在 UserDefaults(macOS 标准偏好设置存储)中
- 云端凭据:安全地存储在 macOS 钥匙串中
- 数据保留:会话历史在可配置的期限(默认:30 天)后自动删除
4.3本地存储(iOS/Android)
- 通知历史:存储在您手机上的应用私有存储中
- 设备标识符:存储在 iOS 钥匙串中,或 Android 的加密存储中。iOS 可能在应用删除后仍保留钥匙串项目,因此重新安装可能会沿用相同的标识符
- 偏好设置:存储在 UserDefaults(iOS)或 DataStore(Android)中
- 数据保留:通知历史会一直保留,直至您清除它或删除应用
4.4云端存储
- 基础设施:中继服务器运行在 Cloudflare Workers 上,数据存储在 Cloudflare D1(SQLite)和 Durable Objects 中
- 加密:与服务器的所有通信均使用 TLS 加密(HTTPS/WSS)
- 地理位置:数据可能在 Cloudflare 位于全球各地的数据中心中处理
- 通知过期:清理任务每天运行一次,删除超过 24 小时的通知及您对其的回答,因此任何通知的保留时间都不会超过 48 小时。在电脑等待您回答期间,回答的副本还会另外保留最多 1 小时
- 不活跃记录:同一每日清理任务会删除 60 天未使用的手机和电脑及其配对和设置,并在已撤销的配对撤销 60 天后将其删除。购买记录会在其日期起 6 年后删除
05第三方服务
本应用使用以下第三方服务:
- 使用方
- iOS 应用、中继服务器
- 用途
- 处理订阅和一次性购买,并向我们发送相关通知
- 与 Apple 共享的数据
- 购买信息,以设备标识符作为其账户令牌。如果你在应用中打开“协助处理退款申请”,之后又向 Apple 申请退款,我们还会告诉 Apple 该购买已交付、你是否设置并使用过此应用(自购买以来是否有电脑与你的手机配对),以及我们是否认为应批准退款。我们只会在你同意的情况下这样做,你可以随时在“设置”中撤回同意;每次回复的副本保留 60 天
- 接收的数据
- 购买验证、订阅状态、日期、价格、币种和店面所在国家/地区
- 备注
- 付款信息完全由 Apple 处理。我们不会接收或存储您的付款详细信息。
- 使用方
- Android 应用、中继服务器
- 用途
- 处理订阅和一次性购买,并向我们发送相关通知
- 与 Google 共享的数据
- 购买信息,以设备标识符作为其经过混淆处理的账户 ID。 对于电脑显示的链接,一次性配对令牌会作为安装来源(install referrer)经由 Google Play 传递
- 接收的数据
- 购买验证、购买令牌、订阅状态和日期
- 备注
- 付款信息完全由 Google 处理。我们不会接收或存储您的付款详细信息。
- 使用方
- iOS 应用、中继服务器
- 用途
- 向 iPhone 和 iPad 传送通知和静默更新
- 与 Apple 共享的数据
- 推送令牌;通知标题和正文(最多 200 个字符);项目名称;提示文本(最多 500 个字符);工具名称和输入摘要;回答选项;通知 ID。不发送项目文件夹路径。 对于锁屏卡片:卡片的内容(项目名称和简短摘要)
- 使用方
- Android 应用、中继服务器
- 用途
- 通过 Firebase Cloud Messaging(FCM)向 Android 手机传送通知和静默更新
- 与 Google 共享的数据
- 推送令牌以及与 APNs 相同的通知数据;Firebase 安装 ID
- 使用方
- 中继服务器、本网站
- 用途
- 托管中继服务器和本网站,并存储第 2.4 节所述的服务器数据
- 处理的数据
- 发送到中继服务器的所有数据,以及 IP 地址等标准请求数据。Cloudflare Email Service 还负责发送许可证邮件:您的密钥以及用于替换密钥的链接
- 使用方
ccn和 Mac 应用- 用途
- 发布文件托管在 GitHub 上。本网站上的安装脚本会从 GitHub 下载
ccn并校验其校验和,ccn也以同样的方式从 GitHub 下载自己的更新(见 2.1)。您也可以通过 Homebrew 或 npm 安装 - 共享的数据
- 与您下载所用的服务共享的标准请求数据(IP 地址、用户代理)。Homebrew 和 npm 有各自的分析机制和政策
- 使用方
- Mac 应用
- 用途
- 检查并提供 Mac 应用更新
- 共享的数据
- 应用读取本网站的更新源并从 GitHub 下载时产生的标准 HTTP 请求数据(IP 地址、用户代理)
- 备注
- Sparkle 是内置于应用中的开源软件,而非一项服务;它不会向其开发者发送任何内容
- 使用方
- Mac 应用(由您设置)
- 用途
- 将通知转发到外部服务
- 支持的服务
- Slack、Discord 或任何自定义 HTTP 端点
- 共享的数据
- 通知内容,包括项目名称、路径、消息和时间戳
- 备注
- Webhook 完全可选,并由您自行配置。数据只会发送到您明确配置的服务。
ccn不发送 Webhook。
- 使用方
- 在本网站或通过
ccn unlock购买的许可证 - 用途
- 以商户记录方(merchant of record)的身份销售许可证:收款、征税、发送收据,并处理续订、取消和退款
- 与 Lemon Squeezy 共享的数据
- 您在结账时输入的内容会发送给 Lemon Squeezy,而不是我们:您的姓名、电子邮件、账单地址和付款信息。我们只向其发送一个随机的结账 ID,以便该购买能找到正在等待它的页面或终端
- 接收的数据
- 您的电子邮件地址和姓名(我们只保留电子邮件)、方案、订单、订阅和退款状态、金额、币种和税费。我们绝不会收到您的银行卡信息
06数据共享
我们仅在以下情况下共享您的数据:
- 在您的设备之间:通知通过我们的中继服务器在您的电脑与其已配对的手机之间传递。已配对的手机可以看到每台电脑的名称、类型、操作系统和设置
- 与推送通知提供商:Apple(APNs)和 Google(FCM)会接收通知内容,以将其传送到您的手机
- 与应用商店(用于购买):Apple 和 Google 处理订阅和一次性购买;它们会接收交易数据,我们不会接收您的付款信息
- 与 Lemon Squeezy 共享(许可证):在我们网站上购买的许可证由 Lemon Squeezy 销售;您直接向其提供付款信息,我们则接收订单和您的电子邮件地址
- 与我们的服务提供商:Cloudflare 托管中继服务器和本网站,Umami 统计网站访问量
- 与您配置的 Webhook:如果您在 Mac 应用中设置了 Webhook,通知数据将被发送到这些端点
- 法律要求:如法律要求或为保护我们的合法权利,我们可能会披露数据
我们不会向第三方出售、出租或交易您的个人数据。
07您的权利和选择
7.1数据访问与删除
- 查看您的数据:通知历史显示在手机应用中;
ccn config show显示电脑的设置;会话历史显示在 Mac 应用中 - 取消配对:在手机上、通过
ccn devices或在 Mac 应用中撤销配对。手机会立即停止接收该电脑的通知。服务器会将该配对标记为已撤销,按常规时间表在 48 小时内删除其通知,并在 60 天后删除该配对 - 移除 ccn:
ccn uninstall会从 Claude Code 的设置中移除其钩子、撤销所有配对,并删除其凭据和本地文件 - 删除本地数据:删除手机应用或 Mac 应用会移除其在该设备上存储的数据(iOS 钥匙串中的设备标识符除外;见第 4.3 节)
- 删除服务器数据:您可以随时自行操作。在手机应用中,打开“设置”并选择“删除我的数据”;在电脑上,运行
ccn forget。两者都会立即从我们的服务器上移除该手机或电脑、其配对以及排队中的通知。您留下的任何数据,在连续 60 天未被使用后会被自动删除。这也会删除其反馈、使用计数、付款通知记录、锁屏卡片和配对失败记录 - 删除许可证:在 claudecodenotifier.com/licence 输入您的密钥,然后选择“删除我的许可证”。这将永久终止许可证,停止年度方案的续订,并从我们的记录中移除您的电子邮件地址、密钥和电脑名称。如果您丢失了密钥,请先通过我们发送给您的邮件链接获取替换密钥。购买记录(金额、税费、日期和 Lemon Squeezy 订单 ID)因法律要求而保留 6 年,而 Lemon Squeezy 作为商户记录方保留其自身的记录,因此请向其申请删除其持有的数据
- 数据保留设置:在 Mac 应用的设置中选择会话历史的保留时长
7.2退出选项
- 选择发送的内容:您可以在手机上或通过
ccn config set,为每台电脑关闭“完成”、权限请求或提问的通知,或设置勿扰时段 - 通知权限:如果您在手机上关闭了本应用的通知,服务器会记录此情况并停止向其发送可见通知。静默更新(例如配对确认)仍会送达
- 停止使用中继:取消所有手机的配对,即可停止向中继服务器发送数据。Mac 应用在不使用中继的情况下仍可显示 Mac 通知
- Webhook:在 Mac 应用中删除 Webhook 配置,即可停止向外部服务转发数据
- 自动更新:在 Mac 应用的设置中关闭自动检查更新;对于
ccn,使用ccn config set auto_update off或CCN_NO_AUTO_UPDATE=1 - 配对建议:
ccn config set pair_nudges off可让ccn不再建议您配对手机
7.3您的法定权利
TouchTap Ltd 是本政策所述个人数据的控制者。根据您所在的地区(包括英国和欧盟),您可能有权访问、更正或删除您的个人数据,反对或限制我们对其的使用,以及获取其副本。其中大多数权利,您无需向我们提出请求,即可按 7.1 所述自行行使。如需以其他方式行使,请发送电子邮件至 [email protected]。由于本应用不设账户,我们可能会请您提供电脑和手机的名称等详细信息,以便查找您的记录。您还有权向数据保护监管机构投诉;在英国,该机构为英国信息专员办公室(ICO)(ico.org.uk)。
7.4数据可携带性
本应用目前不提供数据导出功能。存储在您设备上的数据可在本应用中查看,且 ccn 的文件为纯文本格式。
08关于项目路径和命令的信息
ccn 和 Mac 应用的通知可能包含:
- 项目的完整文件系统路径(例如
/Users/yourname/Projects/secret-project) - 工具名称和输入摘要(例如正在读取的文件路径或正在运行的 shell 命令)
- Claude 的最后一条消息、计划和问题,以及您的提示词开头
- 您电脑的名称,除非您另选名称,否则即为其主机名
这些信息会被发送到我们的中继服务器,其精简版本会被发送给 Apple 或 Google 以传送通知。如果您处理的是敏感或机密项目,请考虑手机通知是否合适,以及应为每台电脑开启哪些类型的通知。
09儿童隐私
本应用并非面向 13 岁以下的儿童。我们不会在知情的情况下收集儿童的个人信息。如果您认为我们无意中收集了儿童的数据,请联系我们予以删除。
10国际数据传输
我们的中继服务器运行在 Cloudflare 的全球网络上,Apple 和 Google 则通过其自身的基础设施传送通知。您的数据可能会在您居住国以外的数据中心处理。如果法律要求对这些传输采取保障措施,我们依赖上述提供商已落实的措施,例如欧盟—美国数据隐私框架和标准合同条款。
11本隐私政策的变更
随着本应用的发展,我们可能会更新本隐私政策。重大变更将通过本应用或在本页面上告知。页面顶部的“最后更新”日期表示本政策最近一次修订的时间。译文仅为方便而提供;如译文与英文版本存在差异,以英文版本为准。
12联系我们
如果您对本隐私政策或您的数据有任何疑问、顾虑或请求,请联系我们: