隐私政策
最后更新:2026 年 4 月 26 日
2026 年 4 月 26 日修订:反映网页版激活码流程(无网页注册;高级版 账户仅通过移动端订阅创建)以及单设备会话模型。
weNow("我们"、"我们的"、"本应用")是一款天气应用。我们致力于保护你的隐私。本政策说明我们收集哪些数据、为何收集以及如何处理。
1. 我们收集的数据
1.1 位置数据
当你授予位置权限时,应用会访问你设备的地理坐标(纬度和经度)以获取所在地区的天气数据。位置数据:
- 本地存储在你的设备上(在应用存储中),以便在会话之间记住你选择的位置。
- 按请求发送到我们的后端服务器以获取天气数据。它在内存中处理,不会以原始形式存储。为追踪准确性,我们会存储匿名化坐标(精度约为 1 公里)和城市名称 — 这些是共享的地理参考点,不与任何用户、IP 地址或设备关联。
- 转发给第三方天气服务商(见第 3 节)以获取预报。每个服务商仅在 API 调用期间接收你的坐标。
你可以拒绝位置权限,改为手动搜索城市。你可以随时通过设备设置撤销位置权限。
1.2 IP 地址
出于限流目的,我们存储你 IP 地址的单向加密哈希(SHA-256)。无法从该哈希恢复原始 IP 地址。哈希后的 IP 记录在 7 天后自动删除。
1.3 反馈消息
如果你通过应用提交反馈,我们会存储消息文本和你的应用语言。反馈完全匿名 — 不附带任何邮箱、姓名或识别信息。
1.4 订阅数据
如果你进行应用内购买,我们会存储一个匿名的 RevenueCat 标识符、你的平台(iOS/Android)以及订阅状态。这些数据不与你的姓名、邮箱或任何个人账户关联。
1.5 本地存储
应用仅在你的设备上存储以下内容:
- 你选择的位置(坐标和城市名称)
- 语言偏好
- 是否已完成引导
- 小部件位置配置
这些数据从未离开你的设备,在你卸载应用时会被清除。
1.6 广告展示和点击
非高级用户会在主天气屏幕底部看到一个小广告卡。我们不使用任何第三方广告网络。所有广告均由我们自己的后端提供,不包含追踪像素、cookie 或第三方脚本。
与广告相关,我们仅存储以下数据:
- 展示计数器 — 每条广告一个整数,每次后端提供该广告时递增。不与任何用户、设备或会话关联。
- 点击计数器 — 每条广告一个整数,每次后端收到点击报告时递增。不与任何用户、设备或会话关联。
该结构没有外键、IP、时间戳或其他任何可以将广告展示或点击与单个用户关联的字段。即便拥有完整的数据库访问权限,也无法技术上重建出哪位用户看过或点击过某个广告。
广告不读取设备广告标识符(IDFA、GAID),不设置 cookie,也不与第三方共享任何数据。
联盟链接
部分广告包含联盟链接(例如 Amazon Associates)。这些 URL 包含一个将 weNow 标识为推荐来源的联盟标签。weNow 不通过这些链接传递任何用户数据 — 没有设备 ID、没有 IP 地址、没有会话令牌,也没有任何形式的标识符。
然而,一旦你点击联盟链接并离开应用,目标商家(例如 Amazon)将根据其自身的隐私政策运作。商家可能在其网站上使用 cookie 或其他机制,将访问归因于联盟标签。这是联盟计划的标准行为,不在 weNow 的控制范围内。
如果你不希望被商家追踪,可以选择不点击广告,或在访问商家网站后清除浏览器 cookie。
高级用户不会看到任何广告,也不会记录与其相关的任何广告数据。
1.7 账户数据(仅限 高级版 订阅者)
weNow 的 Android 和 iOS 应用完全无需账户即可使用。仅当你订阅 高级版 时才会创建账户 — 届时我们会保存最低限度的信息,用于识别你是订阅者,并允许你通过移动应用生成的激活码在网页版上使用 高级版。
我们为订阅者保存的内容:
- 电子邮箱地址 — 用作订阅者标识符。以小写形式保存,以便在多设备间匹配同一账户。部分用户使用 Apple 的私人中继邮箱登录;此时我们只能看到中继地址,永远看不到底层邮箱。
- 密码哈希(仅在你设置了密码时) — 使用 PBKDF2 进行哈希(10 万次迭代、SHA-256、每用户随机 salt)。使用 Apple 或 Google 登录的用户不会设置密码;此类账户标记为「仅 OAuth」。
- OAuth 提供商关联(Apple / Google 的 subject ID) — 仅在你使用上述其中一种提供商登录时。
- 活动设备标识符 — 登录时生成的不透明 UUID。weNow 高级版 每个账户仅限一台设备;由此 UUID 来执行这一点。我们签发的 JWT 将其作为 claim,不匹配时返回「会话已撤销」响应。
- 激活码 — 在移动应用中生成、用于在网页版解锁 高级版 的短期
WN-XXXX-XXXX码(10 分钟、一次性)。我们保存激活码、生成者、生成时间以及是否已使用;无论是否使用,10 分钟后都会自动失效。 - 账户创建时间
网页版没有注册表单。要在网页版上使用 高级版,请在移动应用中生成激活码(设置 → 账户 → 在网页激活 weNow),然后粘贴到 wenow.name/activate。网页版无法独立创建新账户或新订阅。
会话通过使用 HMAC-SHA256 签名的 JSON Web Token(JWT)管理,有效期 30 天。JWT 与上述活动设备标识符绑定 — 在其他设备登录会在一段短暂的宽限期后挤掉之前的设备,从而避免一份订阅在多台设备间共享。
1.8 浏览器 Cookie(仅限网站)
weNow 营销网站(wenow.name)仅设置一个严格必要的 cookie:
lang— 存储你的语言偏好(例如fr、ja),以便后续访问时无需重新检测即可以你选择的语言加载网站。有效期一年,SameSite=Lax,Secure。仅包含 2–3 个字母的语言代码。无个人数据,无追踪,无跨站共享。
根据 GDPR/ePrivacy,严格必要的 cookie 无需事先同意。lang cookie 在你通过页脚切换器明确选择语言时设置,或在网站自动检测到你浏览器的 Accept-Language 标头并首次将你重定向到匹配语言时设置。
你可以随时通过浏览器的 cookie 设置清除它。应用本身(Android 和 /app/ 网页客户端)不使用浏览器 cookie。
2. 我们不收集的数据
- 在 Android、iOS 或网页版上免费使用均无需用户账户或注册
- 无邮箱地址(除非你订阅 高级版 — 见第 1.7 节)
- 无姓名或其他个人标识符
- 无分析或使用追踪
- 无广告标识符(IDFA、GAID)
- 无第三方广告网络或 SDK
- 无追踪 cookie(仅严格必要的
langcookie — 见第 1.8 节) - 无崩溃报告或遥测
- 广告展示/点击与任何用户或设备均无关联
3. 第三方服务
为了提供天气数据,每次天气请求时都会将你的坐标发送到以下服务:
- OpenWeatherMap — 天气数据和地理编码
- WeatherAPI — 天气数据
- Open-Meteo — 天气数据
- Visual Crossing — 天气数据
对于应用内购买:
- RevenueCat — 订阅管理
每个服务都有上方链接的隐私政策。我们鼓励你进行查阅。
4. 数据保留
| 数据 | 保留时间 |
|---|---|
| 哈希后的 IP(限流) | 7 天(自动删除) |
| API 使用计数 | 7 天(自动删除) |
| 反馈消息 | 直到我们手动删除 |
| 订阅记录 | 订阅期限 + 合理的后续期限 |
| 位置坐标(原始) | 不存储在服务器上(仅在内存中处理) |
| 位置聚合数据(准确性追踪) | 不限期(匿名,不与用户关联) |
| 本地设备数据 | 直到你卸载应用 |
| 账户邮箱和密码哈希(网页用户) | 直到用户请求删除账户 |
| JWT 会话令牌 | 签发后 30 天(之后自动过期) |
| 广告展示/点击计数器 | 不限期(仅聚合,不与用户关联) |
lang cookie(网站) | 1 年(存储于浏览器;可随时清除) |
5. 数据处理位置
我们的后端运行在启用了欧盟智能部署的 Cloudflare Workers 上,这意味着来自欧盟用户的请求在欧盟内部处理。数据在内存中处理,不会超出上述保留期限持久存储。
6. 儿童隐私
weNow 不会有意收集 13 岁以下儿童的数据。应用不需要账户,也不收集个人信息。
7. 你的权利
根据 GDPR 及类似法规,你有权:
- 访问 — 请求我们所持有的有关你的数据
- 删除 — 请求删除你的数据
- 可移植性 — 以可移植的格式接收你的数据
- 反对 — 反对数据处理
由于我们仅收集最少的匿名数据,这些权利大多已通过设计得到满足。如需行使任何权利,请通过下方地址联系我们。
如需请求删除你的网页账户及相关数据,请从与账户关联的地址发送邮件至 [email protected]。我们将在合理时间内从数据库中删除对应记录。
8. 本政策的变更
我们可能会不时更新本政策。变更将在此页面发布并注明更新日期。变更后继续使用应用即表示接受。
9. 联系方式
如有隐私相关问题或数据请求,请联系我们:[email protected]
此翻译仅供参考。英文版本为具有法律效力的正式文本;如有任何出入,以英文版本为准。