Privacy Policy

Last updated: October 21, 2026

2.1 Data Controller

NutriPlan is operated by Jakub Jaroš, a sole trader (fyzická osoba podnikající) registered in the Czech Trade Register, IČO 29688205, Vlašimská 2457, 256 01 Benešov, Czech Republic. As the operator of NutriPlan, this trader is the data controller responsible for your personal data under the General Data Protection Regulation (GDPR).

Contact: hello@getnutriplan.app · Vlašimská 2457, 256 01 Benešov, Czech Republic

2.2 What Data We Collect

Your own profile and health-condition data is stored together with your account at Supabase, our database and login provider. For family members you add who don’t have their own account, this data is stored separately, and only you, as the family owner, can access it in full (see §2.9).

We process account, profile, and payment data because it’s necessary to provide the Service you’ve asked for (contract performance). We process usage/analytics data based on our legitimate interest in understanding and improving the product (see §2.3). We process health-condition data only with your explicit, separate consent (see §2.4).

We don’t sell your personal data or use it for advertising. We don’t make decisions about you based solely on automated processing that have legal or similarly significant effects.

2.3 Subprocessors & Service Providers

Supabase — Database & authentication, hosted in the EU (Paris, France — AWS eu-west-3). Data involved: account, profile, plan, and health-condition data.

Vercel — Application hosting. Serverless functions run in the EU (Frankfurt, fra1); static assets are served via Vercel’s global edge network. Data involved: all data in transit.

PostHog — Product analytics and error monitoring (technical error data). Location: EU (PostHog Cloud, eu.i.posthog.com). Data involved: usage/behavioral data; for error monitoring, error messages and stack traces only — never request bodies, headers, or cookies, and URLs are stripped of query strings and fragments before being sent. Approximate location (country/city) is derived from your IP address at ingestion; IP addresses themselves are not stored. No cookies or browser storage are used for analytics — nothing persists on your device between visits. For signed-in users, a pseudonymous identifier derived from your account id (never your email or name) is used so your activity can be grouped together; anonymous visitors are not tracked across visits. Server error reports are not linked to any user or account and contain no personal data; they are collected regardless of the analytics setting in your profile.

Beyond that technical/error data, a small number of product-analytics events are also sent to PostHog to help us understand how the meal-plan wizard is used. These events include your selected goal (lose weight, maintain, or gain weight) and your activity level — but never your allergens, health conditions, or body measurements (weight, height, age), which are excluded from every analytics event. Every analytics event is linked only to the pseudonymous identifier described above, never to your email or name. The legal basis for this processing is our legitimate interest in understanding and improving the product. You can object to this processing at any time by switching off “Share anonymous usage analytics” in Profile & settings, or by emailing hello@getnutriplan.app — either way, future analytics collection stops immediately. On request, we also delete the analytics data already collected about you.

Stripe (including Link) — Payment processing. Stripe acts as merchant of record and reseller for Premium subscriptions: it is an independent controller of your billing and payment data under its own privacy policy, not our processor, for that data. Data involved: billing/payment data, name, email. Location: US-headquartered, with Standard Contractual Clauses and participation in the EU-U.S. Data Privacy Framework per Stripe’s own Data Processing Agreement.

Resend — Transactional email only (account confirmation, password reset, welcome email, family invites). Data involved: email address, message content. Transactional emails are sent from Resend’s EU infrastructure (Ireland, AWS eu-west-1). Resend, Inc. is a US company; any access from outside the EU relies on Standard Contractual Clauses / EU-U.S. Data Privacy Framework as offered by Resend. No open or click tracking is used.

We rely on each provider’s standard data processing agreement, which forms part of their terms of service. Where a subprocessor is located outside the EU/EEA, transfers are covered by that provider’s Standard Contractual Clauses (SCCs) or, where applicable, the EU-U.S. Data Privacy Framework, as part of their Data Processing Agreement (DPA).

2.4 Special Category Data (Health Information)

Health-condition information is only collected if you explicitly opt in to health-condition filters, and only with your separate, explicit consent — shown as a dedicated checkbox at the point where you first enable health-condition filters, distinct from the general Terms of Service checkbox you check at signup. You may withdraw this consent at any time, which disables health-condition filtering and deletes both your selected health conditions and the record of your consent from your account.

How to withdraw consent

Clear your selected health conditions in Profile & settings. This turns off health-condition filtering and deletes your health-condition selections and the record of your consent from your account.

In family accounts, health conditions you or the owner enter are used to decide which recipes are offered to the whole group, but are never shown to other members of the family — see §2.9.

2.5 Your Rights

Under GDPR, you have the right to: access your data, correct inaccurate data, request deletion, request a copy of your data in a portable format, object to or restrict certain processing, and withdraw consent at any time where processing is based on consent.

To exercise any of these rights, email us at hello@getnutriplan.app. For deletion specifically, you can also delete your own account instantly via Profile & settings → Delete account. For portability, use “Download my data” in Profile & settings to get a machine-readable (JSON) copy of your data immediately, without waiting on an email request. Because this gives direct access to your account data, we ask you to confirm your password (or, for a Google account, a one-time code emailed to your account address) immediately beforehand, and we email the account address every time a download happens so you’d notice if it wasn’t you.

You also have the right to lodge a complaint with a data protection supervisory authority. In the Czech Republic, this is the Office for Personal Data Protection (Úřad pro ochranu osobních údajů, ÚOOÚ, uoou.gov.cz). If you live elsewhere in the EU, you may also complain to your own country’s supervisory authority.

2.6 Data Retention

We retain your account and profile data for as long as your account is active. If you delete your account, your plans, saved recipes, ratings, preferences, and — if you’re a family owner — your family account data are deleted immediately, your active subscription is cancelled, and your analytics person record is deleted from PostHog, with the underlying analytics events removed afterward in PostHog’s own batch process.

2.7 International Transfers

See §2.3 above for each service provider’s location. Supabase, PostHog, Resend, and Vercel process your data within the EU. Stripe is a US-headquartered provider without a stated EU-only infrastructure commitment in our agreement with it. Transfers outside the EU/EEA are covered by Standard Contractual Clauses and, where applicable, the EU-U.S. Data Privacy Framework, under each provider’s Data Processing Agreement.

2.8 Cookies & Local Storage

We use a small number of strictly necessary cookies and browser-storage entries to run the Service — not for advertising, and not for tracking you across other websites:

As described in §2.3, our PostHog analytics integration does not use cookies or browser storage at all — it keeps nothing on your device between visits. We treat the items above as exempt from cookie-consent-banner requirements because they are strictly necessary to provide the Service you’ve asked for, rather than used for tracking or advertising.

2.9 Family and Group Accounts

If you use a family account, you may add up to 4 additional members (5 in total, including the owner). The family owner is responsible for informing each person whose data they enter into the account and for having that person’s consent — or, where that person is a minor or dependent, for being their parent or legal guardian — before entering their profile or health information.

Other members of a family account can see each member’s name and their portion and calorie targets, along with a combined, unattributed list of allergens the shared meal plan avoids (e.g. “This plan avoids: peanuts, gluten”). This aggregated list never identifies which member has which allergen. Other members never see another member’s health conditions, weight, height, or age — these are used only to decide which recipes are offered to the group, never displayed to anyone but the member themselves and the family owner.

Members who have their own NutriPlan account manage their own profile data — including their allergens and health conditions — directly, the same as any individual account described in §2.2–2.4 above. Only the family owner can enter or edit profile data on behalf of a member who does not have their own account. Removing a member from a family account deletes their data from that family account; a member with their own NutriPlan account keeps their own profile and data independently of the family.

2.10 Contact

Questions about this policy: hello@getnutriplan.app