For many people the calendar is the biggest trigger of all. MigraineMe predicts your period, treats the days around it as triggers with their own weights, and puts them in the week ahead so they never arrive as a surprise.

Tracked across three cycles with daily hormone tests, attacks clustered where estrogen was falling and were fewer while it rose.
MacGregor et al., Neurology 2006Log your period dates and the app predicts the next one and counts the days until it. Menstruation and ovulation are triggers in their own right, with a severity you set like any other.
The curve is risk points per day relative to your predicted period: the days before, the period itself, and the days after. Tap a bar to edit a weight or reset the whole curve to the defaults. Those weights feed straight into the daily score and the 7-day outlook, which is why the days around your period appear in the forecast ahead of time.
Monitor has a Menstruation graph with your attacks laid over the cycle. Period dates and cycle settings are their own consent item, so a practitioner sees them only if you say so.
Menstruation Settings holds the prediction โ last period, predicted date, cycle length, ovulation day โ and both risk curves. Each curve is a row of bars, one per day relative to the predicted date, before, during and after, and a tap edits a weight or resets the whole thing to the defaults. Monitor โ Menstruation keeps the history with your attacks laid over the cycle.
Your period dates. Nothing else, and nothing at all if you would rather not: it is a question during setup and a switch in Settings, and off means off. Period dates and cycle settings are their own consent item, so a practitioner sees them only if you tick that box.
Yes. It is a question during setup and a switch in Settings. Nothing is tracked unless you ask for it.
Only you, unless you share it. Period dates and cycle settings are their own consent item for practitioners.
It starts from defaults and is yours to edit bar by bar, and the weekly calibration can propose changes when your data disagrees with it.