Privacy

Privacy policy

The short version: your migraine data stays on your device and in your private iCloud. I never see it, sell it, or share it. The app collects a small amount of anonymous usage data — never your health information. No ads, no tracking across apps or websites.

Last updated: 7 August 2026

Migraine Journal ("the app") is designed and operated by Mohamed Ali ("I", "me", or "the developer"). This policy explains how the app handles your information.

What the app stores

The app stores the following locally on your iPhone:

  • Migraine entries — date, severity 0–10, how long the attack lasted, pain locations, symptoms, possible triggers, sleep hours, stress level, and any notes you type
  • If you timed an attack rather than typing its length — the time you started the timer and the time you closed it out
  • One weather number per entry — the change in barometric pressure over the preceding 24 hours, recorded automatically when a forecast is available. See Location and weather below
  • Daily check-ins — the days you marked "All clear today"
  • Medication logs — the medication name you type, an optional dose in milligrams, the time you took it, and whether it helped
  • Custom symptoms and custom triggers you create
  • Disability assessment answers and scores, if you take an in-app assessment
  • App settings — your daily reminder time, light or dark appearance preference, onboarding status, and which release notes you've already seen

The app does not collect your name, email address, phone number, contacts, photos, browsing history, advertising identifier, or any other personal information beyond what you explicitly enter into the journal. There are no accounts and no login.

Where your data lives

On your device. Entries are stored locally using Apple's SwiftData framework, in the app's sandboxed storage.

In a shared container on your device, for the Home Screen widget. So a widget can show your recent history without opening the app, the app keeps a small summary in a storage area shared between the app and its own widget: your current streak, the date of your most recent entry, a coded severity level for each of the last 30 days, and — for the attack-timer widget — the start time of an attack being timed right now, the length of your most recent completed attack, and your average attack length. It holds no notes, symptoms, triggers, or medications. Nothing in that container leaves your device, and no other app can read it.

In your private iCloud, if you're signed in. The app uses Apple CloudKit's private database to sync entries and check-ins across your own devices signed into the same Apple Account. It is encrypted in transit and on Apple's servers, and I have no access to it — a private CloudKit database is not visible to the developer of the app that writes to it. Apple itself holds the encryption keys under its standard protection, which means Apple can technically access the contents; if you turn on Advanced Data Protection in your iCloud settings, the data becomes end-to-end encrypted and Apple cannot. Apple's CloudKit is the only third party that touches this data, and only as a sync mechanism rather than a recipient. You can read more in Apple's iCloud data security overview.

If you aren't signed into iCloud, the app works entirely offline and stores everything only on the device you're using.

Anonymous usage data

To understand whether the app works and which features are actually used, it sends anonymous signals through TelemetryDeck, a privacy-focused analytics service. Those signals record things like: the app was opened, onboarding was completed, a migraine was logged, a feature or screen was used, a purchase or trial was started, and general device information such as iOS version and model.

Three of those signals carry a coarse yes/no fact rather than nothing at all, and it's worth being exact about them. A daily check-in reports whether the day was marked as a migraine day and how long your current streak is. Rating a medication dose reports only whether you said it helped, never which medication. And a few signals include a running count of how many entries you've made.

Nothing beyond that leaves the app. No severity score, no symptoms, no triggers, no notes, no medication names, no doses, no dates of individual attacks, and no assessment answers or scores. The data is anonymous and not linked to any identity — the app has no account. It is not used for advertising, not used to track you across other apps or websites, and TelemetryDeck does not use the advertising identifier (IDFA).

This website

migrainejournal.app uses Cloudflare Web Analytics to count page views. It sets no cookies, stores no identifier for you, and cannot follow you to another website — which is why there is no cookie banner here. What it records is the page, the referring site, and coarse technical details such as browser and country.

The website and the app are separate. Nothing you read here is connected to anything you log in the app, and the site never receives your migraine data, because your migraine data never leaves your device and your own iCloud in the first place.

Download links on this site carry a campaign tag so I can see which page led to an install. Apple reports that back to me as a count per page. It identifies the page, not the person.

Location and weather

If you turn on the migraine-risk forecast (a Plus feature), the app asks for your approximate, when-in-use location to fetch the local barometric-pressure forecast through Apple Weather (WeatherKit). Your location is sent only to Apple Weather to retrieve that forecast. It is not stored by the developer, not linked to your identity, and not used for tracking or advertising. The app uses approximate rather than precise location, and you can decline or revoke the permission at any time in iOS Settings — the app simply hides the forecast.

When weather data is available, the app also records a single derived number with a new entry: the change in barometric pressure over the preceding 24 hours. That number is stored alongside your entry, syncs with it through your private iCloud, and is included if you export your data. It is a weather measurement rather than a location: no coordinates, address, or place name is stored with your entries.

What the app does not do

  • No advertising SDKs
  • No tracking across websites or other apps
  • No use of your data for marketing
  • No selling, renting, or sharing your data with third parties
  • No sending of your migraine entries or health information to me or anyone else
  • No user accounts and no login
  • No access to your contacts, photos, microphone, or camera

Aside from optional iCloud sync, anonymous analytics, and the optional weather forecast, the app does not require an internet connection.

Permissions the app may request

Notifications, for the daily check-in reminder — you choose the time, and it stays quiet on days you've already logged. iCloud, managed by Apple rather than requested separately; if you're signed in, sync happens automatically.Location, optional, only for the migraine-risk forecast as described above. That is the complete list. The app does not request access to your health data, contacts, camera, microphone, or photos.

Exporting and deleting your data

  • Export — Settings → Data → Export all data saves a JSON file to Files, Mail, AirDrop, or anywhere else. It contains your entries and their medication logs, the 24-hour pressure change recorded with each entry, your daily check-ins, any assessment answers and scores, and the custom symptoms and triggers you've created.
  • Import — Settings → Data → Import from file restores a previous export.
  • Delete — Settings → Data → Delete all data permanently removes every entry, medication log, and check-in from the device, and from iCloud if sync is on.
  • Uninstall — deleting the app removes the local copy. With sync on, data remains in your iCloud private database until you delete it through Settings, or reinstall and delete.

Children's privacy

The app is not directed at children under 13 and does not knowingly collect data from them. Migraine affects people of all ages; if a minor uses the app, their parent or guardian retains the same rights described above.

Changes to this policy

If I change how the app handles data, I'll update this policy and the date at the top. Material changes will also appear in the app's App Store release notes. Because the app holds no contact information, I cannot notify you individually.

Contact

Questions about this policy or the app's privacy practices: [email protected]. If you're reporting a privacy or security concern, please put "Privacy" in the subject line.