Back to CalmAgenda

CalmAgenda — Privacy Policy

Effective date: May 25, 2026  ·  Last updated: May 25, 2026

App: CalmAgenda (iOS bundle identifier com.calmagenda.app)
Publisher / data controller: Kevin Delgado Pagán ("we", "us", "our")
Contact: https://kevindelgadopagan.com/#contact-me

This policy describes what information CalmAgenda processes when you use the app, and what information third parties (specifically Google AdMob and its ad-network partners, and Apple) may process on our behalf so that we can show ads and accept payments. CalmAgenda is a local-first reminders and to-do app — we do not operate a server, we do not have user accounts, and we do not collect, store, or have access to any of the content you create in the app.

1. Summary (plain-English)

Interim status — EEA, UK, and Switzerland. CalmAgenda does not currently present a Google-certified Consent Management Platform (CMP). Google requires a CMP — typically its own User Messaging Platform (UMP) — before the Google Mobile Ads SDK may be initialized for users in the EEA, the United Kingdom, or Switzerland. We intend to integrate UMP as soon as possible. Until UMP is integrated, CalmAgenda is not distributed in the EEA, the UK, or Switzerland, and the Settings → Privacy → Privacy choices entry described below is not yet present in the app. This policy will be updated when UMP ships.

2. Information CalmAgenda stores on your device

The following information is created by you and stored locally on your device using @capacitor/preferences (Apple's NSUserDefaults) and localStorage. It is not transmitted to us and not transmitted to any third party by us:

Category Examples of fields
Reminders title, optional URL link, optional reference to a to-do list, scheduled time (startAt), repeat rule, ringtone selection, notification IDs created by iOS, created/updated timestamps
To-do lists list name, items (text + done/not-done)
App settings language (en / es), notification permission state, theme, last-used ringtone, handedness, ads-removed flag
UI state which reminder groups are expanded in the list view
Schema version a small integer used for local data migrations

Storage keys used: calm_agenda_v1_reminders, calm_agenda_v1_todolists, calm_agenda_v1_settings, calm_agenda_v1_schemaVersion, calmagenda_expanded_groups.

This information lives only on your device and is removed when you uninstall the app. It is not backed up to any server we control. If you have iCloud Backup enabled in iOS, Apple may include the app's local data in your encrypted iCloud Backup; that backup is governed by Apple's Privacy Policy.

3. Information your device sends to Apple

CalmAgenda relies on standard iOS frameworks. Apple receives information from your device in the normal course of providing those services. We do not receive copies of this data.

4. Information processed by Google AdMob and its ad partners (third-party tracking)

CalmAgenda displays banner ads on iOS through Google AdMob (the Google Mobile Ads SDK, integrated via @capacitor-community/admob). Google AdMob, Google LLC, and the third-party ad networks listed below are independent controllers of the data they collect to serve ads. They process that data under their own privacy policies. We have no access to it.

4.1 What is collected

When the ad SDK is initialized and a banner request is made, Google AdMob and its bidding partners typically receive:

We do not share with Google or ad networks:

Cookies and similar technologies. On a mobile app, the "cookies and similar technologies" that Google and its ad partners would normally use in a browser take the form of advertising identifiers (IDFA), vendor identifiers (IDFV), SKAdNetwork postbacks, and SDK-level local storage. They serve the same function — identifying a device or session for ad delivery, measurement, and fraud prevention — but no browser cookies are set by CalmAgenda.

4.2 Why this data is processed

4.3 Personalized vs. non-personalized ads

4.4 Ad-network partners (SKAdNetwork participants)

To make Apple's SKAdNetwork attribution work, our app declares the SKAdNetwork identifiers of ad networks that may bid through Google AdMob's mediation/exchange. The full list is published in the iOS Info.plist and reflects Google's recommended list. These networks include, among others:

Google, Meta Audience Network, AppLovin, Unity Ads, ironSource, Vungle (Liftoff), Mintegral, Tapjoy, Chartboost, Fyber/Digital Turbine, AdColony, InMobi, Pangle, and others. The authoritative, current list is the SKAdNetworkItems array in ios/App/App/Info.plist.

Each of these networks may receive an SKAdNetwork postback from Apple (no IDFA, no user identifier) when one of their ads results in an attributed install or in-app event. They may also receive bid request information from Google during ad selection. Each network has its own privacy policy.

4.5 Google's privacy resources

5. We do not knowingly collect data from children

CalmAgenda is a general-audience productivity app and is not directed to children under 13 (or the equivalent age in your jurisdiction — 16 in much of the EEA). We do not knowingly collect personal information from children. We have not enabled AdMob's child-directed treatment, because the app is not intended for children. If you believe a child has used the app and you are concerned about what may have been processed by Google AdMob, please use the contact link in Section 11.

6. Your choices and controls

6.1 On the device

6.2 In the app

7. Rights under GDPR / UK GDPR (EEA, UK, Switzerland)

CalmAgenda is not currently distributed in the EEA, the UK, or Switzerland because we have not yet integrated a Google-certified Consent Management Platform (see the interim status note in Section 1 and Section 4.3). We plan to integrate Google's User Messaging Platform (UMP) as soon as possible, at which point this section will apply to those users. If you are in the EEA, the United Kingdom, or Switzerland, the legal basis on which we process data is limited because we do not collect personal data ourselves. For the third-party ad processing described in Section 4 (once it becomes available in your region):

8. Rights under U.S. state privacy laws (CCPA/CPRA and similar)

If you are a California resident or are protected by another U.S. state privacy law:

We do not have user accounts, so we cannot match a request for data access/deletion to a specific user. Please direct AdMob-related requests to Google.

9. Data retention

10. Security

CalmAgenda's user content never leaves the device through any channel we control, so the device's own security (passcode, biometrics, iOS sandbox, full-disk encryption) is what protects it. Communication between the Google Mobile Ads SDK and Google's servers, and between the StoreKit framework and Apple's servers, uses TLS. No method of electronic storage or transmission is 100% secure.

11. Changes to this policy

We may update this policy when the app's behavior changes (for example, if we add an analytics SDK, change ad networks, or enable a new in-app purchase). When we do, we will update the "Effective date" and "Last updated" fields above. Material changes will, where reasonably possible, be highlighted in the app or on the app's listing page.

12. Contact

Questions, complaints, or data-subject requests can be sent through the contact form linked from the in-app Settings → Support → Contact us, which opens:

https://kevindelgadopagan.com/#contact-me

Appendix A — Third-party SDKs and services used in CalmAgenda (technical reference)

Capability Library / framework Provider Data leaving the device
Banner ads (iOS only) @capacitor-community/admob → Google Mobile Ads SDK Google LLC See Section 4
Consent management (EEA/UK/CH) — planned, not yet integrated UMP (bundled with Google Mobile Ads SDK) Google LLC Once integrated: IAB-TCF consent string, region signal. Currently: none — the app is not distributed in those regions.
Install/conversion attribution SKAdNetwork (Info.plist) Apple + ad networks Signed, anonymized postbacks (no IDFA)
In-app purchases StoreKit (planned via subscription.ts) Apple Inc. Purchase/receipt data handled by Apple
Local notifications @capacitor/local-notifications Apple (UserNotifications) None (delivered locally)
Local storage @capacitor/preferences (NSUserDefaults), browser localStorage Apple / system None
Screen orientation, status bar, splash, haptics, keyboard @capacitor/* Apple (via Capacitor) None
Contact link @capacitor/browser (in-app SFSafariViewController) Apple + the destination site Only when you tap "Contact us"; the destination site (kevindelgadopagan.com) and Apple's in-app browser may log a normal HTTP request

The above reflects the dependency set declared in package.json and the configuration in capacitor.config.ts and ios/App/App/Info.plist.

Appendix B — Things CalmAgenda does not do (as of the effective date)