隐私政策

Naola(“我们”、“我们的”、“本应用”)是一款天气应用。我们致力于保护你的隐私。本政策说明我们收集哪些数据、为何收集以及如何处理。

我们是谁

Naola 的发布者(名称见下文,位于西班牙)对你的个人数据负责。根据欧盟《通用数据保护条例》(GDPR),它是“控制者”:由它决定你的数据如何被使用。

1. 我们收集的数据

1.1 位置数据

当你授予位置权限时,应用会访问你设备的地理坐标(纬度和经度)以获取所在地区的天气数据。位置数据:

比较各天气服务的“数据源准确度”页面不使用你的位置。它只发送你所选国家的两字母代码,该国家由应用根据屏幕上的城市或你手机的地区设置推荐。旧版应用在该请求中还会发送你的位置;我们的服务器会忽略它,不存储任何内容。

你可以拒绝位置权限,改为手动搜索城市。你可以随时通过设备设置撤销位置权限。

1.2 IP 地址与限流计数器

出于限流目的,我们存储你 IP 地址的单向加密哈希(SHA-256,使用密钥生成)。无法从该哈希恢复原始 IP 地址。哈希后的 IP 记录在 7 天后自动删除。

有些限制保护的是账户而非网络:每个账户每天的天气请求、地点搜索和账户状态检查次数上限、网页激活码的数量上限,以及密码错误次数、密码重置邮件和注册邮件、设备登录次数的上限。这些计数器使用同类哈希作为键,由你的账户 ID、电子邮件地址(对于密码错误,还会与你的网络组合)或你设备的密钥生成。每个计数器只保存其名称、日期和次数,并在 7 天后自动删除,即使你提前删除了账户也是如此。仅以你的账户 ID、电子邮件地址或设备密钥为键的计数器包含在你的数据导出中(第 7 节)。

1.3 反馈和发给支持团队的邮件

如果你通过应用提交反馈,我们会存储消息文本、你的应用语言和应用版本。为了识别误发两次的消息,我们还会存储该消息与你的 IP 地址及发送时间(精确到小时)组合后的单向哈希(SHA-256,使用密钥生成),保存期限与消息相同;你的 IP 地址本身不会被存储。反馈不与你关联:不附带任何邮箱、姓名、账户或设备标识符。

如果你发送邮件至 [email protected],我们会收到你的邮箱地址和你写的全部内容。当应用显示错误时,其联系支持团队按钮会在你自己的邮件应用中打开一封发给我们的邮件,其中已预先填好错误代码、一个参考编号、应用版本、你设备的操作系统及其版本,以及应用语言。除此之外不会添加任何内容:没有位置,也没有账户或设备标识符。发送前你可以阅读并修改全部内容,只要你不发送,我们就不会收到任何东西。参考编号是只为那一次请求生成的随机代码,不与你关联。它对应我们服务器错误日志中的一行,该行只记录错误、请求类型和时间,最多 7 天后删除。Cloudflare 代表我们接收这些邮件,并将其转发到我们的支持收件箱。我们的支持收件箱是由 Google 提供的 Gmail 邮箱(第 3 节和第 5.1 节)。我们只在帮助你所需的期间内保留你的邮件和我们的回复。与反馈一样,法律依据是我们听取你的意见的正当利益(第 1.10 节)。

1.4 订阅数据

如果你进行应用内购买,RevenueCat(为我们处理订阅的服务)会收到你的 Naola 数字账户 ID(如果你从未注册,则为匿名设备账户的 ID),以及你的平台(iOS/Android)和应用商店的购买收据。我们将你的订阅状态与该账户 ID 关联存储。你的姓名和邮箱地址绝不会发送给 RevenueCat。

1.5 本地存储

应用在你的设备上存储以下内容:

这些内容我们都不会收到,第 1.1 节和第 1.7 节所述的除外:你请求预报的地点,以及应用为让你登录而发送的设备密钥、安装代码和会话令牌。

退出登录会从你的设备上移除会话令牌、账户 ID 和邮箱地址。在 Android 上,卸载应用会删除所有这些数据。在 iPhone 上,卸载会删除除安全存储以外的所有内容:iOS 可能会在应用删除后保留钥匙串项目,因此设备账户的密钥和安装代码,以及在你未退出登录时你的会话令牌、账户 ID 和邮箱地址,可能会留在手机上,如果你重新安装 Naola,它会再次使用这些内容。网页版会将你选择的位置和设置保存在浏览器存储中,直到你清除为止。

1.6 广告展示和点击

非高级用户会在主天气屏幕底部看到一个小广告卡。我们不使用任何第三方广告网络。所有广告均由我们自己的后端提供,不包含追踪像素、cookie 或第三方脚本。

与广告相关,我们仅存储以下数据:

该结构没有外键、IP、时间戳或其他任何可以将广告展示或点击与单个用户关联的字段。即便拥有完整的数据库访问权限,也无法技术上重建出哪位用户看过或点击过某个广告。

广告不读取设备广告标识符(IDFA、GAID),不设置 cookie,也不与第三方共享任何数据。

联盟链接

Naola 中的广告不包含联盟链接。在 2026 年 10 月 11 日之前,部分广告通过 Amazon Associates 计划链接到 Amazon,链接中带有一个将 Naola 标识为推荐来源的标签,不包含任何关于你的信息;如果你点击了其中一个,Amazon 会根据其自身的隐私政策处理你的访问。在任何广告再次包含联盟链接之前,我们会更新本节。

高级用户不会看到任何广告,也不会记录与其相关的任何广告数据。

1.7 账户数据

使用 Naola 无需注册。首次启动时,Android 和 iOS 应用会创建一个匿名设备账户:一个数字 ID、一个任何人都无法收信的占位地址(…@device.naola.invalid),以及保存在你设备密钥库中的随机密钥的哈希值。它不包含任何个人数据。它的作用是让在该设备上购买的订阅无需询问你的邮箱即可被识别。

使用电子邮箱地址、Apple 或 Google 注册是可选的。只有在 Android 和 iOS 之间转移订阅时才需要注册。网页版从不创建账户:要在网页版上使用高级版,你需要在移动应用中生成激活码。

我们为账户保存的内容:

网页版没有注册表单。要在网页版上使用高级版,请在移动应用中生成激活码(设置 → 账户 → 在网页上激活 Naola),然后粘贴到 naola.net/activate。网页版无法独立创建新账户或新订阅。

会话通过使用 HMAC-SHA256 签名的 JSON Web Token(JWT)管理,有效期 30 天。每个 JWT 都与其所在槽位的设备标识符绑定。

1.8 浏览器 Cookie(网站和网页应用)

Naola 网站(naola.net)和网页应用(naola.net/app)仅使用以下 cookie,两者均为严格必要:

根据 GDPR/ePrivacy,严格必要的 cookie 无需事先同意。lang cookie 在你通过页脚选择语言时设置,或在网站检测到你浏览器的 Accept-Language 标头并首次将你重定向到匹配语言时设置。

我们的分析功能不设置任何 cookie(见第 1.9 节)。你可以随时在浏览器设置中清除 cookie。Android 和 iOS 应用不使用浏览器 cookie。

1.9 网站分析

为了了解有多少人访问 naola.net 和网页应用,以及他们使用哪些页面,我们运行开源分析工具 Matomo,它部署在我们向法国托管公司 o2switch 租用的服务器上,并通过 Cloudflare 访问。它们存储或传递这些数据仅为替我们运行该工具,绝不将其用于任何其他用途。Android 和 iOS 应用完全不包含任何分析功能。

这是分析,而不是追踪:

Matomo 记录的内容:你浏览的页面、将你引导至此的网站、你的浏览器、操作系统、屏幕尺寸和语言,以及大致所在国家。单次访问记录会在 6 个月后删除;此后我们只保留汇总数据,例如每月页面浏览量。

法律依据是我们了解网站使用情况的正当利益(GDPR Art. 6(1)(f))。如需退出,请在浏览器中开启"Do Not Track"或 Global Privacy Control:这样 Matomo 将完全不会加载。

1.10 我们为何使用你的数据(法律依据)

根据 GDPR,每一项个人数据的使用都需要法律依据。我们的法律依据如下:

对于基于我们正当利益的使用,你可以随时提出反对(第 7 节)。

2. 我们不收集的数据

3. 第三方服务

为了提供天气数据,每次天气请求时都会将你的坐标发送到以下服务:

a Naola 高级版可用。

对于托管服务:

对于应用内购买:

对于登录(仅在你选择时):

对于电子邮件:

每个服务都有上方链接的隐私政策。我们鼓励你进行查阅。

我们与之共享你数据的每一个第三方都必须为其提供与本政策相同或同等的保护。我们的服务提供商(Cloudflare、o2switch、RevenueCat 和 Brevo)只能为向我们提供服务而使用你的数据,并受要求其保护数据的数据处理协议约束。Apple 和 Google 作为独立公司运营其登录服务,适用其各自的隐私政策(链接见上文)。天气服务商只会收到预报或搜索所需的信息:精度约为 1 公里的坐标或城市搜索的文本,以及在服务需要时提供的应用语言和国家/地区。它们从不会收到你的 IP 地址、你的账户或任何其他标识符。

我们的网站分析(第 1.9 节)运行在我们向 o2switch 租用、并通过 Cloudflare 访问的服务器上。它们存储或传递这些数据仅为替我们运行该工具,也没有任何分析公司会收到这些数据。

4. 数据保留

5. 数据处理位置

Naola 的数据库置于 Cloudflare 的欧盟管辖区之下。这是在创建数据库时即已确定的具约束力的限制,它将我们存储的所有账户、订阅和反馈记录保留在欧盟境内,并防止其被转移到别处。我们的后端运行在 Cloudflare Workers 这一全球分布式网络上,因此请求可能会先在距你最近的边缘节点处理,然后才到达该数据库。位置坐标仅在内存中处理,绝不会写入我们的数据库。

5.1 向欧洲经济区以外的传输

第 3 节中的部分服务位于欧洲经济区(EEA)以外,因此我们发送给它们的数据会离开该区域。每一项此类传输都按照 GDPR 的要求受到保护:

Brevo 和 o2switch 位于法国,在欧盟境内。Cloudflare 会在距你最近的数据中心响应每个请求,该数据中心可能位于 EEA 以外,而我们的数据库始终位于欧盟境内(第 5 节)。如需询问这些保障措施或索取其副本,请发送邮件至 [email protected]。

6. 儿童隐私

Naola 并非面向儿童。你必须年满 13 岁才能使用,如果你所在国家的数字同意年龄更高(西班牙为 14 岁),则须达到该年龄;我们不会在知情的情况下收集任何低于该年龄者的个人数据。使用本应用无需注册。如果你认为有低于该年龄的儿童向我们提供了个人数据,请通过 [email protected] 联系我们,我们会将其删除。

7. 你的权利

根据 GDPR(第 15、17 和 20 条)及类似法规,你有权访问、删除和转移你的数据。Naola 以自助操作的形式提供这些功能,因此你无需给客服发邮件,也无需等待人工处理;不过,如果你无法使用应用,仍可通过邮件联系我们。

导出你的数据(第 15 和 20 条)

在移动应用中:设置 → 账户 → 导出我的数据。你将获得一个 JSON 文件,其中包含我们与你的账户关联的每一行数据(个人资料,包括每个会话的设备标签、OAuth 关联、订阅权益、订阅事件历史、激活码元数据,以及以你的账户为键的限流计数器,每个计数器包含其名称、日期和次数)。凭据(例如你的密码哈希和“通过 Apple 登录”令牌)不包含在内。导出文件采用结构化、机器可读的格式,便于转移到其他服务。

在网页版上:在浏览器中激活 Naola 后,在 naola.net/app 的网页应用中进入设置 → 账户 → 导出我的数据。如果你无法使用应用,请发送邮件至 [email protected]。

删除你的账户(第 17 条)

在移动应用中:设置 → 账户 → 删除我的账户。经过两步确认后,我们会从数据库中删除与该用户关联的每一行数据(个人资料、OAuth 关联、“通过 Apple 登录”令牌、激活码、订阅权益、webhook 事件历史)。

在网页版上:naola.net/delete-account,需使用移动应用中的激活码;删除立即生效且不可恢复。如果你无法使用应用,请从你账户的邮箱地址发送邮件至 [email protected],我们将在 30 天内删除该账户。

如果你通过 Apple 登录过,删除账户时还会请求 Apple 撤销 Naola 对你 Apple 账户的访问权限。我们会在你的数据被删除之后执行此操作,它绝不会延迟或阻止删除。如果三次尝试后仍无法联系到 Apple,或者我们没有你账户的令牌(例如,你最后一次通过 Apple 登录是在我们开始保留令牌之前),Naola 可能仍会列在你的 Apple 账户设置中,你可以在那里自行移除它。

有两类数据会在删除后短暂保留。以你的账户为键的限流计数器不会被删除,而是在 7 天内自行过期(第 1.2 节)。此外,我们的数据库服务商 Cloudflare 会保留数据库的恢复历史(D1 Time Travel),以便在故障后进行恢复:已删除的数据会在 30 天内从该历史中消失。

重要:订阅由 Apple 和 Google 收费,而非我们。删除 Naola 账户不会取消你在 App Store 或 Google Play 的订阅。删除前,请前往 iPhone 上的“设置 → [你的姓名] → 订阅”或 Android 上的“Google Play → 付款和订阅 → 订阅”,取消 Naola 高级版,否则续订时仍会继续扣费。我们会立即删除我们的权益记录,使应用不再将你视为高级版用户,但在你于商店取消之前,计费关系仍由商店维持。

其他权利

你还有权要求更正不准确的数据、限制我们使用你的数据,以及反对基于我们正当利益的使用(第 1.10 节)。如需行使上述任何权利,或咨询有关你数据的任何其他问题,请发送邮件至 [email protected]。

投诉

你有权向数据保护机构投诉。我们的主管机构是西班牙数据保护局(AEPD),因为 Naola 是在西班牙发布的。你也可以向你居住或工作所在地的数据保护机构投诉;欧洲数据保护委员会列出了欧盟和 EEA 的各数据保护机构。你无需先联系我们,不过我们很乐意尝试通过 [email protected] 解决问题。

8. 本政策的变更

我们可能会不时更新本政策。更新时,我们会在此页面发布新版本并注明新的日期。如果变更较为重大,例如涉及新的数据类型或新的数据用途,我们还会在应用中进行公告。

9. 联系方式

如有隐私相关问题或数据请求,请联系我们:[email protected]