应用在你手机上处理的内容
- 通过蓝牙从 OBD 适配器获取的车辆数据:转速、车速、温度、压力、混动状态、VIN。它们用于仪表显示、行程历史以及你这辆车的功率校准。
- 位置:行程路线、摄像头和区域提醒、车速校核与单圈计时。GPS 仅在使用 CarPlay 的行程中运行;如果行驶中 CarPlay 断开,则运行到车辆停下为止;车辆停放 10 到 30 分钟后,即使 CarPlay 仍连接,GPS 也会关闭。选“使用 App 期间”时,只有 Tachwire 显示在车机或手机屏幕上时 GPS 才能启动,启动后会一直运行到行程结束,并显示定位指示;“始终”只在你选择整个行程时才会请求,它让 GPS 在应用不在屏幕上时也能启动。行程之外,只有两个界面会在打开期间使用位置:赛道列表按 iOS 已有的最近位置为赛道排序,起终点线编辑器在其地图上显示你的位置。摄像头在手机上比对,查找它们不需要发送你的位置;但摄像头数据按国家下载,在“自动”模式下,所请求的国家——你地区设置中的国家或你驾车去过的国家,以及它们的邻国——会透露你大致所在的地方。
- 运动(加速度计与陀螺仪):过弯 G 值与加速测试。
- 蓝牙:与 OBD 适配器的连接,以及与 Dragy GNSS 接收器的连接(如果你有)。
- 语音:语音警告由在手机上运行的语音模型生成。不会为了播报而把任何内容发送到别处。
数据保存在哪里
所有内容都写入 iPhone 上应用的 Documents/Logs 文件夹,可在“文件”应用中查看。较早的原始记录在总量超过 1 GB 后会自动删除;摘要会保留。删除应用会删除手机上的全部内容;下文所述你 iCloud 中的副本会一直保留,直到你将其删除。
订阅“支持 Tachwire”后,在“更多”→“数据与隐私”→“iCloud”→“存储在 iCloud”(订阅期间默认开启)下,一份副本会存入你自己的 iCloud,这样在重新安装应用或换用新 iPhone 后都能回来:你的车辆及应用对它们的了解(车型、阈值、各控制单元的应答)、车机屏幕和行程卡片、行程摘要、测量与纪录、圈速与赛道,以及应用的设置。它存放在你 Apple 账户的私有 iCloud 数据库和键值存储中,受 Apple 的 iCloud 条款约束;我们无法访问,也从不接收。VIN、路线、地点和摘要本身均以只有你的设备持有的密钥进行端到端加密;单位、声音、外观等小设置存放在 iCloud 键值存储中,由 Apple 加密。行程的原始日志(含路线的传感器数据和事件日志)仅在打开其单独开关“iCloud 中的行程日志”(默认关闭)后才会上传:分块存储,同样端到端加密,仅通过无线局域网发送;删除的行程会连同其日志一起从 iCloud 和你的其他设备上删除。关闭开关即停止发送;如需删除副本,请前往“设置”→ 你的姓名 →“iCloud”→“管理储存空间”→“Tachwire”。没有订阅时,不会向 iCloud 发送任何内容,也不会从中读取,一切都留在手机上;订阅结束后不再发送新内容,iCloud 中已有的数据会一直保留到你删除为止,再次订阅后同步会继续。没有 iCloud 账户时,所有内容都留在手机上。
行程记录
行程只有在你选择发送时才会离开手机。“更多 → 支持这个项目”中有三种模式:“关闭”——不发送任何行程,新安装时即为此模式;“手动”——行程结束后会出现一个按钮,只有点了它,这趟行程才会发送;“自动”——每趟行程结束后自动发送,除非你允许使用移动网络,否则只走 Wi-Fi。“自动”模式还会发送 Dragy 在应用中其界面打开期间录下的一小段记录。
行程记录包含车辆的应答及其 VIN、适配器的名称和事件、应用版本和 iOS 版本、你的 CarPlay 屏幕尺寸和布局、应用的设置——警告阈值以及你对摄像头、位置和发送的选择——单圈时间,以及每个事件的时间。发送前会去掉路线:纬度、经度和航向在手机上就被删除,Dragy 的记录也会清空位置后再发送;车速、G 值和每次 GPS 定位的精度会保留。只有一个例外:如果这次行程中在赛道上计了圈,记录会保留这些圈进行期间你在这条赛道上的位置,从每圈开始前半分钟到结束后半分钟,以便检查和改进计时,并写明是哪条赛道。只有不超过 10 分钟的计入圈和从起点到终点的计时段才会这样:圈须在应用列表中的赛道上,或同一条赛道已有两圈这样的圈;计时段只限列表中的赛道。保留的位置位于赛道轮廓外扩 300 米的范围内,或距其起终点线不超过 2 公里;往返赛道的路线以及该范围以外的一切,仍然会被删除。摄像头提醒只带国家、类型和距离,不带具体是哪个摄像头、区域或城市。
上传内容在你的手机上用只有开发者持有的密钥加密,因此存储服务商无法读取。每份记录服务器会一并保存应用版本和车型(旧版应用还会附带适配器名称),但不保存它来自哪个国家,也不保存你的 IP 地址。记录保留 30 天。记录在服务器上最多保留 30 天,开发者下载后即从服务器删除;下载到开发者自己电脑上的副本会在记录发送 30 天后删除。不含 VIN、坐标或其他任何能识别你或车辆的信息的匿名摘录,可能会保留更久,用于测试应用。如需提前删除某份记录,请把它的代码发给我们。如果你自己通过“邮件”或共享表单分享记录文件,它们会原样发出,包括路线。
每收到一份记录,服务器会给开发者发一封简短的邮件通知:记录的代码、应用版本、车型、记录大小以及是否附有备注(旧版应用还会附带适配器名称和备注本身)。记录里的内容一概不会随邮件发出:没有 VIN,没有读数,也没有位置。邮件由 Cloudflare 发送到开发者自己的邮箱,并按同样的 30 天期限删除。
崩溃报告
从首次启动起即开启;可在“更多 → 数据与隐私 → 崩溃报告与使用情况 → 发送崩溃报告”中关闭。应用崩溃或卡死时,一份报告会发送到崩溃报告服务 Sentry 位于欧盟的服务器:问题发生在代码中的哪个位置、iPhone 型号、iOS 和应用的版本、手机设置中的语言和地区,以及所装的应用来自 TestFlight 还是 App Store。随报告一起发送的,还有 Sentry 软件默认附加的技术状态——内存、电池电量和屏幕方向——以及出事前不久的简短经过:应用切到后台又回到前台、界面切换和点击、使用的是 Wi-Fi 还是移动网络。
报告不包含任何关于车辆、行程或你所在位置的信息:没有 VIN——任何形似 VIN 的内容都会被删去,错误信息中的也不例外——没有路线,没有读数,没有视图层级,除下文所述的画面外也没有手机截图,没有网络请求,没有会话,没有用户 ID 或安装 ID,也没有设备名称。Sentry 已设置为不存储你的 IP 地址。
崩溃报告默认开启,依据是正当利益:报告不含任何标识符,也不含你屏幕上的文字,而崩溃正是靠它们才能被发现和修复。你如何使用本应用则不同——只有在你同意后才会发送。
TestFlight 测试版在崩溃报告的同一开关下,每次行程还会发送最多两张图片。一张是 Tachwire 自身在车上的画面:在首次收到车辆数据约三分钟后,并且仅当此时车辆屏幕上显示的是 Tachwire、而不是地图或音乐时。它就是当时显示在车辆屏幕上的 Tachwire 窗口——其中的图块及读数、你为页面取的名称——不含其他应用的任何内容;这个画面从不显示 VIN 或你的位置。另一张是行程中手机上的“爱车”标签页:最早从第三分钟起,并且仅当 Tachwire 停留在该标签页、上面没有其他内容覆盖、也没有在输入文字时。图片显示的是车型、车辆状态与读数、上次行程的数据等,其中每一处地图、路线和地点(包括停车地址)都会在图片生成之前,就在手机上用纯色色块盖住。两张图片都不含 VIN 或你的位置。随图片一起发送的还有屏幕尺寸和布局(车上画面的栅格和页面、手机的文字大小和外观)、行程中的第几分钟和应用的构建版本号。这样我们才能在自己从未见过的车和手机上,发现被截断或排错的图块。App Store 版本只有在你同意分享使用方式时才会发送这些图片(见下文)。
你如何使用应用
仅在你同意时发送。应用只询问一次,方式是在“爱车”标签页上显示一张卡片——“分享”或“不用了”——之后可随时在“更多 → 数据与隐私 → 崩溃报告与使用情况 → 分享你如何使用本应用”中更改选择。在你同意之前,这些内容一概不会发送。
会发送的:你打开了哪些界面,以及每个界面停留了多久;愤怒点击(rage tap),即一秒内在同一位置点击三次或以上,附带所在界面、该位置是否为控件,以及控件的标签——如果它是应用自身的界面用语,则以英文发送,其他任何文字都只以占位符发送,绝不发送原文;你的文字大小和应用的语言;你更改“超速时提示音”设置时的新设置;以及随之发送的 iPhone 型号、iOS 和应用的版本。各事件通过一个随机数关联起来,这个随机数只在应用的一次启动期间存在;没有持久的 ID。除下文所述的两张画面外,不包含你屏幕上的任何文字,也没有车辆数据;位置则从不发送。这些数据与崩溃报告一样,发送到位于欧盟的 Sentry。
在你同意后,App Store 版本也会发送“崩溃报告”一节所述的两张屏幕图片:每次行程最多一张车上的 Tachwire 画面和一张手机上的“爱车”标签页,每一处地图、路线和地点都会在图片生成前被盖住,不含 VIN 和位置。选择“不用了”或关闭开关即可停止;未经你同意,绝不会发送。
首次行驶前的步骤有单独的同意,与上面所有内容分开:介绍最后一页上的开关,以及“更多 → 数据与隐私 → 崩溃报告与使用情况 → 分享已完成的步骤”。在你打开之前保持关闭。只有新安装会发送,且只发送以下内容:已完成哪些步骤(介绍结束、找到并连接适配器、首次行驶、打开支持页面),每一项以自首次启动起的整天数表示,从不包含具体时间;介绍中的回答以及是否设置了适配器提醒;与适配器连接的结果,用应用自己的词语(如“已找到”“已连接”“无应答”),附大致耗时。每个步骤只发送一次。不含 VIN、车辆品牌或型号、适配器名称、位置、邮箱、安装或用户 ID。与崩溃报告一样发送到欧盟境内的 Sentry,且不与你关联。
通知
仅在你要求时发送。应用会在“爱车”标签页上用一张卡片提供通知,之后可随时在“更多 → 支持这个项目”中用开关打开或关闭。通知分两类:新闻——新版本、征集行程记录、重要变更;以及关于你发送的行程记录的回复,例如在你的记录里发现了一个问题,以及修复它的版本。
为了发送通知,我们在存储服务商 Cloudflare 上保存:Apple 为你手机上的本应用签发的通知令牌、应用的语言和版本、你选择的通知类型,以及这部手机最近发送的 30 份行程记录的代码(仅在开启关于你记录的回复时)——这样关于某份记录的回复才能送到发出它的那部手机。不保存 VIN、车辆信息、位置、国家或 IP 地址。通知从开发者的电脑经由 Apple 推送通知服务发出。关闭通知后,这条记录会立即删除;如果四个月没有打开应用,它也会自动删除。
路线视频、路线图片与地图瓦片
路线视频或路线图片在你的手机上生成,取自你选择的行程和你选择的路段。它只保存在你自己保存或分享的地方;Tachwire 不会收到它。地图在手机上用 OpenStreetMap 数据绘制,图片和每一帧上都标有“© OpenStreetMap © OpenMapTiles”;为了绘制地图,应用会从 OpenFreeMap(Hyperknot Software Kft.,欧盟)下载地图瓦片。所请求的瓦片覆盖你所选路段周围的区域,因此 OpenFreeMap 能看到请求的是哪个区域,也会像任何网站一样看到你的 IP 地址;据其声明,其日志经过匿名化处理,默认不保存 IP 地址,并在 7 天后删除(https://openfreemap.org/privacy/)。请求中不包含路线轨迹、VIN 或任何账户。下载的瓦片保存在手机上的应用缓存中。应用内的地图——行程页面及其路线界面上的地图——来自 Apple 地图,绝不会离开应用。
照片
为了保存路线视频,Tachwire 会请求“照片”的仅添加权限:它可以把视频添加到你的图库,但不能查看、读取或更改其中的任何内容。你可以在“设置 → App → Tachwire → 照片”中更改。
车辆图片
你的车辆图片仅根据品牌、车型代际和车漆代码选择——例如“G05,车漆 475”。如果应用里还没有这张图片,它只用这些信息向本网站请求;网站不记录是谁请求的,如果需要绘制图片,会把同样的信息交给其渲染服务 carimage.dev。不会发送 VIN 或你车辆的任何其他信息。
App Store 隐私标签
该标签注明以下数据“与你关联”:行程记录,因为其中包含车辆的 VIN,以及记录中可能带有的位置——赛道圈的精确位置、摄像头提醒的国家;还有通知令牌,因为它是 Apple 为这部手机签发的。这些都只有在你开启后才会发送。崩溃数据、性能数据和使用数据(包括屏幕画面)不与你关联:它们不带任何持久的 ID。当你制作路线视频或路线图片时,OpenFreeMap 还能看到请求的是地图的哪个区域,详见上文。
App Store 和 TestFlight
下载由 Apple 处理;测试期间的崩溃报告和反馈也由 Apple 依据 TestFlight 条款处理,这部分受 Apple 的隐私政策约束,而非我们的。
地图以及你停车位置的地址来自 Apple 地图,这些请求同样受 Apple 隐私政策约束。
本网站
本网站自身不收集任何数据,也不设置任何跟踪 Cookie。为本站提供服务的 Cloudflare 使用其 Web Analytics 统计页面浏览总量——不使用 Cookie,也不跟踪任何人——这些统计数字无论对 Cloudflare 还是对我们,都不包含任何个人数据。你在菜单中选择的语言保存在你自己的浏览器中,并使用一个名为 tachwire_lang 的 Cookie,它只告诉本站用哪种语言提供页面,不保存其他任何内容。
谁负责
本文所述数据由本应用的开发者 Maxim Pogozhiy 负责,他是这些数据的控制者。联系方式:support@tachwire.app。如需提出正式请求,可应要求提供邮寄地址。
如需了解我们持有你的哪些数据,或要求删除某份行程记录或通知记录,请写信至该地址;如有行程记录的代码,请一并提供。
联系方式
数据相关问题:support@tachwire.app。