Privacy Policy

Last updated: 18 October 2026 (provisional version)

Provisional version for the test phase: this privacy policy covers the beta version of Joynutrics (TestFlight) and this website. It describes what the app and our servers actually do with your data today. Before the official launch we will replace it with a version reviewed by a lawyer. If anything is unclear or missing, write to us at info@joynutrics.com.

1. Who is responsible?

The controller responsible for processing your data in the Joynutrics app and on joynutrics.com is:

Stefan Gerard, Frankenring 25, 66798 Wallerfangen, Germany

For any question about data protection and for your requests, contact us at info@joynutrics.com.

2. The essentials

  • We process your data so that you can collect recipes, build cookbooks, plan your week and shop – that is, to run the app.
  • The database and our server functions run on Google Firebase in Frankfurt am Main, Germany (region europe-west3).
  • Usage analytics only happens if you agree. The app shows no ads and does not ask to track you across other apps.
  • Texts and images that you can publish are checked automatically for prohibited content by an AI (Google Gemini).
  • You can delete your account in the app at any time.

3. Account and sign-in

You sign in with an email address and password or with “Sign in with Apple”. Sign-in runs on Google’s Firebase Authentication. We process:

  • Email and password: your email address and your password, which Google stores only as a hash.
  • Sign in with Apple: an identifier issued by Apple, the email address you share with Apple (a relay address from Apple if you choose) and your name if you share it.
  • Username: You choose it yourself. When you sign up with Apple, the app suggests one using Google Gemini; you can change it later.
  • Internal user ID: a random ID (UID) under which your account is stored.

We send you the emails your account needs: confirming your address, resetting your password, confirming and notifying you of a change of email address. Their links lead to joynutrics.com/auth.

The legal basis is the performance of our contract with you (Art. 6(1)(b) GDPR). Without this information we cannot offer you an account.

4. Profile, recipes and planning

For the app to work, we store what you create in it:

  • Public profile: username, display name, bio, profile picture and the number of your followers, people you follow and cookbooks. Every signed-in user can see this.
  • Private details: first and last name (if Apple provides them), the app’s language and your meal-plan settings (for example eating pattern, portions, recurring meals and your time zone). Only you can see these.
  • Recipes and cookbooks: names, descriptions, steps, ingredients, photos and the visibility you choose: public, followers only or private. Also drafts, saved cookbooks and ingredients you create yourself.
  • Social features: whom you follow, who follows you, which recipes you like and whom you have blocked.
  • Planning: your meal plans and your shopping list.

You pick photos from your photo library or take them with the camera; the app only accesses them when you do so. Before a photo is uploaded, the app re-encodes it and removes metadata such as location, camera details and capture time.

The data is stored in Cloud Firestore (Frankfurt am Main) and Cloud Storage of Google Firebase. Part of it is also cached on your device so that the app is fast and works offline. We delete meal plans older than six months automatically.

The legal basis is the performance of our contract with you (Art. 6(1)(b) GDPR).

5. Automatic checks and translation with Google Gemini

To keep offensive, sexual, violent or extremist content off Joynutrics, an AI model from Google (Gemini via Vertex AI) checks content before or while it is saved:

  • Texts: username, display name and bio, recipe names and steps, cookbook names and descriptions, and the names of ingredients you create.
  • Images: profile pictures and cover images of recipes and cookbooks, as well as the image of reported content.

If the check clearly finds a violation in an image (sexual content, violence, extremism or identifiable people), the image is rejected automatically. If the result is uncertain, a person on our team decides. If you think a decision is wrong, write to us.

Gemini also translates recipe names, steps and ingredient names into the app’s languages (German, English, French, Spanish, Italian, Portuguese) and detects the language a recipe is written in. This includes private recipes.

The checks and translations run in Google Cloud’s EU region, both those on our servers and those the app calls directly (username, recipe and cookbook texts, language detection, suggesting a username). Google processes the data as our processor.

The legal basis is our legitimate interest in a safe platform and our obligation to act against illegal content (Art. 6(1)(f) and (c) GDPR in conjunction with the Digital Services Act); for translation, the performance of our contract with you (Art. 6(1)(b) GDPR).

6. Reporting, blocking and moderation

You can report recipes, cookbooks and profiles and block other users.

  • Reports: We store who reported what, the reason, your optional text (up to 500 characters) and our decision. To handle the report we open a case in our ticket system Jira (Atlassian). It contains your text, the reported content and the user ID of the person who created it – not your own ID.
  • Decision: We tell you the outcome by email, as the Digital Services Act requires.
  • Moderation: If rules are broken, we can remove content, reset a profile picture, bio or display name, or suspend an account. We record rejected and held images with user ID, image path and reason, and open cases for them in Jira too.
  • Blocking: Only you can see your block list. Who has blocked you is stored on the server only.

The legal basis is our obligations under the Digital Services Act (Art. 6(1)(c) GDPR) and our legitimate interest in a safe platform (Art. 6(1)(f) GDPR).

7. Subscriptions

You buy Premium through the App Store. Apple handles the payment; we receive no payment details. We manage your subscription status with RevenueCat. RevenueCat knows you only by your user ID (UID) and receives the purchase data from the App Store. We store only the date until which your Premium access runs.

The legal basis is the performance of the contract (Art. 6(1)(b) GDPR).

8. Emails

We send emails through IONOS’s mail server in Germany; the sender is support@joynutrics.com. Besides the account emails (section 3), these are the link to your data export and the message about the decision on a report. We currently send no marketing emails.

For emails sent by our servers, we store recipient, subject and text in our database and delete them 30 days after sending.

9. Crash reports (Firebase Crashlytics)

So that we can find and fix bugs, the app sends crash and error reports to Google’s Firebase Crashlytics. A report contains technical details such as device model, iOS and app version, the steps leading up to the error and error messages. An error message can contain your user ID, a randomly assigned identifier that does not include your name. The app does not send your email address or username; if an email address appears in an error message, the app removes it before sending.

Crashlytics is always active in the app. The legal basis is our legitimate interest in a stable app (Art. 6(1)(f) GDPR). According to Google, crash reports are kept for 90 days.

10. Usage analytics (Google Analytics for Firebase) – only with your consent

After you sign in, the app asks you once per device whether we may collect usage data. Without your consent, analytics stays off.

If you agree, Google Analytics for Firebase automatically records events such as first launch, sessions, screens viewed and in-app purchases, together with an app instance ID, device and app information and an approximate location derived from the IP address (country, region). Google’s advertising features are switched off, and the app does not ask for tracking permission (App Tracking Transparency), so it cannot access your device’s advertising ID.

You can withdraw your consent at any time in the app under Settings → Privacy → Usage Analytics. The app then resets the app instance ID. Processing up to the withdrawal remains lawful. Your choice is stored only on your device.

The legal basis is your consent (Art. 6(1)(a) GDPR, Section 25(1) TDDDG). Google keeps the data for [enter retention period set in Google Analytics].

11. Technical services in the app

  • Firebase App Check: Using Apple’s App Attest, the app proves that requests to our servers come from the genuine app on a real device. This protects against abuse.
  • Firebase Remote Config: The app loads settings from our servers, for example whether a feature is switched on. A Firebase installation ID is transmitted in the process.
  • Storage on your device: The app stores settings (for example appearance and your analytics choice) and caches for content and images on your device. Signing out clears the caches; deleting your account also clears the other entries except appearance, onboarding and your analytics choice.

The legal basis is our legitimate interest in a secure, working service (Art. 6(1)(f) GDPR); where this requires access to your device, that access is technically necessary (Section 25(2) no. 2 TDDDG).

12. Feedback during the test phase and contact

In the test version you can report bugs and send wishes from within the app. We transmit your title and text, up to five images or videos you attach, your user ID and the app and iOS version, device model and language. This becomes an entry in our ticket system Jira (Atlassian); the attachments sit in Firebase Storage only briefly and are deleted after the transfer. Photos are stripped of metadata first; videos are sent unchanged. An unsent draft is kept on your device.

If you email us, we process your address and your message to reply. The support email from the app comes pre-filled with the app and iOS version.

The legal basis is our legitimate interest in improving the app and answering requests (Art. 6(1)(f) GDPR); for questions about your account, the performance of the contract (Art. 6(1)(b) GDPR).

13. This website

  • Hosting: joynutrics.com is hosted by Vercel. When you visit, Vercel processes technically necessary data such as IP address, time, page requested and browser identifier, to deliver the page and protect it against attacks.
  • Cloudflare: Cloudflare manages our domains. If you open www.joynutrics.com or one of our country domains, Cloudflare redirects you and also processes your IP address and request data.
  • No analytics, no external fonts: The website uses no analytics or tracking tools. We serve fonts from our own server; your browser does not contact Google for them.
  • Cookie: If you choose a language other than your browser’s, the website remembers it in the cookie NEXT_LOCALE. It is deleted when you close the browser.
  • Links from our emails: On joynutrics.com/auth you confirm your email address or reset your password. This page uses Firebase Authentication and, to protect against abuse, Firebase App Check with Google reCAPTCHA Enterprise; data about your browser and your use of the page is sent to Google in the process.

The legal basis is our legitimate interest in a secure, working website (Art. 6(1)(f) GDPR), for the language cookie Section 25(2) no. 2 TDDDG, and for the pages linked from our emails the performance of our contract with you (Art. 6(1)(b) GDPR).

14. Recipients and processors

We pass your data only to service providers we need to run Joynutrics. Data processing agreements under Art. 28 GDPR are in place or apply with them; in the App Store, Apple largely acts as a controller in its own right.

  • Google (Firebase and Google Cloud): sign-in, database, file storage, server functions, App Check, Remote Config, Crashlytics, Analytics (only with consent), Gemini via Vertex AI, reCAPTCHA Enterprise on the website.
  • Apple: App Store, Sign in with Apple, in-app purchases, App Attest.
  • RevenueCat (USA): subscription management.
  • IONOS (Germany): sending emails.
  • Atlassian (Jira): handling reports, moderation cases and feedback from the test phase.
  • Vercel (USA): hosting this website.
  • Cloudflare (USA): domains and redirects.

Other users see your public profile and the content you make visible to them.

15. Transfers outside the EU

Google, Apple, RevenueCat, Atlassian, Vercel and Cloudflare are based in the USA or also process data there. Transfers are based on the European Commission’s adequacy decision for the EU-US Data Privacy Framework, where the provider is certified under it, and on the European Commission’s standard contractual clauses in the respective agreements (Art. 45, Art. 46(2)(c) GDPR).

16. How long we keep data

  • Account and content: until you delete your account.
  • Meal plans: at most six months after the week concerned.
  • Username: After a change we reserve your old name for you for 14 days so that you can switch back.
  • Data export: We delete the export file automatically after seven days.
  • Backups: We back up the database daily and weekly; each backup is deleted after 98 days.
  • Crash reports: 90 days (according to Google).
  • Server logs: according to the standard periods of Google Cloud and Vercel.
  • Email records: 30 days after sending.
  • Reports: twelve months after our decision, so we can recognise repeated violations. Open reports stay until we have decided.
  • Rejected images: twelve months after the rejection.
  • Moderation cases and feedback in Jira: We have yet to set a fixed period. Until then we keep them as long as we need them for handling the case and for our record-keeping obligations.

17. Deleting your account

You can delete your account in the app under Settings; for security you sign in once more first. Deletion starts immediately. We then delete your profile, your recipes and cookbooks (public ones too) with their images, your meal plans, shopping list, drafts, follow, like and block relationships, the emails sent to you, rejected images, and your sign-in account. Ingredients you created stay in the catalogue without any link to you. If you signed in with Apple, the app also revokes the connection to Apple.

For a limited time afterwards, the following remains:

  • Database backups, until they are deleted after at most 98 days.
  • Deleted images, which Google keeps recoverable for 30 days.
  • A deletion record with your user ID and timestamps, so that restoring a backup does not bring your account back; it is deleted after 98 days.
  • If someone added one of your recipes to their meal plan, a copy stays there (name, steps, ingredients, without any link to you) until that meal plan is deleted after six months.
  • Reports you filed, until their period ends, but without your user ID. Reports about your content and moderation cases in Jira (see section 16).

We remove your user ID and attachments from test-feedback entries and delete your record at RevenueCat; both are currently done by hand.

18. Your rights

You have the right to

  • access the data we hold about you (Art. 15 GDPR),
  • rectification of inaccurate data (Art. 16 GDPR),
  • erasure (Art. 17 GDPR) – fastest directly in the app,
  • restriction of processing (Art. 18 GDPR),
  • data portability (Art. 20 GDPR): we provide your data as a ZIP file, with your details in machine-readable JSON and the images you uploaded,
  • object to processing based on our legitimate interest, on grounds relating to your particular situation (Art. 21 GDPR),
  • withdraw consent with effect for the future (Art. 7(3) GDPR), for example for usage analytics in the app’s settings.

Just write to us at info@joynutrics.com. So that we never hand your data to someone else, we may ask you to confirm that the account is yours.

19. Complaints to a supervisory authority

You can lodge a complaint with a data protection supervisory authority, for example where you live or with the authority responsible for us, the Unabhängiges Datenschutzzentrum Saarland. We would appreciate it, though, if you contacted us first.

20. Changes

This version is provisional and applies to the test phase. If the app’s features or our service providers change, we will update it. Before the official launch we will replace it with a version reviewed by a lawyer. The date at the top shows the current version.