Who is responsible

MigraLoom is provided by Kenneth Marcel S De Geest, a self-employed developer (autónomo) based in Spain, who is responsible for the personal information described here. For privacy questions or rights requests, contact degeestkenneth@gmail.com.

Your journal and device backups

No MigraLoom account is required. Episodes, symptoms, pain locations, medicines and doses you enter, relief attempts, notes, daily check-ins, profile answers, treatment changes, appointment questions and unfinished drafts are stored on your iPhone. MigraLoom does not operate cloud journal sync or receive this content in normal operation.

The journal uses iOS file protection. Its Documents folder may be included in iPhone or iCloud device backups according to your Apple settings. This is separate from MigraLoom cloud sync. Apple controls its backup service, account security and retention.

Exports, recovery and deletion

You choose whether and where to export a visit-summary PDF or complete-journal JSON file. A complete export can contain saved records, free-text notes, optional context and an unfinished episode draft. Import can merge or replace records; replacement first creates a local recovery copy.

Delete local journal in Settings removes the local journal and MigraLoom-managed recovery, export and report files. Deleting the app removes its app-container records. Neither action removes Apple backups or copies you already saved or shared elsewhere. Manage those copies with their destination. We cannot remotely read, restore or delete your local journal.

Optional Firebase diagnostics

Share optional product diagnostics is off by default. You can enable or disable it in the app’s Privacy screen. With your consent, Google Firebase Analytics receives limited product events, including paywall and sample-review opens, the first saved record, Patterns opens, plan loading and purchase or restore outcomes. Firebase may also process automatic app/session signals, an installation or app-instance identifier, app version, device and operating-system details, timestamps, and technical crash traces through Crashlytics.

Journal entries, symptoms, medication names, triggers, free-form notes and location are not attached as event parameters. Automatic screen-view reporting is disabled. Event timing can still indicate use of a migraine app. Turning diagnostics off stops future Analytics collection and Crashlytics uploads; crash reports kept on the device while collection is off may be sent if you enable diagnostics later. Withdrawing consent does not recall data already received.

Purchases and RevenueCat

Apple handles payment; we do not receive your payment-card details. Apple’s verified purchase status determines paid access. The current app offers a one-time purchase to continue adding episodes after the first five.

RevenueCat separately synchronizes purchase and restore information even when optional Firebase diagnostics are off. It may process an app-user identifier, product identifiers, purchase history, transaction information, device/app information and purchase status. Journal content is not sent to Apple or RevenueCat as part of a purchase. While diagnostics are enabled, the Firebase app-instance identifier may also be shared with RevenueCat. Turning diagnostics off marks that identifier for removal from future synchronization; it does not erase records already received by either provider.

Purposes and legal bases

Optional Firebase analytics and crash uploads rely on your consent to help understand product use and troubleshoot failures. Purchase processing supports performance of the agreement to provide and restore paid access. Support correspondence is processed to answer your request and, where applicable, on our legitimate interest in resolving problems. Records required by law are processed to meet legal obligations. We do not sell personal information, use your journal for advertising, or make automated decisions with legal or similarly significant effects about you.

Retention

Your local journal remains until you delete it or remove the app. Exports and backups remain under the controls of their destination. Firebase service data follows the applicable product retention settings and deletion processes; see Firebase’s data-processing and retention information. Purchase records may need to remain available to restore a one-time purchase and meet applicable recordkeeping obligations. Support messages are kept only as needed to resolve the enquiry, related disputes and legal obligations. Contact us to request deletion of service information we control; we will explain any records that must be retained and why.

Providers and international processing

Our providers include Google Firebase for optional diagnostics, RevenueCat for purchase synchronization, Apple for App Store payments, Gmail for support email, and GitHub Pages for website hosting. They may process information outside Spain or the European Economic Area. Where required, transfers rely on applicable adequacy decisions or contractual safeguards, including standard contractual clauses. Contact us for information about the safeguards relevant to your request.

Provider information: Firebase, RevenueCat, Apple, Google and GitHub.

Your rights and choices

Where applicable, you may request access, correction, deletion, portability or restriction of personal information we control, and object to processing based on legitimate interests. You may withdraw diagnostics consent in the app without affecting earlier lawful processing or your purchase. Email degeestkenneth@gmail.com; include only the information needed to identify your request, not your journal or sensitive health details. We may request proportionate verification and normally respond within one month, explaining any lawful extension.

You can complain to the Spanish Data Protection Agency (AEPD) or your local supervisory authority. For records held only on your device, use the app’s export and deletion controls.

Website and support

The portfolio uses no advertising trackers or website analytics. GitHub Pages may process IP addresses, requested pages, browser details and timestamps to deliver and secure the site. If you email support, Google and your email provider process your address, message and attachments. Please avoid sending medical records or unnecessary sensitive information. See the portfolio privacy policy.

Children and policy changes

MigraLoom is not directed to children under 13. If you believe a child has sent us personal information, contact us. We update this page when practices change and show the revised date above. Material changes will be brought to users’ attention where required, and new consent will be requested where necessary.

Contact

Kenneth Marcel S De Geest, a self-employed developer (autónomo) based in Spain · degeestkenneth@gmail.com