隐私政策
最后更新:2026 年 8 月 17 日
我们不收集什么
Grove 是一个在本地运行的 macOS 应用。它不包含统计 SDK、崩溃上报或广告组件。以下内容从不被上传:
- 你的源代码、diff 内容、提交信息
- 仓库路径、分支名、远程地址
- Git 配置中的用户名与邮箱
- 任何形式的使用行为记录
唯一的联网行为:检查更新
Grove 使用开源框架 Sparkle 检查新版本。检查时,你的设备会向本站请求一个更新说明文件。 这次请求会像访问任何网站一样,在服务器日志里留下 IP 地址、时间和 User-Agent (其中含 Grove 版本号与 macOS 版本号)。这些日志由 Cloudflare 保存,仅用于排查故障, 我们不会用它建立用户画像,也不会与任何第三方共享。
你可以在菜单里关闭自动检查更新。关闭后,Grove 不会再发起任何网络请求。
许可证
Grove 的许可证在本地离线校验。App 不会为了验证授权而联网,也不会把你的许可证密钥、 邮箱或设备信息发送到任何服务器。
购买信息
购买流程由第三方支付平台处理。你的支付信息由该平台收集与保管,我们不接触也不存储你的 银行卡或账户信息。我们只会收到完成订单所必需的信息(例如邮箱地址,用于发送许可证)。 支付平台如何处理你的数据,适用其自身的隐私政策。
运营者与联系方式
如对本政策有疑问,请联系 support@hackingwithjs.com。
政策变更
本政策如有修改,会更新本页顶部的日期。重大变更会在应用内或通过邮件告知已购买用户。
Privacy Policy
Last updated: 17 August 2026
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:
- Your source code, diff contents or commit messages
- Repository paths, branch names or remote URLs
- The name and email in your Git configuration
- Usage or behavioural telemetry of any kind
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.