Migraine Weather Alert

Privacy policy

Your records. Clear choices.

Effective November 11, 2026 · Service provider: Migraine Weather Alert

Your journal is stored on your devices. Optional iCloud sync and Apple Health sleep access have separate controls.

This policy describes the forthcoming version 2.0 update and its related weather service. Earlier versions may use different controls or providers. Check your installed app version, or contact us about an earlier version.

简体中文 · English is the canonical version.

1. Who provides the service

Migraine Weather Alert provides the app and this website. In this policy, “we” means the service provider using that name. Contact us about support or privacy at lucktuite@outlook.com. No app account is required.

2. Journal and preferences on your devices

The app stores the records and check-ins you enter: dates and time zones, headache status, severity, duration when supplied, symptoms, medication text, notes and optional personal context such as manual sleep, stress or hydration. Imported older records may also contain previously entered triggers, relief, impact, caffeine, meal, screen or menstrual context. A record may include the regional forecast context available when it was saved.

Preferences, local regional visit information, forecast history and recovery copies support the app’s operation. Personal weather-and-symptom comparisons are calculated on your device. Your symptom, medication and note contents are not sent to the weather backend, MET Norway or Firebase for weather reminders.

You choose whether to export or share CSV/PDF records. Copies you save in Files, email or another app are controlled separately from the app’s own storage.

3. Optional private iCloud sync

iCloud sync is off by default for a new installation. If you enable it, journal entries, check-ins excluding imported Apple Health sleep fields, and deletion/reset markers may be saved through CloudKit in your private iCloud database, associated with your Apple account. These records are not made public. Device permissions, push tokens and subscription state are not synced as journal records.

Turning sync off stops further app syncing; it does not erase records already saved in iCloud. A request already submitted before you turn sync off may finish. Use the deletion controls described below to remove synced data. Apple controls iCloud service availability, security, backups and its own retention processes.

4. Apple Health sleep

With your permission and Premium access, the app reads sleep data only. It does not write to Apple Health. Imported sleep is processed on your device and excluded from the app’s CloudKit journal payload, weather backend, Firebase messaging, widget snapshot and Watch snapshot.

Disconnect sleep in the app to remove its current imported display and stop use of that connection. You can also review or revoke access in Apple Health. Disconnecting, deleting app data or uninstalling does not delete source records held in Apple Health or Apple-controlled Health backups.

5. Location and regional weather

You can choose a city without granting current-location access. Recognized cities can be found in a bundled directory; other searches and current-location requests may use Apple’s location and geocoding services. The app rounds a chosen weather location to a 0.1-degree grid centre before sending it to the weather backend. This is approximately 11 kilometres north–south; east–west size varies by latitude. The selected region’s coordinates, display name and time zone are used for forecasts and reminders. The app does not send a continuous trail of precise GPS positions.

Cloudflare Workers and D1 run the weather API, forecast cache and reminder scheduling. MET Norway receives the rounded regional coordinates to supply forecasts, without your journal or per-device push token.

6. Operational identifiers and providers

The weather service uses a random installation ID, a hashed installation credential, App Attest key identifiers/public keys, and technical creation, deletion, revision and request state to authorize requests and prevent abuse. A chosen region and alert preferences can be linked to that installation. Preferences include language, sensitivity, direction and quiet hours. If notifications are enabled, the backend also uses the Firebase Cloud Messaging (FCM) token.

FCM and Apple Push Notification service (APNs) route weather notifications. Firebase messaging and installation components may process installation identifiers, technical device/app information and operational diagnostics. Apple App Attest helps verify a genuine installation. The app does not include advertising or behavioral analytics tools, and does not use journal or Health data for advertising, sell personal information, or track you across other companies’ apps for advertising.

Alert-event and delivery-operation records contain installation/event IDs, regional and timing information, attempt counts and service-acceptance state. Service acceptance is not a notification read receipt or a guarantee that you saw an alert. Network providers can process IP addresses and request metadata for delivery and security; the backend uses short-lived hourly rate-limit buckets for abuse prevention.

Apple StoreKit handles product information, purchase verification and subscription entitlements. Apple processes payments; the app does not receive full payment-card details or send transaction receipts to the weather backend.

These providers may process information outside your country under their own service and privacy terms. See Apple privacy information, Firebase privacy and security, Cloudflare’s privacy policy and MET Norway’s API terms.

7. Widgets and Apple Watch

The Home Screen widget uses a limited shared forecast snapshot: region, weather/outlook, age, alert preferences, units and reset generation. It contains no journal or Apple Health sleep data. Updates depend on iOS scheduling and network availability.

The paired Watch receives a weather/settings snapshot. Quick records you create on the Watch are stored in its outgoing queue until the paired iPhone acknowledges receipt. A “waiting to sync” status is not confirmation that the record has reached the iPhone. Reset markers help prevent old queued records from restoring an erased journal. Watch snapshots do not carry imported Apple Health sleep data.

8. Retention

  • Local journal and recovery copies: retained until you delete them. The free plan’s 30-day browsing limit is not a deletion schedule, and losing Premium does not erase older records.
  • Private iCloud journal: retained until removal through applicable app or Apple controls. Deletion/reset markers can remain to stop older devices restoring deleted entries.
  • Monitoring settings and push token: successful backend deregistration removes the selected region binding, alert preferences and token, revokes access and clears the credential hash and App Attest public key. Pending reminders are cancelled; a notification already accepted by a provider may still arrive.
  • Replay protection and alert operations: a minimal installation/App Attest key marker is held for 30 days after deletion to prevent replay. Related operational rows are removed in bounded maintenance batches before the marker is removed. For active installations, terminal alert-operation records are normally eligible for cleanup after 35 days; deduplication information for an active event can remain until that event ends. Maintenance backlog can extend physical removal.
  • Regional weather history: cleanup removes history older than 35 days in bounded batches. Shared regional forecasts are not symptom records and may remain while used by other installations.
  • Provider logs, identifiers and backups: the weather service currently uses Cloudflare’s Free plan. Cloudflare documents Workers Logs retention on that plan as up to three days. Other security logs, provider identifiers and backups follow the provider’s own policies and processes. The app requests deletion of its Firebase messaging token and installation identifier when applicable during all-data deletion; this is not a promise of immediate erasure from every provider system or backup.

Provider references: Cloudflare Workers Logs, Firebase privacy and retention, and Firebase installation deletion.

9. Export, deletion and your choices

In Settings → Data & privacy, you can export all raw journal records as CSV without Premium and choose a deletion scope:

  • Device and selected iCloud data: clears app data on this device and the app’s selected current iCloud journal where applicable. Older, unselected private-cloud copies are kept; an import barrier prevents those copies from being imported again on that device.
  • Device and all iCloud copies: also requests removal of the app’s older iCloud journal/settings/account-copy records.

Cloud removal needs a connection and confirmation. The app first records the deletion request so a failed or interrupted operation can be retried with the same scope. If deletion fails or remains pending, keep the app installed and retry from Data & privacy when online. A pending message does not mean deletion has completed. A completed app request does not promise instant erasure of provider backups.

You can decline current-location access, keep iCloud or Health disconnected, and disable notifications. Uninstalling alone does not confirm backend or iCloud deletion, cancel an Apple subscription, erase Apple Health source data or remove exported copies you saved elsewhere.

To ask about access, correction, deletion, restrictions or other privacy rights available where you live, email lucktuite@outlook.com. Share only the minimum details needed to explain your request; we may ask for limited information to verify it. Do not send health notes, passwords, push tokens or installation credentials, and do not post them in the public website repository. Applicable statutory privacy rights remain available to you.

10. This website and policy changes

This static site is hosted by GitHub Pages. It has no analytics scripts, advertising, cookies set by this site, contact form or journal upload. GitHub can process technical server/request information, including IP addresses, to serve and secure the site. See GitHub’s privacy statement. Email support is processed through email services. External links open the provider’s own site and policies.

We will publish policy changes here with an updated effective date. Contact lucktuite@outlook.com if you need information about an earlier app version.