射箭计时器
简体中文

隐私政策

一句话说明

这款 App 不收集任何个人数据。没有需要注册的账号,没有个人资料,任何关于你的信息都不会被保存在任何地方。

不过它会发送几个匿名计数,让我们知道 App 究竟有没有人用,以及哪些功能值得继续维护。它们只是加到一个共同数字上的简单总数(今天被打开了多少次,某个按钮被按了多少次)。没有任何东西能识别你的设备,没有任何东西记录你做了什么,两个计数也无法拼回某个人的一次使用过程。下面一节会准确说明计的是什么。

这些计数来自 iPhone、iPad 和 Mac 版 App,以及 Android 手机和平板版 App。Wear OS 手表版 App 和 Windows 版 App 不会向我们发送任何东西。

其余一切照旧:你的设置不会离开设备,App 为控制另一块屏幕而发送的内容,只会送到你自己局域网内的设备。

App Store 的隐私标签写的也是同一件事:使用数据,产品互动,不与你关联,也不用于追踪。Google Play 上的“数据安全”部分用它自己的术语描述同一件事:应用活动,以及一个仅用于防止滥用的安装标识符,两者都绝不共享,传输过程中均经过加密。

App 在你设备上保存的内容

设置只保存在本地,存放在 App 的私有空间里:

Wear OS 手表只保存一样东西:它是否已经请求过你的许可,以显示“计时器运行中”的通知。在 Windows 上,设置保存在 App 文件夹中的一个文件里,连同窗口的位置。

除了下面说明的计数以外,以上内容我们都不会上传或备份。删除 App,它们就一并消失。视你的设置而定,它们可能包含在你自己的 iCloud 备份或本地备份中(Apple 设备),或你的 Google 账号备份中(Android);那些备份属于你,适用 Apple 或 Google 的隐私政策。

在你的设备之间传输的内容

这款 App 允许一台设备控制其他设备上的计时器:一只手表、一部手机、一台平板或一台电脑,驱动一块或多块屏幕。iPhone、iPad、Mac、Android 和 Windows 之间都可以互相控制。

在局域网中。 设备之间通过 Bonjour 互相发现,服务名为 _archerytimer._tcp。 Android 和 Windows 通过各自的系统工具使用同一项开放标准(mDNS / DNS-SD)。局域网中其他设备能看到的内容,且仅在你开启共享期间,只有:你给设备起的名字、设备类型(iPhone、iPad、Mac、Android、Windows)、随机标识符、协议版本,以及是否已有遥控端连接。连接建立之后,只传输计时器需要的内容:指令(开始、暂停、重置)、当前阶段、剩余时间、这一组箭的设置、显示语言,以及在竞技场模式下分配给每块屏幕的字母。

连接采用端到端加密(TLS 1.2,预共享密钥由被控设备显示的四位数代码推导而来)。没有正确代码的设备无法连接。TLS 会话恢复已关闭,因此重新生成代码确实会切断已经连上的设备。

二维码与配对链接。 共享中的设备会在代码旁边显示一个二维码。这个二维码包含一个指向 captarget-timer.web.app/l 的链接,后面跟着连接所需的信息:设备的随机标识符、四位数代码、它在局域网中的地址和端口、名字和类型。这些全部位于链接中 # 之后,也就是浏览器从不发送给服务器的那一部分:我们和我们的托管方都不会收到。如果已经安装了 App,链接会直接打开它。如果没有,打开的页面只在你的浏览器中读取这些信息,用来显示设备的名字和代码,并提供 App 的安装入口;页面不带任何追踪器。这个链接离开你的局域网就毫无用处,而且代码一旦重新生成,链接中的旧代码就会失效。只把它分享给你愿意告知代码的人。

为了读取这个二维码,iPhone 和 iPad 版 App 会使用摄像头,且仅在扫描界面打开期间:图像在设备上分析,不保存也不发送任何照片。在 Android 上,读取交给 Google Play 服务提供的扫码器完成:此时 App 无法访问摄像头,只会收到二维码的内容。在无法运行该扫码器的手机上,App 会改为打开自己的扫描界面,并且只在那一刻请求摄像头权限:图像在手机上分析,不保存也不发送任何照片,界面一关闭,摄像头就会停止。你也可以用系统相机扫描二维码,或者在 Windows 上粘贴链接。

没有 Wi-Fi 网络时。 在 Apple 设备之间,连接也能在设备与设备之间直接建立,不需要接入点。Android 和 Windows 则需要一个网络:俱乐部的网络,或者一部手机的热点。两种情况下都不经过互联网,也不会到达任何服务器:我们没有服务器。

与 Apple Watch。 与配对的 Apple Watch 之间的通信,走的是 Apple 在手表与其 iPhone 之间提供的通道,只停留在你的两台设备之间。

与 Wear OS 手表。 手表只与它配对的 Android 手机通信,走的是 Google Play 服务在手表与其手机之间提供的 Wearable 数据层(Wearable Data Layer)。在那里传输的内容与两台设备之间相同(指令、阶段、剩余时间、被控设备的名字)。手表没有自己的网络连接,不会向我们发送任何东西。

“本地网络”权限: iOS 会在首次使用时询问。拒绝会关闭远程控制;设备本机上的计时器照常工作。

在 Android 上, 局域网不需要任何权限:不要位置,也不要“附近的设备”。除上文所述情况下的摄像头外,唯一的请求是显示通知,在计时器第一次启动或第一次共享时提出:通知告诉你有计时器正在运行,并让你可以暂停它。拒绝它不会改变计时器的任何工作方式。

在 Windows 上, 从 Microsoft Store 安装的 App 会自行声明在局域网中被控制所需的防火墙规则,因此 Windows 不会向你询问任何事。

匿名计数

打开 App 时、关闭时,以及按下少数几个按钮时,App 会往一个共同总数上加一。我们这边保存的全部内容,就是一个日期和一串数字:

再无其他。 没有任何标识符随计数一同传出,不保存任何精确时刻,也不存在能把一天的总数拆回到一次次使用的记录。我们无法得知其中两次按下来自同一部手机,任何读取这个数据库的人同样无法得知。

那两个看似必须知道你是谁的数字,其实并不需要。是你自己的设备根据本地保存的一个标记判断这是否是它的第一次启动、今天是否已经计过数;离开手机的只有那个“+1”。

Android。 Android 版 App 发送的计数完全相同,存放在一个与 Apple 设备分开的集合中,好让各平台的数字彼此独立。只有这个集合的名字表明它们来自 Android。

Wear OS 和 Windows。 Wear OS 手表和 Windows 版 App 不向任何人发送计数,也不发送任何其他数据。当手表操控一次使用时,是手机在自己的计数中把它计上一次。

匿名账号。 为了让任何人都无法把总数灌水,只有匿名登录过的 App 发来的写入才会被接受。这个账号由 App 自己创建:它不含姓名、不含电子邮件地址,也不含你输入过的任何内容,并且绝不会写在计数旁边。在它旁边,我们为每次安装保留一条很小的记录,记住它在某一天写入了多少次,好让任何账号都不能比一个人说话更大声。这条记录对计了什么只字不提。

验证 App。 为了确保每次写入真的来自我们的 App 而不是某个脚本,每次写入都带有一个由系统签发的验证令牌:iPhone、iPad 和 Mac 上是 Apple 的 App Attest,Android 上是 Google 的 Play Integrity。这个令牌证明 App 是正版且正常安装的;它不含任何关于你的信息,不与计数一起保存,只在发送的那一刻被核验。

由谁处理。 计数由 Google Firebase(Cloud Firestore、Authentication 和 App Check)托管,按我们的指示行事。与任何服务器一样,Firebase 能看到连接的 IP 地址;它用这个地址保护服务免遭滥用,我们既不会收到也不会保存它。如果你的设备没有连接,或者你开启了低数据模式(Apple 设备)或在按流量计费的网络上开启了流量节省程序(Android),那就什么也不会发送,这次计数只是丢失而已。计时器不受影响,也不会为此说什么。

App 从不触碰的内容

不读位置、通讯录、照片、麦克风、健康或运动数据、日历和地址簿。摄像头只用于读取二维码,如上文所述。App 不读取任何传感器。它会在后台播放声音,因为把手机锁屏放在地上还能响,正是计时器的意义所在;在 Android 上,这也是计时器运行或共享期间它会显示一条通知的原因。它不做任何录音。

计时器本身完全可以在没有互联网连接的情况下工作。它在射击线后所做的一切都不需要联网:没有连接时,上面那些计数只是丢失,别的什么都不会变。

指向外部的链接

设置界面提供了一个通往 CapTarget Archery 这款 App 的商店页面的链接,屏幕顶部的星标则通往本 App 的评分页面。点开其中任何一个都会进入 App Store 或 Google Play,那里适用 Apple 或 Google 的条款与隐私政策。

这两个按钮被按下的次数会被计数,形式是不附带任何信息的原始总数,因为只有这样才能知道它们是否配得上所占的位置。商店打开之后你做了什么,我们一无所知。

Apple、Google 和 Microsoft 可能转交给我们的内容

我们没有集成崩溃报告 SDK,没有广告,也没有第三方追踪器。上面说明的匿名计数是 App 里唯一的测量,而且是我们自己写的,而不是引入别人的一整套工具。

此外,如果你在 iOS 设置中同意与开发者共享这些信息,Apple 可能会在 App Store Connect 中向我们展示汇总数据(下载量、崩溃、系统版本)。它们以汇总且匿名的形式到达,无法识别到你。你可以在 设置 > 隐私与安全性 > 分析与改进 中关闭。

同样,Google(在 Play Console 中)和 Microsoft(在合作伙伴中心中)会向我们展示安装量和崩溃的汇总数据,具体取决于你设备的诊断设置。它们同样无法识别到你。

儿童

这款 App 不收集任何个人数据,对儿童同样如此。它没有广告,没有用户生成内容,也没有与第三方沟通的途径。上面说明的计数是匿名总数,对儿童而言没有任何不同。

你的权利(GDPR)

我们没有任何关于你的个人数据。计数是匿名总数。一旦那个“+1”加进了共同数字,就不再留下任何与你相关的东西:没有可提供、更正或删除的内容,即便你提出要求,我们也没有办法找出“你的”那一条。

每次安装唯一保留的记录,是上面说明的防滥用记录。它只包含一个写入次数和一个日期,并且绝不会与所计的内容对应起来。删除 App 就意味着它的终结:匿名账号活在你的设备上,重新安装就是一个新账号。

这里描述的其余一切都留在你的设备上,由你掌控。要清除它们,删除 App 即可。

如果你仍然认为自己的权利未受尊重,请写信到 support@captarget-archery.com。你也可以向所在国家或地区的数据保护机构投诉。

变更

本政策如有变更,本页顶部的日期会随之更改,现行版本发布在本网址。若某项变更扩大了 App 所传输的内容,我们会在版本说明中说明。

联系方式

support@captarget-archery.com