Privacy policy

Weather · HYM · Effective 15 October 2026 (policy version 1.19)

This policy explains how Weather, a weather app by the independent developer HYM, handles your data. It covers the website weather-app.hym-toys.workers.dev, the native Android app from version 2.0, and earlier Android versions that display the website. Describing an Android version here does not mean that it has been published or approved by an app store. In other languages the app is called מזג אוויר, El tiempo, الطقس, Погода, Météo, Tempo or Wetter. For any privacy question, write to webhym@gmail.com.

This copy of the privacy policy is hosted on Firebase Hosting, a Google service. The weather app and its API remain on Cloudflare. This page contains no Firebase SDK. According to Firebase's privacy documentation, Hosting uses IP addresses for abuse detection and usage analysis, and retains IP data for a few months. The policy is also available on the app's website.

In short

Your location

You can always search for a place instead of sharing your location. In native Android 2.0 and later, “My location” requests Android's optional approximate location permission. From version 2.0.1, the app uses available Android system location providers that can serve that permission, which may supply a recent known position. It also reads location when it opens if you chose “Where I am” in Settings and already granted permission. Requests run only while the app is in the foreground. It does not request precise or background location, and does not track your movements. A pending location request ends after a short timeout, when cancelled, or when the app leaves the foreground.

Native Android rounds the received coordinates to two decimal places before saving the selected place or asking for weather. The nearest town's name is found on your device. The app keeps the last selected rounded position and a single forecast cache entry for “My location”; choosing another position replaces that entry rather than building a history of positions.

On the website and in earlier Android versions, the page asks for location when you tap “My location”, or when it opens with “Where I am”, with your last selected location, or with no selected place. Choosing a favorite as the opening place avoids this. If a permission or location setting is still pending, the page may retry once after you allow it or return within about two minutes. Weather requests round latitude and longitude to two decimal places. Rounding alone does not guarantee approximate location under every privacy definition: a browser can supply a more accurate position, and a 0.01° grid cell is smaller than 3 square kilometers.

Earlier Android versions show the page in a Trusted Web Activity or built-in WebView and delegate only Android's approximate location permission. A separate browser manages its own permission and accuracy. The wrapper keeps no separate location; the page keeps the last selected place locally. Hosting may also derive an approximate country or city from your IP address without device location permission, as described below.

What the app sends to our server

Our server

Our server is a small program hosted on Cloudflare. The program uses what the app sends to answer the request and has no user database. Per-request invocation logs are disabled in our configuration. If something goes wrong, a short error message without coordinates (for example “forecast failed”) may be recorded. Cloudflare retains these logs for the period applicable to our hosting plan.

So that people in the same area share one request to the weather services, the server keeps copies of the weather data it receives, such as the forecast for a grid square about 5 km across or a country's list of warnings, in Cloudflare's cache for up to a day. These copies contain only weather data and the grid point, never anything about who asked.

As our host, Cloudflare processes requests, including your device's IP address and routing information, for service delivery and security under its privacy policy. This traffic processing is separate from the program's logging configuration.

Cloudflare's service documentation describes location information derived from incoming requests, such as a visitor's approximate country or city. Hosting may derive this information from your IP address even if you decline device location permission. Our program does not use this metadata to choose your forecast.

Weather services our server contacts

Our server, not your device, gets the weather from:

For weather requests, MET Norway and Environment and Climate Change Canada receive a grid point about 5 km across (0.05°), rather than the finer point sent to our server. The US National Weather Service receives the place rounded to two decimal places, because US warnings can cover small areas such as a storm's path. Our server does not send the coordinates of your selected place to MeteoAlarm, MetService or the Israel Meteorological Service. It downloads country warning lists and their linked documents, or a forecast for a stretch of coast, and selects what applies to your place itself. When a request of yours makes our server contact these services (when no recent copy is cached), Cloudflare may pass your device's IP address to that service in a header called CF-Connecting-IP, and the service handles it under its own privacy policy. We send them nothing else that identifies you.

Some providers retain request logs: MET Norway documents IP retention of up to 90 days; the US National Weather Service may keep request logs for usage statistics and security; and MetService retains usage information as needed for its purposes. Their policies govern this handling, separately from our program.

Warnings in another language

Native Android shows the published warning text and offers its official source link. It does not send warning text to a translation service. The following optional translation link applies to the website and earlier Android versions.

Official warnings are shown as the weather service published them. When a warning's text is in a language other than the app's (for example an English warning while the app is in Hebrew), a “Translate with Google Translate” link appears under it. Nothing is sent unless you tap it. If you do, your device opens Google Translate, a Google service, in your browser or in Google's Translate app, and the address it opens contains the public text of that warning (its headline and description, or only their beginning if they are very long), the warning's language and the app's language. We add nothing about you, and the link does not go through our server. Because a warning describes the area it covers, its text may show roughly which region you are viewing. Like any website, Google also sees your device's IP address, and it processes all of this under its own terms and privacy policy.

The map

Maps are loaded by your device directly: the base map from OpenFreeMap (tiles.openfreemap.org), and satellite and rain images from NASA GIBS (gibs.earthdata.nasa.gov) and EUMETSAT (view.eumetsat.int). Like any website, these services see your device's IP address and which part of the map is loaded, which is roughly the place you are viewing. We add no account or tracking identifier to these requests. On the website and earlier Android versions, the map loads when you scroll to its card, which you can hide in Settings. Native Android loads the map when you open the Map tab. It uses the MapLibre native SDK and keeps map resources in its local cache. Satellite precipitation is an estimate, not live radar. You can clear native map data with “Delete my data”, as described below.

OpenFreeMap normally omits IP addresses from its logs, but may log them for up to 30 days during security incidents. The map providers handle technical data under their own policies.

Links and sharing

Links in the app, such as the Israel Meteorological Service rain radar, the full text of an official warning, or the sources and licenses, open that organization's website in your browser, under its own privacy policy. Some of these links contain the place's approximate coordinates. The “Share” button draws a picture on your device and hands it to the app you choose; it does not go through our server.

A shared forecast comes with a link that opens the same city for whoever you send it to. The link holds the city's name and the city's own coordinates rounded to two decimal places. In native Android, sharing a forecast for “My location” uses the website's main address without your device position. On the website and earlier Android versions, that link names the nearest city, never your own position. A name you gave a favorite place (such as “Home”) is never in the picture or the link: they show the city's name. “Share the app” sends only the address of our website.

On the website and earlier Android versions, “Send feedback” opens your own email app with a message to us. Its subject is filled in with the app's version, the app's language and the kind of device (for example “Android app”), and nothing else: no location. Nothing is sent unless you send it. “Rate the app” opens the app's page in Google Play or the Amazon Appstore.

My trips

Trips are kept on your device: destination city, dates, title, packing-list ticks and the items you add. Their dates, lists and planning choices are never sent to our server. Native Android supports up to 10 trips, each lasting 1 to 30 days. It computes destination-local dates, packing suggestions and activity windows from the forecasts it already has, and can compare two saved destinations on the same calendar date in each destination's time zone.

From native Android 2.0.2, the app also saves one unfinished trip draft so you can continue after reopening it: the current destination search text, selected city, title and dates. Pressing Cancel, dismissing the editor or successfully saving removes that draft. For up to 10 saved trips, it keeps your latest planning choices, such as the selected day, activity, duration and comparison destination, and unfinished text for a custom packing item. This is local input, not an interaction history; the draft, search text and planning records are not uploaded.

To show weather and warnings, the app sends the destination city's coordinates rounded to two decimal places, and for warnings its country code and the app's language, just as for any city you view. It never sends anything that identifies the request as a trip. Native Android requests this data only when a trip starts within 9 days of the destination's local date or is under way, and only while you use the app. An available saved forecast can be shown offline only while its source age and actual time coverage remain usable.

The website and earlier Android versions also keep when a trip was added, which in-app reminders were shown, the home city chosen for comparison, and saved forecasts for that city and the destination. These versions fetch trip weather within about 8 days or while a trip is under way. Their destination and home city use the city's coordinates, including when selected from “My location”, rather than your device position. Reminders appear only inside the app. City search follows the version-specific behavior described above.

Where no official warning source is available, a link to the World Meteorological Organization's worldwide warnings page (severeweather.wmo.int) may be offered. It opens only when tapped, contains no place, and is subject to the WMO's policy.

Native Android from version 2.0

This version uses Kotlin and Jetpack Compose. It does not display the app in a WebView or require Chrome. Settings, favorite places, trips, custom activities, the last selected place and saved forecasts are kept in the app's private storage. Forecasts and warnings use our existing Cloudflare server; maps contact the providers above directly.

From native Android 2.0.2, automatic language selection uses the device's ordered language settings on your device; you can choose and save a manual language instead. City suggestions use the region in the device's locale settings when available, or popular cities worldwide. This setting is not your physical location and does not automatically select a weather location. The device locale list and region are not sent to our server. Warning and sea requests still include a supported source language selected using the app's language, as described above.

We add no standalone analytics or Firebase SDK. From version 2.0.7, Google Mobile Ads processes advertising data as described below. Android and UI libraries are used to run the app, and MapLibre is used to display maps. The privacy page at hym-weather.web.app is hosted by Firebase Hosting; opening that external page sends a normal browser request to that service under its privacy terms. Firebase is not used to store app settings or trips.

The app is configured to exclude its local data from Android cloud backup and standard device-to-device transfer. It shares a locally generated forecast picture through Android's share chooser. Pictures older than 24 hours are removed the next time you share, and “Delete my data” also removes them. External source, license and privacy links open your browser only when you tap them.

Earlier Android versions

On most Android phones, the app opens in Chrome or another browser that can show it as an app (a “Trusted Web Activity”). Its data is then kept in that browser's storage for our website, and the browser handles it under its own privacy policy.

On devices without such a browser, such as Amazon Fire tablets and phones without Chrome, the app shows our website in its own built-in web view instead:

Stored on your device

Native Android uses its private app storage. The website uses the browser's storage for our website; earlier Android versions use that browser storage or their private WebView storage.

From native Android 2.0.7, the app also keeps a small advertising frequency record locally. That record includes a total entry count, recent display counts and times, and clock information used to enforce the limits. Google's consent SDK keeps consent and privacy-choice records. These records are separate from your weather settings and are not sent to our weather server. An age-group record left by an earlier build is retained locally, if present; the current release does not ask for a new age-group choice.

App stores

If you install an available version from Google Play or the Amazon Appstore, the store handles downloading and updating under its own terms and privacy policies. They show us overall figures, such as the number of installs, and may show us technical crash reports (for example the device model and Android version), but not who you are. Reviews you post are public on the store.

For versions processed and distributed by the Amazon Appstore, Amazon may add its own code. According to Amazon, it uses this code among other things to collect analytics about the app and to apply its policies, and the app contacts the Amazon Appstore app on your device when it starts. This is done by Amazon, under Amazon's own terms and privacy notice, and we receive nothing from it about you.

Security

How long data is kept

Advertising frequency records are updated and kept locally so limits survive app restarts. Any age-group record left by an earlier build remains until app storage is cleared. The consent SDK maintains its own local choice records and checks whether choices need to be renewed. Clear storage in Android removes these local records; provider-side advertising data follows Google's retention and deletion policies.

Deleting your data

The app's deletion command removes the local weather data listed below. It does not erase request logs or data held by Cloudflare, weather or map providers, Firebase Hosting, Google advertising services or external websites; their retention and deletion policies apply.

For any question or request about your data, write to webhym@gmail.com.

Android App Open advertising (from version 2.0.7)

Native Android version 2.0.7 introduces Google AdMob App Open ads for adults. The website and earlier Android releases do not include this advertising integration. The app is intended for adults aged 18 and over and does not ask you to select an age group or provide a date of birth. This audience designation is not a verification of an individual user's age. Consent requests are handled by Google's platform as described below. If an earlier build stored an under-18 or prefer-not-to-say choice, that existing local restriction is preserved and the app does not start consent or advertising for that record.

Google Mobile Ads may automatically collect and share IP addresses (which may estimate a general location), device and advertising identifiers (such as the advertising ID and app set ID, and account-related identifiers where applicable), ad and app interactions, and diagnostic/performance information. Google uses this data for advertising, analytics, fraud prevention and security. Data is encrypted in transit. We do not pass your weather coordinates, saved places or trips to an ad request. Google's SDK has its own data processing; see Google's privacy policy, Google's data-retention information and Google advertising information.

Google's User Messaging Platform manages consent and privacy choices where applicable. Requests are permitted only when that platform reports that ads may be requested. Where required, Settings includes a privacy options button to review choices. Your choices can affect whether personalized, non-personalized or limited ads are available; declining personalization does not necessarily remove all advertising or all advertising-related data processing. The app does not provide a general switch to disable all advertising and its related SDK data collection. You can also reset or delete the Android advertising ID using Android's advertising settings. Local counters and timestamps limit display frequency; these counters are not sent to our weather server.

The app starts an ad presentation only during launch, on top of a short launch screen that waits a few seconds at most for the ad, or immediately upon a qualifying return after at least 30 seconds in the background. On return, an ad may cover the screen you left open. Google controls the ad's rendering and close controls. The first two counted entries are ad-free, then there is at most one display per hour and three per device-local day. Ads are not guaranteed on every eligible entry.

Age audience

From Android version 2.0.7, Weather is intended for adults aged 18 and over. It does not ask for an age group, name, date of birth, email address or other contact details. Any under-18 or prefer-not-to-say restriction saved by an earlier build is retained locally as described above; it is not replaced with an adult choice.

Data use

We do not sell weather profile data. Advertising providers may process data for their advertising purposes as described above, subject to applicable privacy choices. We add no app account identifier. Amazon's handling of copies it distributes is described above. Hosting and other providers can process technical traffic under their own policies. The app sends the data described here to get the weather or map you request; warning text reaches Google Translate only if you tap the translation link available on the website and earlier Android versions.

Changes to this policy

If the app changes the way it handles data, we will update this page before the change takes effect and show the new date and version at the top.

Contact

Weather is developed by HYM. Privacy contact: webhym@gmail.com.