Enjoy the Weather privacy policy
Who runs this service. Enjoy the Weather is operated by Patrick Bostick, an individual, and is offered worldwide. Questions and requests go to hello@enjoytheweather.app.
Short version. Your wardrobe, outfits and comfort ratings stay on your phone. If you leave sharing on, the app sends an anonymous copy of each comfort rating so riders in similar weather get better suggestions. A shared rating has no exact location, no account and no device ID, and a new random ID each time. Each upload also carries a random per-install token, which the server keeps only as a hash and never stores with a rating. You can turn sharing off in Settings at any time, and the app works the same without it. No ads, no selling data, no marketing.
What stays on your phone
- Your garments (names, colours, brands, ratings), saved outfits and comfort ratings.
- Your sharing choice, a random secret the app uses to make the contributor key (below), and a random install token it gets from the ratings server. The secret never leaves the phone. Turning sharing off deletes the secret, the token and anything still queued.
- Backups you export are files you control; the app does not send them anywhere. They do not include the sharing secret or the install token.
What the app sends, and to whom
Weather forecasts. To get a forecast, the app sends the chosen place's coordinates, rounded to 0.01° (about 1 km), to Open-Meteo (open-meteo.com), and if Open-Meteo cannot be reached, the same rounded coordinates to the Norwegian Meteorological Institute (api.met.no). A place search sends the text you type to Open-Meteo's geocoding service. These services see your device's internet address, as any website does. Their own privacy policies apply.
Shared comfort ratings (on by default; Settings → Share comfort ratings). When you rate how comfortable you were, the app queues an anonymous copy and sends it in an upload:
- the weather you rated it in: temperature, feels-like, wind, rain, and the kind of conditions;
- whether it was a ride or everyday outing, your effort, and how comfortable you were;
- each garment you wore: its kind and its warmth, wind and water ratings; brand and model only when they are on the app's list of known brands, otherwise "other";
- garments you carried, and whether you put them on, described the same way;
- the day (not the time);
- your region, kept coarse: climate zone (Köppen), country, and altitude in 500 m bands;
- a fresh random ID for that rating, and a contributor key.
It never sends garment names or colours, the place or coordinates, the time of day, or your rating's own ID. Settings shows the exact lines that would be shared for your latest rating.
The contributor key lets the server count how many different people contributed to a region in a year, without being able to link your ratings across regions or years. It is made on your phone from the random secret, your region and the year. Turning sharing off and on makes a new secret.
The install token. The first time it shares, the app asks the ratings server for a random per-install token (POST /v1/installs). The server keeps only a hash of the token, with the day it was issued, and the app sends the token with each upload. It is never part of a rating. The server deletes the token's hash after 30 days without an accepted upload; if the app comes back later it gets a new token. The app deletes its copy when you turn sharing off; turning sharing on again gets a new token.
Daily limits. From one token in a UTC day, the server accepts at most 30 new ratings, 3 uploads and 2 different contributor keys. Across the whole service it issues at most 500 new tokens a day. A batch over a limit is refused whole and stays queued on the phone.
When it is sent. Usually once a day, in one batch of up to 30 ratings, and only while sharing is on. The server allows at most three uploads a day from one token. Ratings made while sharing was off are never sent later.
What the server keeps
The ratings server is a Cloudflare Worker with a Cloudflare D1 database. It stores each shared rating as listed above, plus the day the batch arrived. It does not read or store your internet address, the time of day, or any request header except the length of the request body and the install token. It writes no logs, and request logging is turned off. Cloudflare's network still sees your internet address when the request passes through it, as for any website; Cloudflare's privacy policy applies to that.
The server keeps each install token only as a hash, with the day it was issued and the day it was last used. It keeps one row per token per UTC day that links that token's hash to hashes of the day's contributor keys, so it can enforce the two-key limit; later daily runs delete rows from earlier days. The token is never stored in a rating.
The server checks each day how long it is until the next removal and records a flag when that is 60 days or less. After five years, what could link a shared rating to anyone is removed: its contributor key is replaced with a random group label that nobody can recreate, its random upload ID and the day it arrived are deleted, and the mapping from key to label is never stored. The rest of the rating (the weather, the clothes and how comfortable you were) is kept whole, so the recommendations keep their history.
What is published
The ratings server builds a recommendation table from shared ratings. A cell of region, garments and weather with fewer than its threshold of different contributors is merged into a broader cell — up to the whole world, and to "other" for brand and model — so a small group cannot be picked out. The threshold is 10 plus a random 0 to 3 for that cell, and counts are rounded to 5. No research dataset is published now. If one is published later, it will use the same 10-contributor check and give dates only by week, and this policy will change first (see below).
Your choices
- Turn sharing off in Settings at any time. Ratings not yet sent are deleted from the phone's queue, and the secret and the install token are deleted.
- Because shared ratings carry no account or device ID, the server cannot tell which ratings are yours, so it cannot find or delete them on request.
Children
Enjoy the Weather is not directed at children under 13. Because shared ratings identify no one, the app does not ask anyone's age.
Changes and contact
Questions about this policy: hello@enjoytheweather.app. When this policy changes, the app shows a short notice with a link the first time it starts after the change, and the date below changes.
Last updated: 29 October 2026.