Mythlift Privacy Policy
Information about data, services and your rights.
Version: 1.1. Publication and effective date: 2026-10-06.
This policy describes what data the Mythlift app (the App) processes, for what purpose, on what legal basis, where, for how long, and how you can use or delete it.
1. Data controller
- The controller is Przemysław Jurek, conducting business under the name Przemysław Jurek, ul. Wileńska 15, lok. 87, 20-603 Lublin, Poland, tax ID (NIP) 7141952574, REGON 525521072 (the Controller).
- Contact for privacy matters: mythlift@przemekjurek.pl.
2. Principles
- We collect as little data as possible. The App does not collect health data: symptoms, injuries, illnesses, body weight or measurements. There are no free-text fields about health.
- We do not track users across apps. The App uses no advertising ID and contains no advertising libraries. Optional Google Analytics through the Firebase SDK is enabled only after the consent described in section 4; it is not used for advertising or advertising profiling.
- Age: the App is intended for people aged 16 or over. We do not collect dates of birth, only a confirmation of age.
- The App does not use Google cloud backup of app data. Data may be sent to our Supabase server and directly to Google, RevenueCat, Sentry and Cloudflare Turnstile within the scopes described below. Exporting or sharing at your request can also save data or send it to an app you choose.
3. What data we process
| Category | Examples | Purpose | Legal basis (GDPR art. 6) | Where |
|---|---|---|---|---|
| Account | User ID, email address (when signing in by email or with Google), sign-in method | Providing the service, sync, restoring purchases | Contract (art. 6(1)(b)) | Supabase (authentication) |
| Profile and settings | Language, units, time zone, simple or expert explanation register, learning pace, training goal and location, experience in ranges, streak mode, rest days, weekly target, notification settings, age 16+ confirmation, consents with date and document version | Operating the service | Contract | Supabase, device |
| Learning log | Answers and learning events, concept state, account ID, random installation ID, time zone, dates, session ID, and versions of the app, content and review mechanism | Core of the service: reviews, progress measurement | Contract | Supabase, device |
| Variant assignment and acquisition source | Label variant, experiment assignment, pilot group and UTM source or campaign if recorded on the account | Maintaining a consistent interface variant; usage measurement only with consent | Contract for service settings; consent for optional metrics | Supabase, device |
| Google profile | Name or profile name and profile image URL if Google provides them during sign-in | Authentication; the app does not use these data to display a profile | Contract | Supabase Auth |
| Product events | Usage events (for example a screen opened, a session completed), without free text and without email address | Improving the product and metrics | Consent (art. 6(1)(a)), switch off by default | Supabase |
| Google Analytics in the App | Names of selected interface and purchase events without parameters supplied by the App; technical app-instance identifier, device, operating-system and app-version information, technical SDK events and IP address used to derive approximate location | Usage statistics and product improvement | Consent (Article 6(1)(a)), off by default | Google Analytics for Firebase |
| Premium offer | Account ID, including a guest account ID when the Premium screen is opened; store SDK technical data | Fetching the current offer and prices before purchase | Steps taken at the person's request before entering into a contract (art. 6(1)(b)) | RevenueCat, Google Play |
| Purchases and entitlements | Product, dates, transaction ID, access state | Performing the contract, accounting, restoring purchases | Contract, legal obligation (art. 6(1)(b) and (c)) | Supabase, RevenueCat, Google Play |
| Reports | Reason, comment up to 500 characters, optional link | Content quality, replying to the reporter | Legitimate interest (art. 6(1)(f)) | Supabase |
| Export and abuse prevention | Export file; account ID, action name, time window, number of calls and data size | Providing a data copy; service protection and stability | Legal obligation for export; legitimate interest for service protection | Supabase, device |
| Server service logs | IP address, request time and technical request parameters | Security, error diagnosis and abuse prevention | Legitimate interest | Server service providers |
| Bot protection | IP address, TLS connection characteristics, WebView browser information, public widget key and origin; verification token | Protecting account creation and sending codes | Legitimate interest | Cloudflare Turnstile, Supabase Auth |
| Technical error data | Error type, scrubbed stack trace, App and OS version, device model | App stability | Legitimate interest | Sentry |
| Referrals | Random code linked to the referring account, referring and invited account identifiers, reservation and confirmation times, one-time reward | Fulfil an optional referral and prevent duplicate rewards | Provide the feature at the person's request (Article 6(1)(b)) | Supabase |
In addition:
- Learning reminders are scheduled locally on the device. They need no server. Notification permission is given in the Android system dialog and can be withdrawn in system settings.
- Events about content gaps (concept, level, role) are sent without a user ID and regardless of the analytics consent.
- Payment data (card numbers and so on) is processed only by Google Play. The Controller does not receive it.
- You give your email address voluntarily when you save an account. Without it you can use the App as a guest, but buying Premium requires a saved account.
- When the store integration is enabled, opening the Premium screen sends the Supabase account ID to RevenueCat and fetches the offer. This also applies to guest accounts and people who do not make a purchase. A guest who does not open this screen does not activate this integration. Turning off product analytics does not turn off offer retrieval.
4. Analytics consent
- Product events sent to Supabase and optional Google Analytics measurement in the App require active consent. The switch is shown on first launch and is off by default. You can change it at any time in Settings. Accepting the Terms or Privacy Policy is not analytics consent.
- Withdrawing consent blocks further events immediately, disables Google Analytics collection and requests a reset of local SDK analytics data. We do not send Google pending events from the previous consent. A local reset does not confirm deletion of earlier data from Google servers. Withdrawal does not affect the lawfulness of processing before it.
- The learning log is necessary for the service to work (reviews, sync) and does not depend on the analytics consent.
- Membership in a test group or assignment of a label variant does not imply analytics consent. Sending optional product events requires the switch to be enabled.
- The App sends Google only names from a closed list of general interface and purchase events. It sends no question text, answers, learning results, health descriptions, comments, referral codes, email address or account identifier
userId. The SDK may automatically add app lifecycle events, purchase information, an app-instance identifier and device information. Automatic SDK data is separate from the event names sent by Mythlift code. This is not anonymous measurement. According to Google's disclosure, IP addresses are processed to derive approximate location. We do not obtain GPS location. Advertising-ID collection and advertising personalisation are disabled.
5. Recipients and transfers outside the EEA
| Entity | Scope | Location and mechanism |
|---|---|---|
| Supabase | Database, sign-in, server functions, file storage | EU region (Ireland, eu-west-1) |
| RevenueCat | Fetching offers and prices, account ID including guest accounts, purchases and entitlements | USA; processing terms and standard contractual clauses for transfers to countries without an adequacy decision are described in the RevenueCat DPA |
| Google Play store, payments, sign-in with a Google account | Under Google's terms; Google is a separate controller for payments and sign-in | |
| Google Analytics / Firebase | Optional App and website statistics, measurement identifiers and technical data described in sections 3, 4 and 11 | Processing may take place outside the EEA; processing terms and transfer mechanisms, including standard contractual clauses, are defined in Google's processing terms. We do not assume storage exclusively within the EU |
| Cloudflare, Inc. | Turnstile verification before guest account creation and sending a code | Technical signals are processed for bot protection; Cloudflare also uses them as an independent controller to improve bot detection. Processing and transfers: Turnstile rules and Cloudflare policy |
| Sentry | Error reports | EU region; the app removes account IDs, email addresses and user content from reports, and the project prevents storage of IP addresses in events |
| Brevo | Sending sign-in codes through SMTP configured in Supabase | Primary data storage servers in France and Germany according to Brevo; any subprocessor transfers are subject to the provider's processing terms |
| Website hosting and email | WordPress pages on przemekjurek.pl, deletion form and correspondence | Under the website privacy policy and settings described in section 11 |
Data is not sold or shared for advertising.
6. How long we keep data
| Data | Period |
|---|---|
| Account, profile, learning log, entitlements | Until the account is deleted; we complete the deletion within 30 days |
| Anonymous account with no activity | 18 months from last activity, then deletion |
| Product events in Supabase | 24 months |
| App and website Google Analytics data | 2 months for user-level and event-level data, without resetting the period on new activity. The Mythlift console setting was confirmed on 2026-10-06; Google applies retention changes within 24 hours. According to Google's retention rules, this setting does not apply to standard aggregated reports |
| Mythlift website measurement cookies | Up to 90 days after creation without extending the expiry; removed after analytics consent is withdrawn in the website panel |
| Reports | 24 months from resolution (the comment may be anonymised earlier) |
| RevenueCat offer customer without a purchase | Until customer deletion is requested as part of account deletion; we do not assume RevenueCat automatically deletes inactive customers. Deletion details and limitations are described in section 8 |
| Purchase data | As required by accounting obligations; after account deletion the transaction record remains without the account identifier |
| Data export file | Download link valid for 24 hours; the server file becomes eligible for deletion after 25 hours and is removed by the next cleanup run. A copy you save outside the app remains under your control |
| Rate-limit counters | Windows older than 7 days are deleted by a cleanup run; account deletion removes linked counters |
| Research exports | Only in pseudonymised or aggregated form |
| CAPTCHA token | Only in App memory until passed to Supabase; we do not save it in a database or logs. The token is single-use and valid for 5 minutes. Cloudflare processes technical signals under its own privacy rules, linked in section 5 |
| Supabase technical logs | Platform API and database logs: 1 day on the current Free plan, according to Supabase retention. This does not determine retention of account data or the learning diary |
| Sentry error reports | Retention follows the Sentry plan active when the event was recorded, under Sentry's retention rules. A plan change does not extend retention for previously recorded events |
| Brevo email delivery logs | 1 month for all senders. Previews of new transactional messages are not stored |
| Website hosting logs | Retention follows the hosting service's log retention and rotation settings. Logs support website operation, fault diagnosis and protection against abuse. If a record is needed to investigate a specific incident or fulfil a legal obligation, its further retention is determined by completion of that matter or the applicable legal provision |
| Referrals | Code and reward until the referring account is deleted; referral link between accounts until either linked account is deleted. Deleting the invited account does not revoke a reward already granted to the referrer |
7. Your rights
You have the rights under the GDPR: access, rectification, erasure, restriction of processing, data portability, objection to processing based on legitimate interest, and withdrawal of consent at any time. You also have the right to lodge a complaint with a supervisory authority (in Poland, the President of the Personal Data Protection Office, UODO).
| Right | How to use it |
|---|---|
| Access and portability | In the App: Settings > Privacy > Export data (JSON file) |
| Erasure | In the App: Settings > Privacy > Deleting your account; or the web page with account deletion instructions (Polish); or email mythlift@przemekjurek.pl |
| Rectification | Profile settings in the App |
| Withdrawing analytics consent | The switch in App Settings; separately, the website cookie settings panel |
| Other rights and questions | mythlift@przemekjurek.pl |
We may ask you to confirm that a request comes from the account holder. We reply within one month.
8. Account deletion
- Deleting in the App removes the profile, events, learning state and reports from our server, and requests deletion of the RevenueCat customer if one was created. The RevenueCat request is queued and retried after errors; deletion of local data or the Supabase account does not by itself confirm completion of this part. Data stored on the device is deleted immediately. We complete the server part within 30 days.
- When the device has no network, the request is remembered on the device and carried out once the connection returns. Do not uninstall the App until it is confirmed: the remembered request disappears with it. If that has happened, write to mythlift@przemekjurek.pl and we will delete the account on request.
- Deleting the account does not refund active Premium access. Google Play handles refunds; this does not limit statutory consumer rights described in the Terms.
- A guest account has no email address, so a guest deletes it in the App. When the App can no longer reach the guest account (for example after uninstalling), we delete an account with no activity automatically 18 months after the last activity.
- Google Analytics data is not labelled with the Mythlift account identifier. Deleting an account or resetting local SDK data does not automatically delete historical Google Analytics data from Google servers. Contact the Controller to exercise rights concerning these data; we may need additional information to identify the relevant measurement.
9. Security
Connections to the server are encrypted (TLS). User data is protected by row-level security in the database: each person can access only their own data. Administrative keys are kept only in the server environment, never in the App. The app removes account IDs, email addresses, question and answer text, request headers and parameters from Sentry reports. It does not send screenshots or session recordings. The provider receives a network connection, so absence of these fields in a report does not mean that no technical transmission data are processed.
10. Automated decisions
The App chooses the order of reviews and learning recommendations from your answers. We take no decisions that produce legal effects or similarly significantly affect people who use the App.
11. Website
- Mythlift pages are part of przemekjurek.pl and use WordPress. Mechanisms necessary to operate the website and protect the form, and technical hosting logs, may operate without analytics consent. Other parts of the website are described in the website privacy policy.
- On Mythlift pages, Google Analytics operates only after the analytics category is enabled in the existing cookie panel. Before consent and after refusal we do not load the Google tag or send analytics pings. Marketing consent alone does not start measurement. Website consent and the App switch are independent.
- The website explicitly sends a
page_viewevent with the canonical page address without query parameters or fragments, a fixed title and an empty referrer. The Google tag may also record technical session events. We send no referral code, form data, email address oruserId. Google may process cookie identifiers, browser and device data and IP addresses to derive approximate location. Enhanced measurement, Google signals, advertising and advertising personalisation are disabled. - Measurement uses cookies with names beginning with
mythlift_ga, scoped to the Mythlift path. Withdrawing consent in the cookie panel stops the running measurement and removes these cookies. It does not delete historical data already sent to Google. - The referral-code page
/mythlift/polecenie/is an exception: it runs neither Google Analytics nor the cookie panel. Merely displaying a code does not grant a reward. - Website and App Google Analytics are not linked through a Mythlift account identifier. The hosting provider may keep technical request logs under its own terms.
12. Changes to this policy
A material change means a new version of the document. On first launch after a change, the App asks for acceptance again. Declining acceptance does not remove already paid Premium access: it can be used under the previously accepted terms until the access period ends. Another purchase requires acceptance of the current documents. Without active Premium access, declining pauses learning, while viewing the documents, data export and account deletion remain available.
