Grove(「本应用」)是一款在 iPhone 与 iPad 上本地运行的 Git 客户端。本政策说明本应用如何处理你的信息。
1. 开发者不运营任何账号后端
- 开发者没有账号体系后端:不存在由开发者运营的用户注册、登录或数据服务器。
- 本应用没有第三方分析或广告 SDK、没有崩溃统计上报通道、没有广告与遥测。
- 你的仓库内容、提交历史、分支与文件始终保存在你的设备上(或你自行选择的远端 Git 服务器上),开发者无法访问。
- 应用内的「GitHub 登录」是完全可选的、直接与 GitHub 之间的授权(见第 4 条);不登录也可使用全部本地与 SSH 功能。
2. 你的数据存放在哪里
- 仓库与文件:保存在你设备上由你授权的目录中。本应用对这些目录原地工作,不复制、不迁移到别处。
- 凭据与密钥:你添加的 SSH 密钥与凭据保存在 iOS / iPadOS 系统钥匙串中(仅本机、设备解锁后可用)。本应用不把凭据写入日志,不把它们发送到任何由开发者控制的服务器。
- 可选的 GitHub 访问令牌:若你选择登录 GitHub,访问令牌仅保存在本机系统钥匙串中(仅本机、设备解锁后可用),不上传到任何由开发者控制的服务器;你可以随时在应用内退出登录以清除本机令牌,或在 GitHub 网页撤销授权。
- 诊断信息:应用内可以生成诊断分享内容,且仅在你主动发起分享时经系统分享表单由你发给接收方;导出内容是一份字段白名单 JSON(应用版本、系统版本、能力标记、操作类别/阶段/结果、序数化仓库别名 R1/R2…),不含仓库路径、主机地址、凭据、私钥、令牌与提交内容。分享前你可以自行检查内容。
3. 网络连接
- Git 远端的网络连接由你显式发起:克隆、抓取(fetch)、拉取与推送,目标主机地址由你输入或经你确认的仓库列表带入。
- 仓库的 Git 传输(克隆、抓取、拉取、推送)经你选择的 SSH 远端进行,使用 SSH 加密传输。目标主机的密钥指纹发生变化时,本应用会阻断连接并请你人工审阅,不会静默放宽验证。
- 若你选择登录 GitHub,本应用还会与你显式授权的 GitHub 服务通信(见第 4 条)。
- 除 Git 操作、可选的 GitHub 授权与下述 Apple 内购权益检查外,本应用不主动连接其他服务器,没有开发者遥测回传。
4. 可选的 GitHub 授权(下一版提供)
- 可选设备授权:登录完全可选。你在本机发起后,Grove 显示设备码,由你在 github.com 网页上亲自输入并批准;Grove 不包含、也不索要应用的 Client Secret。
- 授权范围:向 GitHub 请求 repo(包括私有仓库的读写权限)与 write:public_key(公钥登记与查看)两项范围;具体内容以你批准时 GitHub 页面显示为准,可随时在 GitHub 网页撤销。
- 账号与仓库列表:登录后 Grove 通过 GitHub HTTPS API 获取你的账号信息(用户名)与名下仓库列表(含私有仓库),用于在本机展示与挑选克隆目标;这些请求直接发往 GitHub,不经过开发者服务器。
- 公钥登记需明确确认:只有在你明确确认后,Grove 才把本设备的 SSH 公钥登记到你的 GitHub 账号,用于此后经 SSH 远端访问仓库;未经确认不会上传任何公钥。
- 令牌位置:GitHub 访问令牌仅保存在本机系统钥匙串(仅本机、设备解锁后可用),见第 2 条。
4a. Apple 内购(下一版提供)
- Grove Pro 为可选的一次买断。商品价格、付款与退款由 Apple App Store 处理,Grove 不接收银行卡、支付密码或 Apple 账号密码,也不把付款资料发送到开发者服务器。
- 应用在启动、返回前台及购买状态变化时,通过 StoreKit 检查 Apple 验证的购买权益和早期下载资格;系统可能与 Apple 服务通信。恢复购买需由你主动点击,可能需要 Apple 账号认证。
- 权益验证在本机完成,不记录或导出原始收据、交易编号、账号标识或支付信息。你的 GitHub 登录与 Apple 购买账号相互独立。
- 退款、未批准或无法验证购买不会删除或锁住已有仓库;仅可能限制添加更多仓库。
Optional Grove Pro purchases use Apple's App Store. Apple handles prices, payment and refunds. Grove never receives your card details or Apple Account password. StoreKit checks verified purchase access and early-download eligibility at launch, on foreground entry and when transactions change, and may contact Apple. Restoring purchases requires your explicit action. Verification stays on-device; raw receipts, transaction IDs, account identifiers and payment details are not logged or sent to a developer server. Existing repositories remain usable after refunds or verification failures.
5. 权限使用
- 文件与文件夹访问:仅用于你授权的仓库目录,用途是执行你发起的 Git 操作。
- 本应用不请求通讯录、照片、位置、麦克风、相机等与 Git 功能无关的权限。
6. 儿童
本应用不面向儿童定向设计,也不明知故犯地收集 13 岁以下儿童的任何信息(开发者不运营任何账号后端,也不收集任何人的个人信息,见第 1 条)。
7. 政策变更
如本政策更新,更新后的版本会发布在同一网址,更新日期相应调整。重大变更会在应用更新说明中提示。
8. 联系方式
如对本政策有任何疑问,请通过以下方式联系:lazywc@gmail.com