SpotFlight
简体中文

隐私政策

最后更新:2026 年 9 月 25 日

简要说明

SpotFlight 没有账号、没有数据统计、也没有任何形式的追踪。你的设置留在你的 iPhone 上。应用中任何地方都没有广告——只有一个例外,而且由你自己选择,见第 3 节。

我确实为这个应用运行着服务器——五台,它们在内存中保存一份全球空中交通的快照,并回答下面这个问题。它们不做的事,是保留任何关于你的信息:既不记录你的位置,也不记录你的网络地址,而且它们的代码中根本没有能把二者联系起来的东西。

有一样东西会离开你的设备:你的位置。SpotFlight 把你的纬度和经度发送到我的中继——如果它无法访问,则发送到公共服务 api.adsb.lol——因为要问的问题字面上就是这个:“这个点附近有哪些飞机?”不说出这个点在哪儿,就无法回答它。关于数据,全部就是这些;本页余下的部分把它讲清楚。

本网站(包括实时地球)不设置 Cookie,不做数据统计,其页面也不从其他网站加载任何内容——详见第 13 节。


1. 谁负责

SpotFlight 由独立开发者 Mourad Toumi 制作。联系方式见第 10 节。

我为这个应用运行五台中继服务器,租用自欧洲几家普通的主机服务商(Hetzner、Scaleway 和 OVH)。它们的存在只有一个理由:每台每隔几秒下载一份全球空中交通快照,保存在内存中,并据此回答“这个点附近有什么?”它们没有任何数据库,也不会把谁请求了什么写入磁盘。

不存在 SpotFlight 账号系统。我没有办法识别你,也不持有任何关于你的记录——这不是一条请你相信的政策,而是因为软件根本没有这个能力:中继的代码中任何地方都不读取客户端地址,它的 Web 前端也配置成既不记录地址也不记录坐标。第 5 节准确列出确实会写下来的东西。


2. SpotFlight 使用什么,以及为什么

2.1 你的位置

是什么。你设备的纬度和经度,以及它相对 WGS84 椭球体的高度,通过 iOS 的 Core Location 在“使用 App 期间”权限下获取。

为什么。你的位置是应用一切计算的起点:把手机指向哪个方位和仰角、到每架飞机的距离、近距离通过的预测、凌日与凌月预测、你在地图上的位置,以及画在地图上的视场扇形。没有它就没有可算的东西。

去往何处。你的坐标会写进请求地址里,发往公共航班数据服务 api.adsb.lol,形如:

`` https://api.adsb.lol/v2/point/{纬度}/{经度}/{半径} ``

这就是查询该服务的方式。坐标就是查询本身。在应用打开且处于前台期间,这个请求向我的中继大约每秒重复一次,或向公共回退服务每七秒一次。把应用切到后台就会停止:你不在看的时候,什么请求都不会发出。

高度永远不会离开你的设备。来自姿态传感器的任何数据也不会。

后台使用。没有。SpotFlight 只申请“使用 App 期间”的权限。它没有后台定位能力、没有后台模式,也没有“始终”权限。你一离开应用,位置更新就停止。

如果你拒绝。应用照常工作。它会回退到一个固定的演示位置并显示那里的空中交通,让你仍能看出它是怎么工作的——但瞄准、距离和预测都不会对应你真正所在的地方。你随时可以改变主意:iOS 设置 → 隐私与安全性 → 定位服务 → SpotFlight。

2.2 你在搜索框里输入的内容

是什么。航班号、无线电呼号、飞机注册号,或 24 位 ICAO 地址——例如 AF498、AFR498、F-GKXA 或 4CAEE8。

为什么、去往何处。搜索词会发往 api.adsb.lol,去查那架飞机。你的位置不会跟着搜索一起发出去。

SpotFlight 不保留搜索历史。没有历史功能,什么都不写入磁盘,也没有任何东西发送给我。

2.3 飞机呼号,用于航线名称

是什么。一架飞机正在广播的无线电呼号——不是任何属于你的东西。

为什么、去往何处。为了显示“巴黎 → 西雅图”而不是一个光秃秃的航班号,SpotFlight 向公共服务 api.adsbdb.com 询问某个呼号在哪两座城市之间飞行。这些答案只在当前会话里存在内存中,免得同一个呼号查两遍;应用一关就没了。

你可以关闭它。在设置中关掉出发与到达城市。关闭后,SpotFlight 不会向 api.adsbdb.com 发出任何请求。

2.4 相机

相机画面是瞄准视图的实时背景。SpotFlight 还会读取镜头的真实视场,以便标签落在屏幕上正确的位置。

任何图像都绝不会被检查、录制、保存或传输。应用不读取单帧画面,不识别图像中的任何内容,也不使用 ARKit 或任何图像分析。飞机在屏幕上的位置纯粹由几何关系决定——你的位置、手机的朝向,以及飞机广播的位置。图像里的任何东西都没有用上。

如果你拒绝相机权限,应用会改为绘制一片朴素的合成天空,其余一切照常工作。

2.5 运动传感器

SpotFlight 读取你 iPhone 的设备运动数据(罗盘、陀螺仪和加速度计,由 iOS 融合为一个朝向),用来判断手机指向何方。这些数据永不离开设备。

本应用不使用 Motion & Fitness 活动接口,也不使用计步接口,因此看不到你的行动轨迹,也看不到你的活动历史。

2.6 通知

有飞机即将从你头顶近距离经过,或者即将穿过太阳或月亮时,SpotFlight 可以提前提醒你,好让你有时间走到户外抬头看。

它们是本地通知,由应用自身在你的 iPhone 上排定。没有推送服务、没有 APNs 令牌,也不涉及任何服务器。只有当你在设置中按下相应按钮时才会请求权限——绝不会在启动时自动请求。

2.7 你的设置

三项偏好用 iOS 标准的偏好存储保存在你的设备上:

这就是 SpotFlight 写下的全部内容。没有文件、没有数据库、没有钥匙串条目、没有文档。这些设置永不离开你的 iPhone,并在你删除应用时一并消失。


3. SpotFlight 不做的事

为免歧义:

唯一的例外,而且完全由你决定要不要。安装后的最初 24 小时内,一切都是开放的,什么都不会向你索取。之后,看一段短视频就能把增强现实视图与凌日、凌月预测再解锁 24 小时——而且只有在你点下那个提供视频的按钮时才会发生。该视频由 Google 的移动广告软件提供,它在你的设备上运行,并按 Google 的政策收集它自己的数据——不是我的政策。我请求的是非个性化广告,这是它所能接受的最低限度,而且我不请求广告标识符(IDFA),因此不会出现 App 跟踪透明度提示。

那个软件做什么,不做什么。它是应用的一部分,并在应用启动时完成自身初始化——这个库就是这么写的,我阻止不了。它不做的,是自行去取或显示广告:在你最初的 24 小时内不会请求任何广告,解锁进行期间不会,在你点下那个按钮之前的任何时刻都不会。免费期结束后,应用只是问它是否有视频可用;如果没有,应用会保持解锁状态,而不是把你挡在门外。地图、列表、搜索和近距离通过提醒从不依赖它。


4. 第三方服务

SpotFlight 与三台主机通信。其中一台是我的——我自己的聚合服务——另外两台是免费的公共服务,我既不拥有、不运营,也和它们没有任何商业关系。每一个请求都走 HTTPS,每一个请求都是简单的 GET,没有任何请求携带 Cookie、登录凭据或设备标识符。唯一发送的自定义标头是一个固定的产品名 SpotFlight/1.0 (iOS),其中不包含任何关于你或你设备的信息。

与任何互联网服务一样,这三台在连接期间都会看到你的 IP 地址——这是发起网络请求所固有的,不经代理无法避免。区别在于接下来会发生什么:在我的中继上,没有任何东西记录它,软件也不会去读它;而那两个公共服务如何处理它,由它们自己决定。

为什么先问我自己的服务器。不是为了我的利益:实测对比下来,它响应更快,不按网络地址限流,并且运行在与公共回退服务不同的网络上——因此某一方出故障或被封锁,不会波及另一方。公共 API 仍是回退,而且即便我的中继哪天消失,它也能独立工作。

服务它从 SpotFlight 收到什么它自己的条款
我的聚合服务 —— 实时飞机位置(优先询问)你的纬度和经度(在请求地址中),以及你在搜索框里输入的内容。两者都不记录——见第 5 节本页。托管于欧洲(Hetzner、Scaleway、OVH)
adsb.lol —— 实时飞机位置(仅作回退)你的纬度和经度(在请求地址中),以及你在搜索框里输入的内容adsb.lol 隐私与许可 · adsb.lol
adsbdb.com —— 出发与到达城市仅飞机呼号。绝不包含你的位置。若你关闭航线,则什么都不发送adsbdb.com · 源代码

关于 adsbdb.com 的一点如实说明:在撰写本文时,该服务既未发布隐私政策,也未发布使用条款。我无法告诉你它记录了什么、保留多久,我也不会去猜。我能告诉你的,是 SpotFlight 究竟向它发送了什么——一个呼号,别无其他——以及设置中的开关能完全停止这些请求。

发往这些服务的请求可能由位于你所在国家之外的服务器处理,包括欧洲经济区之外。请求一旦到了它们那里,如何处理就取决于它们的做法,而不是我的。


5. 各项数据保留多久

数据保留时长由谁保留
你的位置不存储。用于屏幕上的计算,片刻之后即被下一次读数取代无人
你的搜索不存储。应用中任何地方都不保留历史无人
航线查询仅在内存中,仅限当前会话;应用关闭时丢弃你的设备
你的三项设置直到你更改它们或删除应用你的设备
你的位置,在我的中继上完全不写入。它只从请求地址里读出来算个答案,随请求一起消失—
你的 IP 地址,在我的中继上完全不写入,软件也不读取:中继中没有任何代码会查看它—
服务器访问日志行14 天。每一行记录请求的类型(“/v2/point”)、状态码、大小和耗时——绝不记录地址,绝不记录坐标我
服务器错误日志14 天,且仅限严重故障。在该级别下条目很少;我明确说明:这样的条目仍可能带有客户端地址,日志级别之所以设在这里,正是因为如此我
adsb.lol 与 adsbdb.com 的访问日志我不知情——由那些服务自行决定那些服务

一个技术细节,为求完整:iOS 为应用维护一个标准的 HTTP 响应缓存。它可能把最近的响应、以及产生这些响应的请求地址,短暂保存在你 iPhone 上 SpotFlight 自己的沙盒缓存目录里。该目录是应用私有的,由 iOS 管理和清理,你删除应用时它也一并消失。


6. 处理的法律依据(欧盟 / 英国 GDPR)

面向欧洲经济区、英国和瑞士的用户:

把你的坐标发送到我的中继,以及在中继无法访问时转而发送到 api.adsb.lol——如果这构成个人数据处理,那么该处理的控制者是 Mourad Toumi。

法律依据是第 6(1)(b) 条——履行合同。你安装的这个应用只有一个目的:把你所在位置上方的飞机指给你看。这项传输不是附带的;它就是这个目的本身,没有它,你装这个应用要做的唯一一件事就做不成。此外,iOS 在读取任何位置之前都会征求你的明确许可,你也可以随时在 iOS 设置中撤回——撤回后处理立即停止。

不会对你作出任何自动化决定,不进行画像,也不处理第 9 条意义上的特殊类别个人数据。


7. 你的权利

如果你在欧洲经济区、英国或瑞士(GDPR)

你有权访问你的数据,要求更正或删除,限制或反对其处理,并以可携带的格式获取它。你也有权向你所在国的数据保护机构提出投诉。

我想直说这些权利在这里的实际含义:我不持有任何关于你的数据。没有账号,也没有数据库,上文所述的中继什么都不保留:不保留你的地址,不保留你的位置,也不保留你的请求历史。如果你写信来要一份你的数据副本,我唯一能给的就是一个准确的答复:没有东西可寄,因为从来就没有收到过。

这些权利在实践中的等效做法,你自己立刻就能做到,不用向任何人申请:

至于 adsb.lol 或 adsbdb.com 可能持有的内容,你需要直接联系那些服务;我无权访问它们的系统。

如果你在加利福尼亚(CCPA / CPRA)

在本页顶部日期之前的十二个月内,SpotFlight 披露了加州法律定义下的一类个人信息:地理位置数据(Cal. Civ. Code § 1798.140)。披露对象是我的中继——中继无法访问时则是 api.adsb.lol——唯一的商业目的是把你附近的飞机返回给你。

你有权知情、删除、更正,以及选择退出出售或共享,并有权不因行使这些权利而受到歧视。既然不存在出售和共享,也就没有什么可退出的;既然我什么都不保留,删除请求也没有可作用的记录。删除应用即可移除本地保存的一切。

其他地区

如果你所在地的法律赋予你超出上述的权利——例如巴西的 LGPD、加拿大的 PIPEDA 或澳大利亚的《隐私法》——请写信给我,我会回复,同时请记住,如实的答案通常是:不存在任何关于你的数据可供处理。


8. 儿童隐私

SpotFlight 没有聊天、没有用户账号、没有用户生成内容、没有指向社交网络的链接,我这边也不做任何能识别到人的数据收集。

它确实包含可选的激励视频广告,在安装后的最初 24 小时内绝不显示,此后也仅当用户点下提供它的按钮时才显示。广告内容由 Google 提供,不受我控制,这也是为什么应用的年龄分级反映了广告的存在,而不是声称没有广告。

它并非面向儿童,我也不会在知情的情况下收集 13 岁以下儿童(或你所在地相应最低年龄)的个人信息。由于应用没有账号系统,中继也什么都不存储,儿童没有任何途径可以向我提交个人信息。如果你认为某个儿童的个人信息以某种方式到达了我这里,请联系我,我会调查。


9. 安全

SpotFlight 的每一个网络请求都使用 HTTPS,并采用 iOS 标准的传输安全设置。没有凭据、没有令牌、没有个人记录可供攻击者从我这里窃取,因为它们根本不存在——中继在内存中只保存一样东西,一份对所有用户都相同的公共飞机位置快照,也不会把任何人的任何信息写进磁盘。你的设置存放在你 iPhone 上应用的沙盒中,由 iOS 保护。


10. 联系方式

关于本政策,或关于 SpotFlight 隐私的问题:

Mourad Toumi 61 rue de Lyon, 75012 巴黎,法国。电子邮件:mouradski@icloud.com

我会阅读每一封邮件,并力求在 30 天内答复,这也是 GDPR 规定的期限。


11. 本政策的变更

如果本政策变更,顶部的日期会随之变更。重大变更——任何会改变“哪些数据离开你的设备”或“数据去往何处”的变更——也会在应用的版本说明中注明,这样你无需查看本页也能知晓。


12. 数据来源与致谢

实时飞机位置包含来自 adsb.lol 的信息,这些信息在此依据 Open Database License (ODbL) 提供。adsb.lol 是一个由志愿者自建天线供给数据的开放航班追踪平台。

航班航线信息由 adsbdb.com 提供。这些航线数据出自爱丁堡的 David Taylor 和格拉斯哥的 Jim Mason 之手,未经爱丁堡 David J Taylor 的明确许可,不得复制、发布或并入其他数据库。

飞机位置数据按现状提供,不对其准确性、完整性或可用性作任何保证。SpotFlight 供观察与消遣之用,不得用于导航或任何运行用途。


13. 本网站

以上内容都是关于应用的。本节讲的是 spotflight.eu 本身:这些页面,以及实时地球。

不从任何第三方加载内容。本网站的每个页面——文字、样式、字体、脚本、图片,以及地球上的地图和飞机——都来自 spotflight.eu。没有字体服务,没有内容分发网络,没有地图服务商,没有数据统计,没有广告,没有 Cookie。地球页面还通过一项安全策略(Content-Security-Policy)向你的浏览器声明这一点,禁止它连接任何其他地方。这些页面的早期版本从 Google Fonts 加载字体,因此你的浏览器在打开这些页面时会联系 Google;现在字体由本站提供。

一个例外,在 iPhone 和 iPad 上:Safari 可能会在页面顶部显示本应用的横幅。这个横幅是 Safari 的功能,由本网站每个页面上的一个标签请求;为了显示它,Safari 会从 Apple 获取应用的信息。指向其他网站的链接——App Store、adsb.lol、OpenStreetMap——都是普通链接:除非你点开,否则不会向它们请求任何内容。

地球会请求什么。它的飞机,向 spotflight.eu 请求:根据服务器副本的新旧程度,每 10 到 30 秒请求一次全球数据(视图放得很近时每 10 到 60 秒一次;请求失败后,最早 5 秒后重试);放大之后,每 5 秒请求一次屏幕上每个经纬度 10° 的方格——或你选中或跟随的飞机所在的方格,飞机接近方格边缘时还包括相邻的方格。这样的请求说明的是你正在看地球的哪一部分,精确到十度——而不是你在哪里。地图则在你移动时分块向同一台服务器请求。地球所在的标签页被隐藏时,不会发出任何请求。

飞机数据来自我的中继,也就是第 1 节所述的服务器。网站服务器以自己的名义向它们请求,不转发你的地址:它们收不到任何关于你的信息。

航线,一次只查一架飞机。当你打开一架以航空公司呼号飞行的飞机的信息卡,并且信息卡保持打开半秒之后,地球会向 spotflight.eu 请求它的出发和到达城市。请求只带这个呼号(例如 AFR1234),别无其他。网站服务器把它转给我的中继,由中继以自己的名义向 adsbdb.com 查询:你的地址、你浏览器的任何信息、你的位置都不会到达中继,也不会到达 adsbdb.com;答复描述的是航班,而不是你。已经得到答复的呼号在你这次访问期间不会再次请求;以注册号作为呼号飞行的飞机(大多数私人飞机都是如此)则不会发出任何请求。

搜索留在你的浏览器里。地点在一份列表中查找,这份列表在你第一次使用搜索框时下载;航空公司在一份名称列表中查找,它同时下载,或在你第一次打开飞机信息卡时下载——两份列表都由 spotflight.eu 提供,对所有人都一样;航班则在你的浏览器已经收到的飞机中查找。你输入的内容从不发送出去。

从不询问你的位置。地球不使用浏览器的定位服务。为了决定从哪里打开,它在你的浏览器内读取你的时区——这是你设备上的一项设置,例如 Asia/Shanghai——并在一张对所有人都相同的表中查找。时区本身从不发送;随后,它所对应地区的地图会像你移动到的任何视图一样,从 spotflight.eu 加载。

分享的链接。当前视图——位置、缩放、你跟随的飞机、你搜索的地点——保存在地址中 # 之后的部分。浏览器从不把这一部分发送给服务器:链接本身不会出现在任何请求或任何日志中。打开链接只会请求任何视图都会请求的内容——屏幕上的地图分块,以及上文所述的 10° 方格,包括链接所跟随飞机所在的方格;如果链接指定了地点,还会请求地点列表和国家轮廓,这些对所有人都一样。

保存在你浏览器里的内容。只有一项偏好,而且只在你于地球页面上更改它时才保存:公制或英制单位,保存在浏览器的本地存储中,从不发送。在浏览器中清除本网站的数据即可删除它。其他页面不保存任何内容。

服务器记录什么。和任何网站一样,服务器在连接打开期间能看到你的网络地址。它不会记录下来:它的访问日志保留 14 天,每个请求只记录其类型(页面、全球数据、方格、一块地图、航线)、状态码、大小、是否由缓存提供以及耗时——绝不记录你的地址,也绝不记录你所请求内容的地址,因此也绝不记录航线查询的呼号。它的错误日志仅限严重故障;和中继一样,我明确说明:这样的条目仍可能带有客户端地址,日志级别之所以设在这里,正是因为如此。

本网站托管在欧洲,使用向 Scaleway 租用的服务器。