Mai Privacy Policy

Mai was previously called Grace.

App: Mai (iPhone app, with home and lock screen widgets, Apple Watch app and iMessage stickers)
Effective date: 10 October 2026
Last updated: 12 October 2026

1. Who we are

Mai is published by:

HOPIN.IT SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ (HopIn.IT sp. z o.o.)
ul. Marsz. Józefa Piłsudskiego 74/320, 50-529 Wrocław, Poland
KRS 0001117479, NIP 8971940626, REGON 529197668

In this policy, "HopIn.IT", "we" and "us" mean this company. We are the "controller" of the personal data described here: we decide why and how it is used.

Privacy contact: [email protected]

Based on our current assessment, the law does not require us to appoint a Data Protection Officer. We will reassess this if our processing changes. Privacy questions go to the address above.

UK representative. We have not appointed a representative in the UK under Article 27 UK GDPR. If you are in the UK, contact us directly at [email protected]. We are established in the EU, so no EU representative is needed.

2. The short version

3. What stays on your device

The following is stored on your iPhone, shared with Mai's widgets and iMessage extension through a private storage area on your device, and copied to your paired Apple Watch through Apple's Watch connection (for example your daily affirmations, display preferences, streak and whether you are subscribed). We cannot see it.

iCloud sync. If you are signed in to iCloud, Mai syncs your favorites, history, custom collections (including affirmations you wrote), activity days, achievements and breathing sessions between your devices using Apple's iCloud key-value storage. Apple stores this in your iCloud account under Apple's privacy policy; we cannot access it. Your "About you" profile, stories, reminder settings and analytics identifiers are not synced.

Backups. Your iPhone backups (iCloud or computer) may include Mai's on-device data, under the backup settings you choose.

4. What we collect, why, and our legal basis

The legal bases below are from the EU General Data Protection Regulation (GDPR) and the UK GDPR.

4.1 Usage analytics (Amplitude)

Your choice.

Full analytics, what we collect:

Reduced-data mode, what changes. Mai sends pseudonymous events, with no persistent identifier, to Amplitude only. It uses a random device ID that is created each time you launch the app, kept in memory and never stored on your device. There is no user ID. Amplitude's collection of IP address, city, region, country, DMA (market area), carrier and the identifier for vendor is switched off, although your IP address still reaches Amplitude in transit, as with any internet request. Only a short list of event details is sent, and each event is marked as reduced-data. These events are not linked to RevenueCat. Crash reports (Firebase Crashlytics and Sentry, section 4.2) are off in this mode. Because the ID changes at every launch, we cannot tell that two launches came from the same person.

What we do not record in analytics: the text of affirmations you write, your name, your "About you" profile, your stories, what you type into AI features, which mood you pick, or why an AI request was declined.

Why: to understand which features help people, find confusing steps, and measure whether changes work.

Legal basis:

Each app separately. Each HopIn.IT app sends analytics to its own Amplitude project, and we do not combine data across our apps.

4.2 Crash reports (Google Firebase Crashlytics and Sentry)

Firebase Crashlytics. Crash logs and technical details (device model, iOS version, app version, a random installation ID, the app's state when it crashed), to find and fix bugs.
Sentry. Crash reports, app hangs and performance traces (how long parts of the app take to run) with the same kind of technical details, to find and fix bugs and slow screens. Sentry receives no name, email or other personal details you enter, no screenshots and no view hierarchy.
Legal basis. In the EEA: your consent, given on the analytics sheet; nothing is sent if you tap "Not now" or turn the switch off. Outside the EEA: our legitimate interest in keeping the app working (Art. 6(1)(f) GDPR). Crash reports follow the "Share usage analytics" switch in both cases.

4.3 Subscriptions and purchases (Apple and RevenueCat)

What: Apple processes your payment; we never receive your card or billing details. RevenueCat receives a random app user ID it creates for your install (shown in the app as your Support ID, section 10), your purchase and subscription history (product, price, currency, dates, trial and renewal status, storefront country), device and app version information, your IP address, the Apple Search Ads attribution token (section 4.1), your Amplitude device ID (in full analytics mode only) so that we can connect subscription events to analytics, and, when you open a subscription screen, that it was shown and closed. When you use AI features, our AI server also sends your app user ID to RevenueCat to confirm whether you are subscribed.
Why: to unlock premium features, restore purchases, apply offers, and understand which plans people choose.
Legal basis: performance of our contract with you (Art. 6(1)(b)) for providing and restoring your subscription; our legal obligation to keep accounting and tax records (Art. 6(1)(c)); our legitimate interest (Art. 6(1)(f)) for revenue analytics and attribution.

4.4 AI features (optional)

See section 5 for full details.
Legal basis: your consent (Art. 6(1)(a)), given in the app before first use of AI features. For health information, your explicit consent (Art. 9(2)(a)): the AI permission screen asks for it for any health information you type, and "Use my profile" asks for it again before profile items are sent. You can withdraw either consent at any time in Settings (section 5); withdrawal does not affect what was already processed. We rely on consent only, not on a contract, for AI processing. For abuse prevention and usage limits on the AI service: our legitimate interest in keeping the service safe and affordable (Art. 6(1)(f)).

4.5 Feedback and reports you choose to send

If you rate or report an AI result, you can add a comment and choose to share the generated text and a short summary of your request. Our team receives that together with the rating, any reason tags you tap, the feature, the AI model and prompt version, the story theme and cover, the length, app version, device model, iOS version, language, region and country (derived coarsely from your IP address). Feedback cannot be traced to your Support ID, your analytics ID or any account identifier. The app also sends a random per-install feedback key, stored in your iPhone's Keychain (so it may remain after you delete the app). Our server uses it only for rate limiting. It is not shown to our team and is not linked to your analytics or purchases.
Feedback is delivered to our internal support channel, which our team reads. Please do not include information you do not want our team to read. It is reached through our AI server. Each message includes your text, rating, app version, device model, OS version, your country and a random feedback ID, but not your name or account.
Why: to improve AI quality and handle reports of harmful content.
Legal basis: your consent when you choose to send feedback (Art. 6(1)(a)). For reports of harmful content we also rely on our legitimate interest in keeping the service safe (Art. 6(1)(f)).

4.6 Background images and story covers

Mai downloads its catalog of background images from our server at api.hopin.it, which runs at DigitalOcean (Frankfurt, Germany) and is served through Cloudflare. The request contains the app name, your app language, the date and whether you are subscribed. As with any internet request, the server sees your IP address. Images and story covers are then downloaded from the addresses our servers provide (DigitalOcean Spaces in Frankfurt, Germany); that server also sees your IP address.
Legal basis: performance of our contract with you (Art. 6(1)(b)).

4.7 Contacting us

If you email us, we receive your email address, your message and anything you attach. Emails started from the app's support button may pre-fill your iOS version, device model and app version, which you can delete before sending. We use this only to answer you.
Legal basis: our legitimate interest in answering you (Art. 6(1)(f)).

4.8 Sharing to other apps and rating prompts

When you share an affirmation card to Instagram, Facebook, X or another app, you choose what to share and the receiving app's privacy policy applies. Mai may ask whether you enjoy the app and show Apple's standard rating prompt; your answer to our question is recorded as an analytics event when full analytics are on (section 4.1). Ratings and reviews are handled by Apple.

4.9 Data we receive from others, and whether you must give us data

From others: from Apple, the ad campaign that led to your install (if you came from an Apple Search Ads ad) and, through RevenueCat, your subscription status. We do not receive your name or contact details from them.

Do you have to give us data? No. You do not have to give us any personal data to use Mai's free features. Server-based features (AI and background images) cannot work without sending the content you choose. Analytics are optional: in the EEA they run in full only if you allow them. Crash reports are not required to use the app. If you do not want a subscription processed by Apple and RevenueCat, you cannot buy one.

5. AI features in detail

Mai offers optional AI features: writing affirmations for you, a short "tell me about your life" chat that builds your "About you" profile, personal stories (with optional voice narration), and AI background images.

Before first use, Mai asks for your permission, for text, images and stories alike. If you say "Not now", nothing is sent to AI providers and the rest of the app works normally.

Your "About you" profile is off by default. The "Use my profile" setting is an opt-in. When you turn it on, Mai asks for your explicit consent to send your name and profile items, which may include information about your health or feelings, to the AI providers listed below. If you used an earlier version of Mai, it asks you once. If you do not turn it on, nothing from your profile, and not your name, is sent.

What is sent when you use AI features:

Where it goes: the request goes to our AI server, which runs on Cloudflare's network, and is forwarded to OpenRouter, Inc. (USA). OpenRouter passes it to an AI model host such as Amazon Web Services (Amazon Bedrock), Microsoft Azure, Mistral AI or Google Cloud (Vertex AI), running models from providers such as Anthropic, OpenAI, Mistral, Google and Microsoft. Our server tells OpenRouter which hosts may be used and does not allow it to fall back to other hosts. Text requests from users in the EU, EEA, UK or Switzerland, and from users whose location we cannot tell, are sent only to hosts in the EU. Text requests from users elsewhere may be processed in the United States.

What we and they keep:

AI transparency. AI text and images are labelled as AI in the app, and AI images carry a machine-readable "AI-generated" marker in their file data. The "tell me about your life" chat is an AI, and its screen always says "You're chatting with an AI". AI output can be wrong or unsuitable; it is not medical, psychological or other professional advice.

How to switch AI off:

6. Who we share data with (our processors)

We do not sell your personal information and do not share it for advertising. We disclose it only to these service providers, which process it on our behalf, and to Apple for platform services:

Equal protection. Each of these providers except Apple is bound by a data processing agreement (Art. 28 GDPR) to protect your data at least as well as this policy describes and to use it only for the purposes listed here.

We may also disclose information if required by law, to protect the rights or safety of users or others, or as part of a merger, sale or restructuring of our business (in which case this policy continues to apply to your data).

7. International transfers

Several of our providers are in the United States or process data in other countries outside the European Economic Area. When personal data from the EEA, UK or Switzerland goes to a country without an adequacy decision, we rely on these safeguards:

You can get a copy of the relevant clauses by emailing [email protected].

8. How long we keep data

9. Your rights (EU, EEA and UK)

Under the GDPR and UK GDPR you have the right to:

Your right to object. Where we rely on legitimate interests (analytics outside the EEA, crash reports outside the EEA, abuse prevention on the AI service, revenue analytics), you can object at any time by turning off "Share usage analytics" in Settings or by emailing [email protected]. We will stop unless we have compelling legitimate grounds.

We do not make decisions about you based solely on automated processing that have legal or similarly significant effects. The automatic safety check of AI requests only decides whether content is generated.

To exercise your rights, email [email protected] and include the Support ID shown on the Delete my data screen (section 10). We answer within one month, which can be extended by two more months for complex requests; we will tell you if so.

Complaints. You can lodge a complaint with a supervisory authority, in particular in the EU country where you live or work. Our lead authority is the Polish authority: Prezes Urzędu Ochrony Danych Osobowych (PUODO), ul. Stawki 2, 00-193 Warszawa, Poland, https://uodo.gov.pl. In the UK you can complain to the Information Commissioner's Office (https://ico.org.uk). We would appreciate the chance to resolve your concern first.

10. How to delete your data (no account needed)

Mai has no account, and we keep no user profile or content on our servers: what you create in Mai lives on your device (and in your iCloud, if sync is on). Our AI server keeps usage counters linked to your hashed app user ID or to your IP address: daily counters (up to 2 days), IP-based counters (up to 48 hours), monthly allowance counters (up to 40 days) and free AI credit counters (24 months). They expire on their own (section 8). Our providers also hold the records in step 4. To delete your data:

  1. In the app: go to Settings, then AI & privacy, then Delete my data. This wipes everything Mai stores on your device, including its shared storage, Keychain items, widgets and Apple Watch data. It resets your analytics ID and returns Mai to onboarding. It does not cancel your subscription, which Apple manages (cancel it in your Apple account settings).
  2. Delete the app. This also removes the on-device data stored on your iPhone, Apple Watch, widgets and iMessage extension.
  3. iCloud data: on your iPhone, open Settings, tap your name, then iCloud, then Manage Storage (or Manage Account Storage), find Mai and delete its data. Do this after deleting the app on all your devices, or the data may sync back.
  4. Copies held by our providers (analytics, purchase records, crash reports, feedback in our support channel, support emails): email [email protected] or [email protected] with the subject "Delete my data" and the Support ID shown on the Delete my data screen. Feedback cannot be traced to your Support ID, so to delete feedback, tell us its date and text. We will ask the providers to delete what they hold, and will tell you what we could and could not identify.

Your Support ID. The Delete my data screen shows your Support ID; tap it to copy it and paste it into your email. It is the random app user ID RevenueCat created for your install. It lets us find your subscription records and, through them, the analytics records linked to your device in full analytics mode. Crash reports (Crashlytics and Sentry) cannot be looked up from your Support ID; they expire on their own (section 8). Reduced-data events carry only a per-launch random ID, so there is nothing to look up.

Deleting the data or the app resets the Crashlytics installation ID. Apple's identifier for vendor (the Amplitude identifier in full mode) only resets once you have deleted all HopIn.IT apps from your device.

11. US privacy rights (California and other states)

Categories we collected in the last 12 months: identifiers (app and device identifiers such as the identifier for vendor, IP address); commercial information (purchase and subscription history); internet or other electronic network activity (app usage events); approximate geolocation (country or city from IP address); sensitive personal information only as described in sections 4.4 and 5 (information about your mental or physical health, and any other sensitive details you choose to include in AI requests or your profile); and any information you include in feedback or emails. Sources, purposes and recipients are described in sections 4 to 6. Retention is in section 8. In reduced-data mode, analytics use no persistent identifier, but our servers still see your IP address when you use AI features or download images.

No sale and no sharing. We do not sell personal information and do not share it for cross-context behavioural advertising. Mai contains no advertising SDKs and does not use your advertising identifier (IDFA). We use sensitive personal information only to provide the feature you request (Cal. Code Regs. tit. 11, s. 7027(m)) and not to infer characteristics about you. We do not knowingly sell or share the personal information of consumers under 16.

AI training. We do not use your personal data or your content to train AI models, and we instruct our AI providers not to.

Your rights: to know and access, correct, delete, and to limit the use of sensitive personal information (we already use it only to provide the features you ask for). You can use them by emailing [email protected] with your Support ID (section 10), yourself or through an authorised agent. We may ask for reasonable information to verify your request, and we answer within 45 days.

Appeal. If we decline your request, you can appeal by replying to our answer with the subject "Appeal". We will answer within 45 days. If you are not satisfied, you can contact your state attorney general.

Non-discrimination. We will not deny you the app, charge you a different price, or give you a different quality of service because you exercised your privacy rights.

Do Not Track. Mai does not respond to web browser "Do Not Track" signals, because it is an app, not a website. You control cross-app tracking in iOS Settings, Privacy & Security, Tracking (Mai does not track you across other companies' apps or websites), and analytics in Mai's Settings with the "Share usage analytics" switch. We do not allow third parties to collect information about your online activities over time and across different apps or websites through Mai.

Consumer health data (Washington, Nevada, Connecticut and similar state laws). We publish a separate Consumer Health Data Privacy Policy: https://hopin.it/mai/consumer-health (linked from the Mai website homepage and from Settings in the app). It explains what consumer health data Mai handles, why, who receives it, and how to exercise your rights and appeal.

12. Children

Mai is for people aged 16 and over, and its App Store age rating is 16+. It is not directed to children, and we do not knowingly collect personal data from anyone under 16. If you believe someone under 16 has used AI features or sent us information, contact us at [email protected] and we will delete it.

13. Wellbeing, not medical care

Mai offers affirmations, breathing exercises, stories and mood-based content for general wellbeing. It is not a medical device and does not diagnose, treat or provide therapy. If you are in crisis, contact local emergency services or a helpline (Mai links to https://findahelpline.com).

14. Security

Every connection Mai makes uses encryption in transit (HTTPS). Your "About you" profile file is encrypted by iOS while your phone is locked. Our AI server stores user IDs only in hashed form, requires an app identifier on every request, applies rate limits and usage quotas, and keeps no request text. Access to our provider accounts is restricted to our team. No system is perfectly secure, but we limit what we hold so that there is less to protect.

15. Other countries

16. Changes to this policy

We will update this policy when Mai changes how it handles data. We will change the "Last updated" date above and, for significant changes, tell you in the app before they take effect.

17. Contact

HOPIN.IT SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ (HopIn.IT sp. z o.o.)
ul. Marsz. Józefa Piłsudskiego 74/320, 50-529 Wrocław, Poland
KRS 0001117479, NIP 8971940626, REGON 529197668
Email: [email protected]