Privacy Policy

Last updated: 18 October 2026 · Version 2.1

This Privacy Policy explains how your personal data is processed when you use the Riov mobile app (the "App") and the website www.riov.app (the "Website"), together the "Services". It is written to meet the EU General Data Protection Regulation (Regulation (EU) 2016/679, "GDPR") and Spain's Organic Law 3/2018 on Personal Data Protection and Guarantee of Digital Rights ("LOPDGDD").

This Policy is separate from our Terms and Conditions. Accepting the Terms does not mean you consent to any processing that needs consent. Where we need your consent, we ask for it separately.

1. Who is responsible for your data (controller)

The data controller is:

  • Cristian Dorultan, an individual operating under the trade name "Riov"
  • Email: info@riov.app

Note: Riov is not yet a legally incorporated company. When a company is formed, this section will be updated with its name, registered address and tax ID, and you will be told about the change (see section 15).

We have not appointed a Data Protection Officer because we are not legally required to. Please send any privacy request to info@riov.app.

2. What the Services do

Riov is a meal-planning and grocery app. Its main features are:

  • Recipe catalogue: recipes with estimated cost per person and in total, nutrition, allergens, equipment, prep time and servings, available in several languages.
  • Cooking mode: step-by-step instructions with photos and timers.
  • Weekly meal planner: includes automatic plan generation, which runs on rules inside the App rather than AI.
  • Basket: a shopping list built from your plan.
  • PDF export: export your plan or shopping list as a PDF, or copy it as text.
  • Nutrition diary: track calories and macros against a target.
  • AI food scanner: photograph food or ingredients so the App can identify them and estimate nutrition.
  • AI translation: recipe content and in-app announcements are translated by AI.
  • Reviews and photos: rate recipes and review them, with photos.
  • Submitted recipes: submit your own recipes, which are checked by moderators before they are published.
  • Favourites, dietary preferences, allergies and disliked ingredients, used to filter recipes.
  • Notifications: in-app and push notifications.
  • Feedback form: you can attach screenshots or files.
  • Account options: email, Google sign-in, or a guest account.
  • Supermarket price estimates: prices taken from tracked supermarket data for your region.
  • Website: information, a waitlist and a contact form.

3. What data we process

Category Examples Source
Account data Email, display name, user ID, sign-in method, password (stored only as a hash by Google Firebase), language, region You / Google sign-in
Guest account data Anonymous user ID and the content you create as a guest Generated automatically
Profile data Profile photo, nutrition targets, language and region You
Health and diet data (special category) Allergies and intolerances, disliked ingredients, diet type, nutrition diary, cooking-mode meal logs, scanner and quick-add saves You (only with explicit consent, section 4)
Content you create Meal plans, Basket, favourites, cooking history, reviews, ratings, review photos, submitted recipes and their photos You
Scanner images Photos you take or upload for the AI food scanner You
Feedback and support Feedback text, attachments, contact form messages (name, email, message) You
Notification data Push token, notification preferences Your device
Technical data Device type, operating system, app version, IP address, error logs Automatic
Website data Waitlist email, anonymous usage statistics (Vercel Analytics), reCAPTCHA signals You / automatic

We do not process payment card data. Paid features are not currently offered (see section 6).

4. Health and diet data (Article 9 GDPR)

Data about your allergies, intolerances, disliked ingredients, diet type (for example vegan or Mediterranean, which can reveal health conditions or beliefs), nutrition diary, meals logged from cooking mode, and food saved through the scanner or quick-add can reveal information about your health. We treat all of it as special-category data. We process it only with your explicit consent (Art. 9(2)(a) GDPR).

  • Opt-in before use. We ask for this consent in a separate, explicit opt-in screen. It appears before you enter allergies, dislikes or a diet type, use the nutrition diary, log meals from cooking mode, or save scanner or quick-add results.
  • Optional. Without consent, these features stay switched off. You can still use the rest of the App. The meal-plan generator then works without your personal filters and shows an allergen warning.
  • Manage or withdraw at any time in Menu › Health data & privacy, or by emailing info@riov.app. When you withdraw, you can choose to:

    • withdraw and delete: your health and diet data is erased; or
    • withdraw and keep data paused: the data is kept but not processed in any way, until you consent again or it is deleted under the account retention rules in section 9.

    Withdrawal does not make earlier processing unlawful.

  • New consent. We will ask for your consent again only if the way we process this data changes materially.

  • Other uses. We do not use this data for advertising or for profiling with legal effects, and we never sell it.
  • AI providers. We do not send your allergies, diet, diary or account identity to AI providers.

You can give, withdraw or delete your health data consent at any time in Menu › Health data & privacy.

5. Why we use your data and on what legal basis

Purpose Legal basis (GDPR)
Creating and running your account (including guest and Google sign-in) and providing the core features: catalogue, cooking mode, planner, Basket, PDF export, favourites Performance of a contract, Art. 6(1)(b)
Allergy, dislike and diet filtering; nutrition diary; cooking-mode logging; saving scanner or quick-add results Explicit consent, Art. 6(1)(a) + Art. 9(2)(a)
AI food scanner (images sent to OpenAI for analysis) Consent, Art. 6(1)(a), asked before first use. Saving the results to your diary also requires the health-data consent in section 4
AI translation of recipes and announcements Legitimate interest in offering content in several languages, Art. 6(1)(f). This involves recipe text only, not personal data
Publishing reviews, photos and submitted recipes, and moderating them Contract, Art. 6(1)(b); legitimate interest in keeping the community safe and lawful, Art. 6(1)(f)
Supermarket price estimates for your region Contract, Art. 6(1)(b)
Push notifications Consent through your device's permission prompt, Art. 6(1)(a)
Service messages (security, changes to terms, password reset) Contract / legal obligation, Art. 6(1)(b)/(c)
Feedback, support and contact form Legitimate interest in answering you and improving the Services, Art. 6(1)(f)
Website waitlist Consent, Art. 6(1)(a)
Website analytics (Vercel Analytics, cookieless and aggregated) Legitimate interest, Art. 6(1)(f)
Spam and abuse prevention (reCAPTCHA on the contact form) Legitimate interest, Art. 6(1)(f)
Security, fraud prevention, error diagnostics Legitimate interest, Art. 6(1)(f)
Meeting legal obligations and defending legal claims Art. 6(1)(c) / Art. 6(1)(f)

Where we rely on legitimate interest, we have weighed it against your rights, and you can object at any time (section 11). We do not make decisions about you based solely on automated processing that have legal or similarly significant effects. AI features only suggest or estimate. They do not decide anything about you.

6. Paid features

Paid features are not currently offered. If we introduce them, we will tell you the price and conditions before any purchase. Payments would then be handled by Apple App Store or Google Play, and possibly by a subscription-management provider. We will update this Policy before any such processing starts.

7. Who receives your data (processors and recipients)

We do not sell your personal data. We share it only with service providers that process it on our behalf under data processing agreements (Art. 28 GDPR):

Provider Purpose Location
Google (Firebase Authentication, Cloud Firestore, Cloud Storage, Cloud Functions, Google Cloud) Sign-in (including Google sign-in), database, file storage, server functions, password-reset emails EU/US
OpenAI, L.L.C. / OpenAI Ireland Ltd. AI food scanner, ingredient and nutrition estimates, translation US
Vercel Inc. Website hosting and Vercel Analytics (cookieless) US/EU
Resend Sending contact form messages to us US
Google reCAPTCHA Protecting the contact form from spam US
Expo (650 Industries, Inc.) Delivering push notifications (together with Apple Push Notification service and Firebase Cloud Messaging) US
Apple and Google (App Store / Google Play) App distribution; payments if paid features are introduced US/EU

Under our agreement with OpenAI's API, OpenAI does not use data sent through the API to train its models.

Other recipients:

  • Other users: see your public display name, reviews, ratings, review photos and published recipes.
  • Riov administrators and moderators: a small number of authorised people can access account and profile data to provide support, moderate content, deal with abuse and run the Services. They are bound by confidentiality, and their access is limited to what each task requires.
  • Authorities: we disclose data when the law requires it.

8. International transfers

Some providers are based in, or access data from, the United States or other countries outside the European Economic Area. In those cases, transfers rely on:

  • the EU–US Data Privacy Framework, where the provider is certified (Art. 45 GDPR), and/or
  • the European Commission's Standard Contractual Clauses (Art. 46 GDPR), together with additional safeguards where needed.

You can ask for a copy of the relevant safeguards at info@riov.app.

9. How long we keep data

Data Retention
Account, profile, plans, Basket, favourites Until you delete your account, or until it is deleted for inactivity (below)
Health and diet data Until you withdraw consent and choose deletion, or delete your account. Paused data is deleted under the same account rules
Guest accounts Deleted after 12 months of inactivity
Inactive registered accounts After 23 months of inactivity we send a warning email. The account is deleted at 24 months, and never less than 30 days after the warning. Signing back in cancels the deletion. Administrator accounts are exempt, and so are registered accounts without an email address because they cannot be warned
Scanner images Stored in your account and deleted with it
Reviews and review photos Deleted when you delete them or your account
Submitted recipes Pending (unpublished) recipes are deleted with your account. Published recipes are kept so the catalogue and other users' plans keep working, but your name is removed
In-app feedback and attachments Deleted with your account
Website contact form messages 12 months
Website waitlist Until you unsubscribe or the App launches, whichever comes first
Server logs Up to 90 days
Backups Deleted data may remain in encrypted backups for up to 35 days and is then overwritten

Deletion. Use "Delete Account" in Settings, or email info@riov.app. Manual deletion and automatic deletion for inactivity both fully remove:

  • your database records (Cloud Firestore)
  • your stored files, including scanner images, review photos and feedback attachments (Cloud Storage)
  • your sign-in record (Firebase Authentication)

The only exceptions are published recipes (kept with your name removed), the backup period above, and anything we must keep by law. Where the LOPDGDD requires it (art. 32), such data is blocked and kept only to make it available to courts and authorities while legal claims remain possible.

10. Security

We use encryption in transit (TLS), encryption at rest provided by Google Cloud, Firebase security rules that limit each user to their own data, restricted admin roles, and API keys kept server-side. No system is completely secure. If a personal data breach is likely to put your rights at risk, we will notify the AEPD and, where required, you.

11. Your rights

You have the right to:

  • Access your data and receive a copy.
  • Rectification of inaccurate data.
  • Erasure ("right to be forgotten").
  • Restriction of processing.
  • Portability: receive data you provided in a structured, machine-readable format.
  • Objection to processing based on legitimate interest.
  • Withdraw consent at any time, without affecting earlier processing.
  • Not be subject to decisions based solely on automated processing.
  • Digital rights under the LOPDGDD, including leaving instructions about your data after death (art. 3 and art. 96).

To exercise a right, email info@riov.app or use the in-app settings. We will reply within one month. This can be extended by two months for complex requests, in which case we will tell you. We may ask you to verify your identity. Exercising your rights is free.

Complaints: you can complain to the Spanish Data Protection Agency (Agencia Española de Protección de Datos, C/ Jorge Juan 6, 28001 Madrid, www.aepd.es) or to the supervisory authority where you live or work.

12. Minimum age

The legal minimum age to use Riov is 14 (art. 7 LOPDGDD). If you live outside Spain and your country sets a higher age of digital consent (for example 15 in France or 16 in Romania), that age applies. Below that age, we process your data only with the consent of a parent or guardian. To apply one rule everywhere, at sign-up we ask every user to confirm that they are at least 16 years old, or have their parent or guardian's consent. We do not knowingly collect data from children below the applicable age without that consent. If we learn that we have, we will delete it. Parents or guardians can contact info@riov.app.

13. Website, cookies and similar technologies

  • Vercel Analytics: records aggregated page visits without cookies and without storing personal identifiers.
  • Google reCAPTCHA (contact form): may set cookies and collect device and interaction data to detect bots. Google's Privacy Policy and Terms apply.
  • Strictly necessary storage: used only to run the site or App, for example to keep you signed in.
  • App: uses local device storage for sign-in, settings and offline data. It does not use advertising identifiers or third-party advertising trackers. Firebase Analytics is disabled.

We do not use advertising cookies. If we add non-essential cookies, we will ask for your consent first through a cookie banner and update this section.

14. Social sign-in

If you sign in with Google, we receive your name, email address and Google account ID from Google. We do not receive your Google password.

15. Changes to this Policy

We may update this Policy, for example when we incorporate a company or add features. We will tell you about material changes in the App or by email before they take effect. Where a change requires new consent, we will ask for it.

16. Contact

Cristian Dorultan, operating as Riov, Spain · info@riov.app