隐私政策

最后更新:2026 年 8 月 17 日

简短版:Grove 不收集任何个人数据。你的代码和仓库内容从不离开你的电脑。 唯一的联网行为是检查软件更新,可以关闭。

我们不收集什么

Grove 是一个在本地运行的 macOS 应用。它不包含统计 SDK、崩溃上报或广告组件。以下内容从不被上传:

唯一的联网行为:检查更新

Grove 使用开源框架 Sparkle 检查新版本。检查时,你的设备会向本站请求一个更新说明文件。 这次请求会像访问任何网站一样,在服务器日志里留下 IP 地址、时间和 User-Agent (其中含 Grove 版本号与 macOS 版本号)。这些日志由 Cloudflare 保存,仅用于排查故障, 我们不会用它建立用户画像,也不会与任何第三方共享。

你可以在菜单里关闭自动检查更新。关闭后,Grove 不会再发起任何网络请求。

许可证

Grove 的许可证在本地离线校验。App 不会为了验证授权而联网,也不会把你的许可证密钥、 邮箱或设备信息发送到任何服务器。

购买信息

购买流程由第三方支付平台处理。你的支付信息由该平台收集与保管,我们不接触也不存储你的 银行卡或账户信息。我们只会收到完成订单所必需的信息(例如邮箱地址,用于发送许可证)。 支付平台如何处理你的数据,适用其自身的隐私政策。

运营者与联系方式

如对本政策有疑问,请联系 support@hackingwithjs.com

政策变更

本政策如有修改,会更新本页顶部的日期。重大变更会在应用内或通过邮件告知已购买用户。

Privacy Policy

Last updated: 17 August 2026

Short version: Grove collects no personal data. Your code and repositories never leave your machine. The only network request is the update check, and you can turn it off.

What we don't collect

Grove is a locally-running macOS app. It contains no analytics SDK, no crash reporter and no advertising components. The following is never transmitted:

The one network request: update checks

Grove uses the open-source Sparkle framework to check for new versions. When it does, your device requests an update manifest from this site. Like any web request, this leaves an IP address, timestamp and User-Agent (which includes the Grove and macOS version numbers) in the server log. Those logs are held by Cloudflare, used only for troubleshooting, and are never used to build a user profile or shared with third parties.

You can disable automatic update checks from the menu. Once disabled, Grove makes no network requests at all.

Licensing

Grove validates its licence offline, on your machine. The app never goes online to verify entitlement and never transmits your licence key, email address or device details to any server.

Purchase information

Purchases are handled by a third-party payment provider. Your payment details are collected and held by that provider; we neither see nor store your card or account information. We receive only what is required to fulfil the order — an email address, to deliver your licence. The provider's own privacy policy governs its handling of your data.

Operator and contact

Questions about this policy: support@hackingwithjs.com.

Changes

If this policy changes, the date at the top of this page is updated. Material changes are announced in-app or by email to existing customers.