隐私政策
行迹 iTrailog(以下简称「行迹」)是个人开发者 eyestudio 制作的户外 GPS 轨迹记录工具,是一个个人、非商业项目。本政策说明 iOS 版(含 Apple Watch 和小组件)、Android 版以及官网 itrailog.com 会处理哪些数据、为什么处理、存放在哪里,以及你可以怎么控制。简单说:行迹不需要账号,没有广告和第三方统计 SDK,不出售任何数据;你的轨迹、航点和照片只保存在你自己的设备上。
位置与轨迹、航点、照片、导入导出的文件和设置。我们看不到。
匿名使用统计和崩溃报告(可关闭);你主动提交的意见反馈和设备信息上报。
下载地图图块、查询地名时,请求从你的设备直接发给地图和地名服务商。
1. 运营者与适用范围
行迹由个人开发者 eyestudio 开发和运营(以下简称「我们」)。在适用的数据保护法律下,我们是本政策所述个人信息的处理者(控制者)。
本政策适用于行迹的 iOS App(含 Apple Watch App、小组件和实时活动)、Android App 和官网 itrailog.com(含其接口)。一般问题请联系 hello@itrailog.com,隐私相关请求请发到 privacy@itrailog.com。
2. 保存在你设备上的数据
以下数据只保存在你的手机(和手表)上,不会上传到我们的服务器,我们也无法访问:
- 位置与轨迹:记录时 App 通过 GPS 获取位置(在你授权后,锁屏或切到后台时也会继续记录),连同时间、海拔、速度等保存为轨迹。iOS 版使用 SwiftData,Android 版使用 App 私有存储中的 SQLite 数据库。
- 航点:名称、坐标、海拔、时间、备注、图标和查询到的地名。
- 照片和视频:在你允许访问相册后,App 只读取轨迹时间段内拍摄的照片和视频的拍摄时间与位置,在地图和轨迹上显示缩略图。照片不会被复制、修改或上传。Android 版会在 App 私有目录缓存照片的位置信息,以便更快显示。
- 导入和导出的文件:GPX / KML 文件只在你操作时读取或生成;导出的文件通过系统分享面板发到你选择的地方。
- Apple Watch:手表与 iPhone 之间通过 Apple 的 WatchConnectivity 直接传输记录状态和数据,不经过我们的服务器。
- 设置与地图缓存:你的偏好设置,以及已下载的地图图块(用于离线查看)。
删除轨迹会先移入「最近删除」,之后可以彻底删除;卸载 App 会删除它保存的全部数据。如果你开启了 iCloud 备份或 Android 系统备份,App 数据可能随系统备份保存到 Apple 或 Google 的服务中,这由你的系统设置和它们的隐私政策管理,我们无法访问。
3. 系统权限及用途
- 位置(使用期间 / 始终):显示当前位置、记录轨迹、沿轨迹导航。后台位置权限只用于锁屏或切到后台时继续记录。
- 运动与健身(iOS)/ 身体活动(Android):开启自动暂停时,判断你是否停下或重新出发,停下时关闭 GPS 以省电。
- 照片与视频(只读):在轨迹上显示沿途照片。Android 版另需「访问照片位置信息」以读取照片里的 GPS。
- 通知:显示记录中的状态和导航提醒。
- 忽略电池优化(Android):避免系统在记录中途结束 App。
- 安装未知应用(Android 官网版):用于应用内更新。
所有权限都可以随时在系统设置中关闭,关闭后相应功能将无法使用。
4. 匿名使用统计和崩溃报告
为了了解 App 的使用情况、发现和修复崩溃,行迹会发送匿名使用统计和崩溃报告。它们由同一个开关控制:帮助改进 iTrailog(在 App 的「地图与设置」中),默认开启,可随时关闭。
使用统计(每天最多一次)
- App 版本号和构建号
- 系统名称和版本;手机厂商、品牌和型号;Android 版还包括厂商系统(如 MIUI、HyperOS、HarmonyOS、ColorOS)的版本属性
- App 语言和设备地区设置(如
zh-Hans-CN) - 已保存的轨迹数量、航点数量,以及当天是否记录过轨迹(只有数量,没有内容)
- 一个随机安装 ID:由 App 在首次运行时自己生成的随机数,只用于让同一安装每天只计一次,并把崩溃归到同一安装。它不是设备识别码,重装 App 后会变化。
崩溃报告
- iOS:系统通过 MetricKit 提供的崩溃和卡顿诊断,以及未捕获的异常;Android:未捕获的 Java / Kotlin 异常,以及 Android 11 及以上系统记录的原生崩溃和 ANR(无响应)。
- 内容:错误类型和描述、调用栈、线程、发生时间,以及上面列出的版本、机型、语言和随机安装 ID。崩溃会在下次启动 App 时上传。
数据通过 HTTPS 发送到 itrailog.com/api/ping 和 itrailog.com/api/crash,保存在 Cloudflare D1 数据库中。服务器会另外记录接收时间,以及 Cloudflare 根据请求 IP 判断的国家 / 地区代码;IP 地址本身不会被保存。
统计和崩溃报告不包含:位置、轨迹或航点内容、照片、姓名、手机号、邮箱、账号、广告标识符(IDFA / GAID),以及 IMEI、Android ID 等设备识别码。
关闭开关后,App 立即停止发送,并删除设备上尚未上传的崩溃记录。另外,如果你在 iPhone 的「设置 › 隐私与安全性 › 分析与改进」中选择了「与 App 开发者共享」,Apple 也会通过 App Store Connect 向开发者提供汇总的崩溃数据,这部分由 Apple 的隐私政策管理。
5. 意见反馈
只有当你在 App 中填写意见反馈并点按「发送」时,以下内容才会上传到 itrailog.com/api/feedback:
- 反馈类型(功能建议 / 问题反馈)和正文
- 你选填的联系方式
- 你选择附上的截图(最多 3 张,保存在 Cloudflare R2)
- 平台、App 版本和构建号、系统名称和版本、手机厂商 / 品牌 / 型号、App 语言
- Cloudflare 根据请求判断的国家 / 地区代码
- 你的 IP 地址经加盐 SHA-256 哈希后的值,只用于限制每个网络每小时最多提交 10 条,防止滥用;原始 IP 地址不会被保存
收到反馈后,系统会通过邮件服务 Resend 向开发者邮箱发送一封通知邮件,其中包含反馈正文、截图、联系方式和设备信息。如果你留了邮箱,我们可能会回复你。App 会显示一个反馈编号,需要查询或删除时请提供它。
反馈不会自动附带位置或轨迹。但如果你把它们写进正文,或截图里能看到地图和位置,这些内容也会被发送——发送前请检查。
6. 设备信息上报(仅 Android)
「地图与设置 › 上报设备信息」用于排查少数手机上界面颜色显示异常的问题。只有当你点按「发送」时,以下内容才会上传到 itrailog.com/api/report:
- App 版本;手机厂商、品牌、型号、设备代号、产品名、Android 版本和 SDK、系统构建号
- 与厂商系统版本相关的系统属性(如 MIUI、HyperOS、HarmonyOS、ColorOS 的版本)
- 显示设置:深色模式、字体缩放和粗细、屏幕分辨率和像素密度、系统语言
- 无障碍和色彩设置:高对比度文字、颜色反转、色彩校正、夜间模式等,以及已开启的无障碍服务名称
- 系统设置中名称与显示、颜色、字体、主题相关的项目
- App 文字在屏幕上实际渲染出的颜色采样,以及「地图与设置」页面本身的一张截图
- 你选填的备注,以及 Cloudflare 判断的国家 / 地区代码
上报内容保存在 Cloudflare D1 和 R2 中,不含位置、轨迹、账号或设备识别码。App 会显示一个上报编号,需要删除时请提供它。
7. 直接发给第三方服务的请求
部分功能需要 App 从你的设备直接联系第三方服务。这些请求不经过我们,服务商会看到你的 IP 地址和请求内容,并按各自的隐私政策处理:
- 地图图块:根据你选择的底图,从对应服务商下载地图图块——Apple 地图(MapKit,仅 iOS)、天地图(国家地理信息公共服务平台)、OpenStreetMap、OpenTopoMap、CyclOSM、Esri World Imagery、USGS The National Map。请求中包含图块编号(可以推断你正在查看的大致区域)和标识本 App 的 User-Agent。下载过的图块会缓存在本机。
- 地名查询(反向地理编码):为轨迹的起点、终点、途经地点和航点显示地名时,App 会把坐标发给系统的地理编码服务(iOS:Apple;Android:系统提供的 Geocoder,通常由 Google 提供);查不到时改发给 OpenStreetMap 的 Nominatim 服务。
- 检查更新(Android 官网版):App 会向 itrailog.com 请求
update.json,并在你同意后下载新版安装包。请求不附带任何个人信息。 - 官网:浏览 itrailog.com 时,网页会从 Google Fonts 加载图标字体(Google 会收到你的 IP 地址)。官网不使用 Cookie 或统计脚本,只在你的浏览器本地记住你选择的语言。
- 应用商店:通过 App Store、TestFlight 或安卓应用市场下载时,相关数据由 Apple 或该应用市场按其政策处理。
8. 代我们处理数据的服务商
- Cloudflare, Inc.:托管官网和接口(Cloudflare Pages / Functions),存储使用统计、崩溃报告、意见反馈和设备上报(D1 数据库)及截图(R2 对象存储),转发发到 @itrailog.com 的邮件(Email Routing)。
- Resend:发送意见反馈的通知邮件。
管理后台 admin.itrailog.com 只有开发者本人能通过 Cloudflare Access 登录访问。我们不出售、不出租你的信息,也不会与任何第三方共享用于广告或营销;只有在法律要求时才会依法披露。
9. 保存期限
- 使用统计:24 个月
- 崩溃报告:24 个月
- 意见反馈及截图、通知邮件:处理完成后最多 24 个月
- 设备信息上报及截图:12 个月
- 设备上的数据:由你决定,删除轨迹或卸载 App 即删除
到期后数据会被删除,或汇总成不再关联任何安装的统计数字。你也可以随时要求提前删除(见第 11 节)。
10. 存储位置与跨境传输
Cloudflare 和 Resend 在全球(包括美国)运营服务器,你发送给我们的数据可能在你所在的国家或地区以外处理和存储。所有传输都使用 HTTPS 加密,我们依靠服务商的合同和安全措施保护这些数据。使用统计和崩溃报告是可关闭的;意见反馈和设备上报只在你主动发送时传输。
11. 你的选择和权利
- 关闭统计:关闭「帮助改进 iTrailog」即可停止发送使用统计和崩溃报告。
- 撤销权限:在系统设置中随时关闭位置、照片、运动等权限。
- 删除本机数据:在 App 中删除轨迹和航点,或卸载 App。
- 查询、更正或删除你提交的内容:发邮件到 privacy@itrailog.com,附上反馈编号或上报编号(如有)。我们会在 30 天内(或当地法律要求的更短期限内)回复。
使用统计和崩溃报告只含随机安装 ID,我们通常无法把它们对应到某个人,因此可能无法逐条查找;关闭开关即可确保之后不再发送。
根据你所在地的法律(如欧盟 GDPR、中国《个人信息保护法》),你可能还享有访问、更正、删除、限制处理、反对处理、数据可携带以及撤回同意等权利,也可以向当地的数据保护监管机构投诉。我们处理使用统计和崩溃报告的依据是改进 App 的正当利益(你可以随时关闭),处理意见反馈和设备上报的依据是你的主动提交和同意。
12. 儿童
行迹不面向 13 周岁以下的儿童(或你所在地法律规定的更高年龄,例如中国大陆为 14 周岁)。我们不会有意收集儿童的个人信息;如果你认为儿童向我们提交了信息,请联系我们删除。
13. 安全
App 与服务器之间的通信全部使用 HTTPS 加密;服务端数据只有开发者本人能访问。尽管如此,任何网络传输和存储都无法做到绝对安全。
14. 政策变更
App 的数据处理方式发生变化时,我们会更新本政策,并修改页面顶部的版本号和生效日期;重大变更会在 App 内或官网上提示。如需此前的版本,可发邮件索取。
15. 联系我们
一般问题:hello@itrailog.com
隐私与删除请求:privacy@itrailog.com
另见 使用条款。