Privacy policy
Aethopia collects only what is needed to show the weather and send weather and storm alerts. This page lists each item, what it is used for, where it goes and how long it is kept.
Last updated: 2026-11-05
Location
The app reads your device location only after you tap “Allow location” or turn on Location in Settings; it reads once each time the app opens or returns to the foreground and never tracks continuously.
Location is used to show the weather where you are and to determine whether the Hong Kong or the abroad version of the morning and evening tips applies. Within 50 km of Hong Kong, the device sends the coordinates rounded to two decimal places (about 1 km) to our server to pick the nearest official automatic weather station and the nearest rain-forecast point, so the Today page shows that station’s temperature, humidity and wind and that point’s rain forecast, and names your district next to the place (for example “Tsuen Wan, Hong Kong”); the coordinates are not written to a cookie and the server does not log or store them.
iOS weather widgets keep only the latest confirmed location in shared storage on your device — the district name in Hong Kong, or the city name and time zone outside Hong Kong (“Current location” stands in when no place name is available) — together with the language, confirmation time and coordinates rounded to two decimal places, without a location history. Weather widgets use only locations confirmed within 24 hours; the Moon widget can use a location outside Hong Kong confirmed within 72 hours to work out the local Moon on the device. An expired location is no longer used and is overwritten the next time a location is confirmed. Widgets do not read GPS in the background: in Hong Kong they request nearby station readings in the same way; outside Hong Kong they send the rounded coordinates and time zone to our server, which requests the local weather from Open-Meteo, and the Aethopia server does not log these coordinates or build a location history (if an upstream connection fails, an error log may include the request URL and those coordinates for about seven days); forecast responses are cached on the server by coordinates to reduce repeat requests, and the cache is not linked to your device or identity. Tapping the Moon widget sends those rounded coordinates, the time zone and the place name to our server to show the Moon page for that place. Turning Location off clears this snapshot at once; if the system location permission is revoked, it is cleared the next time the app opens or returns to the foreground; when a location is temporarily unavailable, the last confirmed one is kept until it expires. When the location expires or the data request fails, widgets return to the Hong Kong weather or Moon.
More than 50 km from Hong Kong, the device keeps the coordinates (two decimal places, about 1 km), time zone and place name in a cookie, which is sent with each request to our server to render the Current location page; the server then requests the forecast and Open-Meteo air-quality (CAMS, US AQI scale) for those same two-decimal coordinates. The Aethopia server does not log these coordinates or build a location history (if an upstream connection fails, an error log may include the request URL and those coordinates for about seven days); forecast responses are cached on the server by coordinates to reduce repeat requests, and the cache is not linked to your device or identity. Open-Meteo states that its API request logs may contain geographical coordinates and are retained for 90 days. Turning Location off clears the cookie.
The place name comes from the device’s system geocoder (Apple or Google), which receives the coordinates.
Stargazing sends device coordinates rounded to two decimal places (about 1 km) and the time zone to our server for calculation; the server passes the same two-decimal coordinates and time zone to the forecast provider to obtain cloud-cover and rain-chance forecasts. The result is cached on the server for up to one hour under those rounded coordinates, not linked to your device or identity, and no location history is created. The provider is named, with its request-log terms, under Third-party services.
When you search for a city, the text you type is sent to our server, which passes it to the forecast provider’s place-search service to find matching cities. Saved cities (up to 10) are stored only on this device and our server keeps no list of your cities; to lay out the page, the device tells the server in a cookie how many cities you have saved. To show a saved city’s weather, the device sends that city’s coordinates (two decimal places) and time zone to our server, which requests the forecast and air quality from the same provider; these are the coordinates of the city you chose, not your device location. To reduce repeat requests, the server caches upstream responses by search text and city coordinates (search results for seven days or longer); the cache is not linked to your device or identity (if an upstream connection fails, an error log may include the search text or city coordinates for about seven days). To limit abuse, the server counts search and city-weather requests per IP address in memory over about a minute and writes none of it to any record. The provider is named, with its request-log terms, under Third-party services.
Background
The photo stays on this device and is never uploaded.
Push notifications
Only after you turn notifications on does the app register with our server the device push token (issued by Apple or Google), the platform, the language, the alert types you chose (tropical cyclone signals, storms within 500 km, new storms forming, morning weather tip, evening weather tip) and the hour of registration.
The Hong Kong morning weather tip is off by default and must be turned on in Settings; once on, it is sent at 06:00 Asia/Hong_Kong, exempt from quiet hours. You can turn the morning weather tip off in Settings at any time without disabling other alerts. It is skipped without today's official forecast; this version has no UV morning-tip trigger. Seasonal category switches are stored with the notification subscription and used only to select the morning tip’s supporting line. Fire Danger Warning reminders have a separate switch, off by default; other seasonal categories default to on.
The morning tip abroad is off by default and must be turned on separately, after the morning weather tip and Location are on. Once on, while the device is more than 50 km from Hong Kong, the app converts your location on the device into the number of a grid square of about 0.25 degrees (about 28 km) and sends it with the local time zone to our server, where it is stored with the push registration and used to send a local morning tip at 06:00 local time. This feature never sends your coordinates to the server; only the square number, time zone and report time rounded down to the hour are stored, with no location history, and each report replaces the previous one. The server requests the local forecast from Open-Meteo for the centre of the square, not for your coordinates; Open-Meteo states its request logs may be kept for 90 days. After you return within 50 km of Hong Kong, the square and time zone are cleared when the next app open or foreground location report confirms the return. They are also cleared when you turn Location off, or when neither the morning tip abroad nor the evening tip abroad (see below) is still on (turning off the morning weather tip or the evening weather tip also turns off its tip abroad); a location not refreshed for 72 hours is not used. The tip abroad uses only the fog, dry-air and temperature-swing seasonal categories.
The evening weather tip is off by default and must be turned on in Settings, independently of the morning weather tip; once on, it is sent at 17:00 Asia/Hong_Kong with the outlook for tonight into tomorrow morning, and is skipped when the warning or next-day forecast data it needs is unavailable. The evening tip abroad is also off by default and must be turned on separately, after the evening weather tip and Location are on; once on, while the device is more than 50 km from Hong Kong, it is sent at 17:00 local time with the local forecast. The evening tip abroad shares one copy of the grid-square number, time zone and report hour with the morning tip abroad rather than storing a second one; the server likewise requests the local forecast from the same forecast provider only for the centre of the square, not for your coordinates, and the clearing rules and 72-hour limit above apply in the same way. The server also stores the evening-weather-tip and evening-tip-abroad preferences and the date of the latest send attempt for each (the Hong Kong date and the local date respectively), used and kept in the same way as the corresponding morning-tip fields. You can turn the evening weather tip off in Settings at any time without disabling other alerts.
The server also stores the morning-tip preference, the device's last report of whether you are more than 50 km from Hong Kong (a boolean, not coordinates), the Hong Kong date of the latest send attempt, the morning-tip-abroad preference and the local date of its latest send attempt, and whether the first opt-out notice still needs to be added. These select recipients and prevent another attempt on the same day. The first opt-out notice is marked complete only when the notification is accepted by the push service; this does not prove device receipt. These fields remain with the push registration and are deleted when the registration is removed; disabling only the morning tip keeps the registration needed for other alerts.
To check dispatch outcomes, the server separately retains push records for 90 days, including time, alert kind, title, in-app path, language, platform, outcome and failure reason, with only the first 12 characters of the push endpoint rather than the full token. This includes morning and evening tips; removing a registration by disabling notifications does not immediately erase existing dispatch records, which are cleaned up according to this retention period.
The token is used only to send those alerts. Turning notifications off in Settings, or the system revoking the token, deletes the registration on our server.
While a tropical cyclone warning signal is in force, the app registers a Live Activity update token with our server so that signal updates can be pushed to the Lock Screen and Dynamic Island; the token is deleted when the Live Activity ends or when you turn notifications off.
If you follow a flight in the app, we store your device's notification identifier together with the flight number and date, use them only to send alerts about that flight, and delete them automatically within about 24 hours after the flight. We do not collect your location.
Only after you enable a sky alert does the subscription store an approximate 0.25° location cell, time zone and fix time, including within Hong Kong. Turning all sky alerts off clears these fields.
Errors and technical diagnostics
Crashes, errors and foreground-refresh or navigation problems send stack traces, device model, OS version, app version and relevant technical diagnostics to Sentry for repairs. The project uses European-region ingestion; other processing and subprocessors follow Sentry’s privacy policy. Location cookies, coordinates, push tokens and other sensitive data are removed before sending in the latest app version. Update older app versions to apply these controls. Performance tracing and screen replay are disabled.
Usage measurement
The app (iOS/Android) creates a random anonymous install number on your device when usage sharing is enabled. On opening, or returning after at least 30 seconds in the background, it sends the number and platform to our server. Only the server’s Hong Kong date and hour are recorded to count daily and weekly devices and usage times. The opening source is not recorded. The number is not an advertising identifier, is not linked to your identity, push token or other data, and is never used to track you across apps or websites. Raw records containing the number are kept for 13 months; totals without identifiers are kept permanently. Sharing is on by default, with a one-time notice and an option to turn it off before sending. Turning off “Share usage statistics” in Settings stops sending, deletes the device’s number and requests deletion of its server records. Offline deletion requests are retried on the next launch. Turning sharing on again creates a new number. Deleting the app also removes the device’s number. Personalisation stays on your device; server statistics inform overall product decisions only.
For each page served, the server records the path, language, date and the referring site’s host name; within the app three interactions (tab, timeline, replay) are also recorded. This website measurement records no IP address, browser or device identifier, or cookie. On the website there is no visitor identifier, so returning visits cannot be recognised.
Third-party services
Our servers run on Cloudflare, which briefly processes connection data (including IP addresses) to deliver content and block attacks; Aethopia keeps none of it. Weather and storm data come from official meteorological agencies in Hong Kong and overseas and from other public sources (all listed under Sources and limits). When fetching that data the server passes on none of your data, except city-search text, the two-decimal coordinates for the Current location page, widgets, saved cities and Stargazing, and the grid-square centre for the morning and evening tips abroad, which go to Open-Meteo (see above) under its privacy terms. When the app opens, our server checks the latest version number on the App Store with Apple (at most once every six hours). The query carries no user data, and the device does not contact Apple directly.
Your choices
Location and notifications can be turned off in Settings at any time and take effect immediately. Deleting the app removes all data on the device; turning notifications off in Settings removes the server push registration, as does the server detecting a token revoked by the system. Existing dispatch records follow the 90-day retention period described under Push notifications.
The app is not directed at children under 13 and shows no targeted advertising.
Contact
For privacy questions, email support@aethopia.com. Changes to this policy are dated on this page.