MEDICINE REMINDER BACKUP

Automatic reminder backup — never lose your treatment schedule

How mojApteczka protects dosing schedules when you change phones, reinstall the app, or install an update — cloud sync runs quietly in the background, with no configuration.

Your mother is 74 and takes seven medicines a day — at 8 a.m., 1 p.m., 8 p.m., and 10 p.m. It took you two evenings to set up her phone: names, doses, times, and reminders that ring exactly when they should. It has worked for six months.

One Saturday, with no warning, the phone’s battery is flat and it refuses to turn on. You go to the phone shop, buy a new model, restore from iCloud. You open mojApteczka — empty. No medicines, no reminders.

That scenario should not be possible in April 2026. And in mojApteczka, it is not — thanks to automatic cloud backup for reminders.

A problem that does not look like a problem at first

Medicine reminders in health apps are usually treated as “settings” — local configuration on a phone, much like an alarm clock. As long as the phone works, everything works. As long as the app version stays the same, everything works.

The problem shows up during transitions:

  • Changing phones — an iCloud restore does not always carry all app data across. SwiftData / Core Data stores in particular can fail to reinitialise cleanly after migration
  • Reinstalling the app — deleting an iOS app clears its local database but does not always clear scheduled iOS notifications (that is a separate system layer)
  • Updating to a new version — schema migration can occasionally go wrong and the app starts with a blank state
  • TestFlight and beta builds — in certain conditions, each new beta can wipe the local database while scheduled notifications remain in the system

In all of these cases, the same paradox appears: reminders still ring, but the app does not recognise them. It is the textbook symptom of “ghost reminders” — alarms scheduled in iOS that no longer have a counterpart in the app’s local database.

Alarm at 8 a.m.: “Bisoprolol”. In the app: nothing. You cannot disable the reminder because you cannot see it. You cannot change the time. You are left only half trusting your own phone.

A two-stage defence: clean-up and sync

mojApteczka tackles this with two independent mechanisms that run together every time you open the app. Both are invisible to the user; both take milliseconds.

Stage 1 — local clean-up

The app asks iOS: “Which mojApteczka notifications do you have scheduled?” — and compares the answer with its local reminder database. Any notification without a matching record is automatically removed from the system.

That eliminates ghost reminders. If they survived a previous version, a reinstall, or a failed migration, they disappear the moment you open the app. No configuration, no prompt, no message.

Stage 2 — cloud sync

Every reminder you add, edit, or delete is sent to the server in the background. When you open the app again (on the same phone or on an entirely new one), the app does three things at once:

  • Fetches cloud state and compares it with the local database
  • Recreates locally those reminders that are in the cloud but missing locally
  • Uploads to the cloud those that are local but missing from the cloud (for example, reminders created offline)

When a conflict occurs (the same reminder, but different data on each side), the newer change wins. That is a simple “last-write-wins” rule, but it is enough in practice because conflicts only occur in rare situations (for example, offline edits from several devices at the same time).

Once sync completes, the app automatically reschedules iOS notifications so every reminder in the database has a corresponding notification in the system. From the user’s perspective, nothing happens. You open the app, you see your reminders, and the right reminders ring.

What exactly is backed up?

Not every aspect of the app is synced — only what is needed to recreate the schedule. Specifically:

  • Medicine name and record identifier
  • Assigned home medicine cabinet and dependant (when you manage more than one cabinet, for example as a caregiver)
  • Repeat pattern — daily, selected weekdays, every N days, one-off
  • Dosing times and quantities (with fractional dose support, for example “half a tablet”)
  • Active / inactive status — so that after a reinstall you do not reactivate reminders you had already turned off
  • Number of doses taken and any course of treatment limit (for example an antibiotic for 7 days, day 5 of 7)

After sync, the app has the full state of every reminder and can accurately recreate iOS notifications — with the same times, doses, and dependant context.

Real situations where backup helps

Changing an older adult’s phone

You help your parent buy a new iPhone because the old model no longer supports iOS updates. You restore from iCloud, install mojApteczka from the App Store, and sign in with their account. All seven daily reminders are recreated in seconds. You do not have to set them up from scratch, you will not mix up the times, and you will not miss a medicine.

Restore after an accident

The phone fell into water. You buy a new one and restore it. Some apps bring their data across, others do not — but mojApteczka recreates the full schedule because it keeps it in the cloud independently of iCloud.

TestFlight tester

You are beta-testing new versions of mojApteczka. Every few days you install a new build. Any of them could theoretically wipe the database — but cloud backup keeps your schedule intact through every update.

Deleting the app

You accidentally tapped “Delete App” instead of “Remove from Home Screen”. You reinstall mojApteczka from the App Store. You sign in — everything comes back.

Child with a parent’s phone

A child reset their father’s iPhone. The settings went back to factory defaults and the apps were removed. An iCloud restore brings the apps back, but mojApteczka reminders return from the cloud — regardless of how well the restore worked.

Security — GDPR and technical safeguards

Reminder data is stored on AWS servers in the EU (Frankfurt) region. That matters from a GDPR standpoint — data about your medicines never leaves the European Union.

Transport is TLS-encrypted, and data at rest is encrypted with AWS-managed AES-256. Every sync request requires a valid Cognito token that expires after a set period and is refreshed automatically — which means one user’s data is fully isolated from another’s, even at the infrastructure level.

Signing out ends the session: the local database and the cloud copy are removed together. In line with GDPR, if you choose to stop using the service, signing out and uninstalling the app ends data storage on both sides.

Backup and the rest of the schedule features

Reminder backup sits one layer below the other schedule-related features. When you want to quickly share a treatment plan with a caregiver or doctor, you still use schedule export — a separate feature operating on the same state. When you configure times and doses, you do it in the reminders section, which has iOS widgets and Siri shortcuts. When you manage dependants, you use the caregiver role. Backup ensures all these features keep their database intact across phone changes and reinstalls.

If you need formal schedule documentation for a doctor’s visit, the PDF report for the doctor is generated from the same database — but that’s a separate flow, independent from backup.

How to verify the backup works

The simplest — and most invisible — test is to sign in on a second device (iPhone, iPad) with the same mojApteczka account. Schedules appear there within a second. There’s no “syncing” screen, no configuration, nothing to tap. They just show up.

For users who want a full technical description, there is a detailed automatic reminder backup feature page — with the two-stage sync mechanism, the list of synced fields, and security details.

Availability

Automatic reminder backup runs in the iOS mobile app. It requires no configuration — it is active from the first sign-in. There is no separate subscription: backup is part of the standard toolset.

Download mojApteczka on the App Store and make sure your treatment schedule — or your loved ones’ — survives every phone change, every update, and every data migration.


Questions about reminder backup or other mojApteczka features? Email us at kontakt@mojapteczka.pl.

Tomasz Szuster
Founder, mojApteczka

Frequently asked questions

Does the backup run automatically, or do I need to trigger it?
The backup runs automatically. There is no "sync now" button and no configuration — every time you open the app, the reminder state is compared with the cloud copy, and any differences are reconciled in the background. You don't see a loading screen because the whole process takes a fraction of a second.
What happens when I change phones?
The first time you sign in on the new device, the app reads the reminder state from the cloud and recreates it locally together with iOS notifications. Your dosing schedule starts running immediately — no manual re-entry of times, medicines, or quantities.
Is reminder data safe?
Yes. Data is stored on AWS servers in the EU region (Frankfurt), encrypted both in transit (TLS) and at rest. Every sync request requires a valid Cognito token — one user's data is fully isolated from another's.
What are "ghost reminders" and how does the app handle them?
Ghost reminders are iOS notifications that remain scheduled in the system after an app reinstall, but no longer have a matching record in the database. Every time it starts, mojApteczka compares scheduled iOS notifications with local records — any notification without a database counterpart is automatically removed from the system.
Does the backup keep working after I sign out?
Signing out ends the session — the local database and the cloud copy are removed together, in line with GDPR. When you sign back in with the same account, sync starts fresh and restores only the data that was in the cloud before you signed out.

App features that help

Related articles