Data stored on your device
- Saved places and preferences: city names, region and country, coordinates rounded to two decimal places, time zones, the selected city, list order, temperature order, layouts, card size, and the focused reading's scale and type. These are kept in the app's preferences (
UserDefaults). - Forecast alerts: your alert rules (kind, threshold, city, lead time, on or off) and a record of each planned notification's forecast time.
- Saved weather: last-good weather snapshots, stored as JSON in the app's cache. When the app restores them, it ignores snapshots older than 48 hours and snapshots for places no longer saved. This is a freshness filter, not a guarantee that every cached file is deleted on schedule.
- HTTP responses: a response cache of up to 64 MiB, shared with the widgets. It can hold weather, alerts and city-search results, including place names and coordinates returned by providers, until cache pruning or app deletion.
- Radar tiles: RainViewer images, in a separate private cache of up to 64 MB. Their tile coordinates reflect map areas you viewed and the areas around cities whose forecasts you viewed.
- Request-limit state: request times, costs and provider cooldowns, so limits apply to the app and widgets together. This state does not record city names or search text.
Local diagnostic counters and system logs record provider names, request outcomes and durations, cache use, and errors. Twofold's diagnostic messages do not include city names, coordinates, IP addresses, or full request URLs, and they are not sent to the developer.
The shared weather cache and request-limit files are excluded from device backups and use iOS data protection that allows access after the first unlock following a restart. Twofold has no iCloud sync of its own. Preferences and other eligible app data may be included in ordinary device backups, depending on your Apple and device settings.
Location
Location permission is optional. Twofold asks for it only when you tap Use my location, and then requests a single approximate location while the app is in use. The app rounds the coordinates to two decimal places (roughly 1 km) before saving them, requesting weather, or asking Apple for the place name. Twofold never requests background location, and widgets never request device location.
You can use the app without location permission by searching for a city. Selecting any city still sends that city's rounded coordinates to weather providers, so denying location access does not stop all location-related requests. Rounding does not make a network request anonymous.
City search
Search text between 3 and 100 characters is sent to Open-Meteo's geocoding service after a short typing pause, before you press Search. The text is part of the request address, so it can appear in the provider's server logs. Twofold keeps no search-history list, but search responses may be cached on the device.
Services that receive requests
Each service below receives your IP address and normal HTTP request information, such as the request time and address, in addition to what is listed.
| Service | What it receives |
|---|---|
| Open-Meteo | Rounded coordinates for forecasts and current conditions, and the text you enter in city search. Its privacy policy says web-server logs may contain IP addresses and coordinates and are deleted after 90 days. |
| CAMS via Open-Meteo | Air quality and pollen come from Copernicus Atmosphere Monitoring Service (CAMS) models, requested from Open-Meteo's air quality service with the same rounded coordinates. Twofold does not contact CAMS directly. |
| National Weather Service (NWS) | For supported US locations and territories: rounded coordinates, and requests for nearby stations, observations and alerts. See the NWS privacy policy. |
| RainViewer | When the Rain radar layer is shown: the radar frame list and map tiles for the area you view. When you view a city's forecast in the app, Twofold may also load the frame list and the latest radar image for about 600 by 750 km around that city, so the map opens with radar already drawn. This happens at most once every 10 minutes per city, only while the app is open, and not in Low Power Mode, in Low Data Mode, or on cellular or other expensive networks. Tiles are never finer than zoom level 7 (about 300 km across at the equator), so they reveal an area coarsely. The map starts centred on the selected city. Requests carry iOS's default User-Agent with the app name and version, but no city names, search text or identifiers. See the RainViewer privacy notice. |
| Apple Maps | Rounded coordinates for finding a place name after Use my location, and map-area requests when you use the map. See Apple Maps privacy and Apple's privacy policy. |
Weather requests use HTTPS, store no cookies or credentials, and send a fixed app User-Agent that includes the developer's support email. They carry no user or device identifier. Radar requests use a separate HTTPS session that also stores no cookies or credentials.
Opening an external link, such as NWS radar or a provider page, uses your browser and that website's own privacy practices.
Widgets and the App Group
The app and its widget extension share a local App Group container on the device. It holds a bounded copy of saved places, the selected city, temperature order, and weather for widgets (up to 48 forecast hours per city, and at most 2 MiB of shared weather). WidgetKit also keeps each widget's city choice and rendered timeline.
Installed widgets can request weather for saved cities while the app is closed, using the same providers, rounded coordinates and request limits. iOS decides when they update. Widget city names and weather are marked privacy-sensitive, so iOS can hide them when the device is locked.
Notifications are local
Forecast alerts are planned on the device from saved forecasts and scheduled with iOS as local notifications. No server sends them, and alert rules and settings are never sent anywhere. Twofold does not register for push notifications.
No tracking, ads, analytics, or accounts
Twofold has no sign-in, advertising, analytics or crash-reporting service, and no tracking across other companies' apps or websites. It does not use an advertising identifier and does not sell or share personal data for advertising. Apple may process App Store and device diagnostics under your Apple settings and Apple's policies.
Children
Twofold is a general-audience weather app. It has no accounts and does not knowingly collect personal information from children, or from anyone, on a developer-operated server. The provider requests described above work the same way for every user.
Your controls and deletion
- In Your places, swipe a saved city to remove it, or use Edit. This removes the place, its saved snapshot and any alerts set for that city only, and asks widgets to reload. The separate HTTP response and radar tile caches are not erased immediately.
- Delete forecast alerts in About & settings → Forecast alerts, or turn notifications off in iOS Settings → Notifications → Twofold.
- Change location access in iOS Settings → Privacy & Security → Location Services → Twofold. Turning it off does not delete saved places or stop weather requests for them.
- To remove all local preferences, alerts, snapshots, widget data and caches, delete the app. Offloading the app keeps its data. There is no in-app clear-all control.
Deleting a place or the app does not delete records already held by providers, support emails, or existing device backups. Provider retention follows their linked policies.
Support email
If you email aagrawal207@gmail.com, the developer receives your email address, message and any attachments, and uses them only to respond to your request. Email is handled by the email providers involved and may remain in their mailboxes and backups. Sending email is voluntary; the app never sends reports or diagnostics on its own. You can ask for deletion of support correspondence held by the developer at the same address.
This website
This site is static HTML and CSS, with no JavaScript, analytics, cookies, forms, third-party embeds, or externally hosted fonts. It is hosted on GitHub Pages. GitHub may process request information such as your IP address, browser details, requested page and request time to deliver and protect the site. See GitHub's privacy statement.
Changes and contact
If Twofold's data practices change, this policy will be updated with a new date. Privacy questions can be sent to Abhishek Agrawal at aagrawal207@gmail.com. App help is on the support page.