Politica de confidențialitate – Happy Pretzel
Această politică explică ce date colectează aplicația mobilă Happy Pretzel („aplicația”), de ce le folosim, cu cine le împărțim și ce drepturi ai.
1. Cine răspunde de date
Operatorul datelor este Andrei Drugă, dezvoltatorul aplicației Happy Pretzel. Ne poți contacta oricând la andreixbeea2808@gmail.com.
2. Ce date colectăm
Date de cont
- adresa de email și numele afișat;
- parola, dacă îți creezi cont cu email (o gestionează Firebase Authentication; noi nu o vedem);
- dacă te conectezi cu Google: numele și adresa de email ale contului Google;
- opțional, fotografia de profil și culoarea aleasă în profil.
Date despre gospodărie (grup)
- numele și codul grupului, lista membrilor;
- produsele din inventar și din lista de cumpărături: nume, cantitate, categorie, loc de depozitare, date de cumpărare, deschidere și expirare, cod de bare, imaginea produsului.
Datele grupului sunt vizibile tuturor membrilor grupului. Membrii pot vedea și numele, fotografia de profil și adresa de email a celorlalți membri.
Fotografii, voce și text trimise pentru analiză
- Bonuri fiscale și fotografii de produse: când alegi să scanezi un bon sau un produs, imaginea este trimisă prin serverul nostru (Firebase Cloud Functions) către serviciul Google Gemini, care extrage numele produselor. Noi nu păstrăm imaginea după procesare; Google poate păstra temporar cererile, pentru securitate și detectarea abuzurilor. Te rugăm să nu fotografiezi date personale (de ex. nume sau date de card de pe bon).
- Rețete: lista de ingrediente și preferințele pe care le scrii sunt trimise către Google Gemini pentru a genera o rețetă.
- Rețete scrise de tine: textul și poza, dacă adaugi una, rămân în grupul tău (pozele sunt stocate în Firebase Storage, fără metadatele EXIF, de exemplu locația). Dacă alegi să publici o rețetă, textul, poza și numele din profil devin vizibile tuturor utilizatorilor aplicației, până o retragi sau îți ștergi contul.
- Recunoașterea textului și a codurilor de bare se face direct pe telefon (Google ML Kit).
- Introducerea vocală folosește serviciul de recunoaștere a vorbirii al telefonului (de obicei furnizat de Google). Aplicația primește doar textul rezultat, nu înregistrarea audio.
Căutarea în Open Food Facts
Când cauți un produs după codul de bare, codul este trimis către baza de date publică Open Food Facts.
Notificări
Pentru remindere despre produsele care expiră și despre finalul perioadei de probă salvăm un identificator de notificări al dispozitivului (token Firebase Cloud Messaging).
Abonament și plăți
- Plata o procesează Google Play sau App Store. Noi nu vedem și nu salvăm datele cardului tău.
- Pentru a gestiona abonamentul folosim RevenueCat, căruia îi trimitem identificatorul contului tău din aplicație. RevenueCat primește de la magazin și de la aplicație istoricul cumpărărilor (produs, date, stare, identificatorul tranzacției, magazin și preț) și date tehnice despre dispozitiv.
- Salvăm starea abonamentului tău: planul, dacă e activ, perioada de probă, data expirării, reînnoirea și eventualele probleme de plată.
- Membrii grupului văd dacă grupul are Premium, până când și numele celui care plătește.
- Dacă primești Premium cadou, salvăm identificatorul contului tău și perioada cadoului.
Rapoarte despre conținut
Dacă raportezi o rețetă sau un membru al grupului, salvăm textul rețetei, ingredientele trimise sau numele membrului, motivul ales și comentariul tău, ca să putem verifica problema.
Feedback
Dacă alegi să ne trimiți feedback, formularul se deschide pe Google Forms, cu adresa de email a contului, versiunea aplicației și platforma deja completate. Poți șterge adresa înainte de trimitere; o folosim doar ca să îți răspundem.
Termeni și autori blocați
Salvăm versiunea Termenilor de utilizare pe care ai acceptat-o și data acceptării, împreună cu confirmarea că ai cel puțin 18 ani. Dacă blochezi un autor, lista autorilor blocați rămâne în contul tău și o vezi doar tu.
Date tehnice
Serviciile pe care ne bazăm pot înregistra date tehnice (adresă IP, tipul dispozitivului, jurnale de erori) pentru securitate și funcționare. Pentru protecție împotriva abuzului, numărăm încercările de alăturare la un grup și verificăm că apelurile vin din aplicația originală (Firebase App Check și Google Play Integrity).
3. De ce folosim datele
- pentru a-ți oferi funcțiile aplicației: cont, inventar comun, liste de cumpărături, scanare, rețete, notificări, abonamentul Premium (temei legal: executarea contractului – art. 6 alin. (1) lit. b GDPR);
- pentru acces la cameră, microfon și notificări – doar cu permisiunea pe care ți-o cere telefonul și pe care o poți retrage oricând din setări (consimțământ – lit. a);
- pentru a citi feedback-ul pe care alegi să ni-l trimiți și a-ți răspunde (consimțământ – lit. a);
- pentru securitate, prevenirea abuzului și verificarea rapoartelor despre conținut AI (interes legitim – lit. f).
Nu vindem datele tale, nu afișăm reclame și nu folosim datele pentru profilare publicitară.
4. Cu cine împărțim datele
- Google (Firebase și Gemini API) – găzduire, autentificare, bază de date, funcții server, notificări și analiza imaginilor/textului cu AI;
- Google Forms – mesajele de feedback pe care alegi să le trimiți;
- Google Play și App Store – cumpărarea și plata abonamentului;
- RevenueCat, Inc. – gestionarea și verificarea abonamentelor;
- Open Food Facts – codurile de bare pe care le cauți;
- autorităților, doar dacă legea ne obligă.
Unii dintre acești furnizori pot procesa date în afara Spațiului Economic European (de ex. în SUA), pe baza garanțiilor prevăzute de GDPR (clauze contractuale standard sau EU-US Data Privacy Framework).
5. Cât timp păstrăm datele
- datele contului – până când îți ștergi contul;
- produsele unui grup – cât timp grupul există; dacă ești ultimul membru și îți ștergi contul, grupul este șters cu tot conținutul lui;
- imaginile trimise pentru scanare – nu le păstrăm după procesare;
- starea abonamentului – până când îți ștergi contul; istoricul cumpărărilor rămâne la magazin și la RevenueCat cât e necesar pentru obligații legale și fiscale, iar din RevenueCat îl ștergem la cerere, când legea permite;
- rapoartele – cât timp e nevoie pentru verificarea lor, pentru securitate și prevenirea abuzurilor;
- mesajele de feedback – cât timp e nevoie ca să le analizăm și să îți răspundem. Nu se șterg automat odată cu contul; le ștergem la cerere.
6. Ștergerea contului
Îți poți șterge contul direct din aplicație: Profil → Șterge contul. Dacă nu mai ai acces la aplicație, urmează pașii de pe pagina de ștergere a contului. Ștergerea contului nu anulează abonamentul: îl anulezi din contul tău din magazin.
7. Drepturile tale
Ai dreptul să ceri acces la datele tale, rectificarea sau ștergerea lor, restricționarea prelucrării, portabilitatea datelor și să te opui prelucrării. Scrie-ne la andreixbeea2808@gmail.com. Ai și dreptul să depui o plângere la Autoritatea Națională de Supraveghere a Prelucrării Datelor cu Caracter Personal (www.dataprotection.ro).
8. Securitate
Datele sunt transmise criptat (HTTPS), iar accesul la baza de date este restricționat prin reguli de securitate, astfel încât fiecare utilizator vede doar datele propriului grup.
9. Copii
Aplicația se adresează persoanelor de cel puțin 18 ani și nu colectăm intenționat date de la minori.
10. Modificări
Dacă modificăm această politică, actualizăm data de mai sus și, pentru schimbări importante, te anunțăm în aplicație.
Privacy Policy – Happy Pretzel
This policy explains what data the Happy Pretzel mobile app (“the app”) collects, why we use it, who we share it with, and what rights you have.
1. Who is responsible
The data controller is Andrei Drugă, the developer of Happy Pretzel. Contact us at andreixbeea2808@gmail.com.
2. Data we collect
Account data
- email address and display name;
- your password, if you sign up with email (handled by Firebase Authentication; we never see it);
- if you sign in with Google: the name and email of your Google account;
- optionally, a profile photo and the colour you pick in your profile.
Household (group) data
- group name and code, list of members;
- inventory and shopping-list items: name, quantity, category, storage place, purchase, opening and expiry dates, barcode, product image.
Group data is visible to all members of the group. Members can also see the other members’ names, profile photos and email addresses.
Photos, voice and text sent for analysis
- Receipts and product photos: when you choose to scan a receipt or a product, the image is sent through our server (Firebase Cloud Functions) to Google Gemini, which extracts the product names. We do not keep the image after processing; Google may temporarily keep requests for security and abuse detection. Please avoid photographing personal details (e.g. names or card details printed on a receipt).
- Recipes: the ingredient list and any preferences you type are sent to Google Gemini to generate a recipe.
- Recipes you write: the text and any photo you add stay in your group (photos are stored in Firebase Storage, without EXIF metadata such as location). If you choose to publish a recipe, its text, photo and your profile name become visible to everyone using the app, until you withdraw it or delete your account.
- Text and barcode recognition run on your phone (Google ML Kit).
- Voice input uses your phone’s speech-recognition service (usually provided by Google). The app only receives the resulting text, not the audio.
Open Food Facts lookups
When you look up a product by barcode, the barcode is sent to the public Open Food Facts database.
Notifications
To remind you about expiring products and the end of a free trial we store a device notification identifier (Firebase Cloud Messaging token).
Subscription and payments
- Payments are processed by Google Play or the App Store. We never see or store your card details.
- To manage subscriptions we use RevenueCat, to which we send your in-app account identifier. RevenueCat receives purchase history from the store and the app (product, dates, status, transaction identifier, store and price) and technical data about the device.
- We store your subscription status: the plan, whether it is active, the free trial, the expiry date, renewal and any payment problems.
- Group members can see whether the group has Premium, until when, and the name of the person who pays.
- If you receive gifted Premium, we store your account identifier and the gift period.
Reports about content
If you report a recipe or a group member, we store the recipe text, the ingredients sent or the member’s name, the reason you chose and your comment so we can review the issue.
Feedback
If you choose to send us feedback, the form opens on Google Forms with your account’s email address, the app version and the platform already filled in. You can remove the address before sending; we only use it to reply to you.
Terms and blocked authors
We store the version of the Terms of Use you accepted and the date, together with your confirmation that you are 18 or over. If you block an author, the list of blocked authors stays in your account and only you can see it.
Technical data
The services we rely on may log technical data (IP address, device type, error logs) for security and operation. To prevent abuse, we count attempts to join a group and check that requests come from the genuine app (Firebase App Check and Google Play Integrity).
3. Why we use it
- to provide the app’s features: account, shared inventory, shopping lists, scanning, recipes, notifications, the Premium subscription (legal basis: performance of a contract – GDPR Art. 6(1)(b));
- camera, microphone and notification access – only with the permission your phone asks for, which you can withdraw at any time in settings (consent – Art. 6(1)(a));
- reading the feedback you choose to send us and replying to you (consent – Art. 6(1)(a));
- security, abuse prevention and reviewing reports about AI content (legitimate interest – Art. 6(1)(f)).
We do not sell your data, show ads, or use your data for advertising profiles.
4. Who we share it with
- Google (Firebase and Gemini API) – hosting, authentication, database, server functions, notifications and AI analysis of images/text;
- Google Forms – the feedback messages you choose to send;
- Google Play and the App Store – buying and paying for the subscription;
- RevenueCat, Inc. – managing and verifying subscriptions;
- Open Food Facts – the barcodes you look up;
- authorities, only where required by law.
Some of these providers may process data outside the European Economic Area (e.g. in the US), relying on GDPR safeguards (standard contractual clauses or the EU-US Data Privacy Framework).
5. How long we keep it
- account data – until you delete your account;
- group items – as long as the group exists; if you are the last member and delete your account, the group and everything in it is deleted;
- images sent for scanning – not kept after processing;
- subscription status – until you delete your account; purchase history stays with the store and RevenueCat for as long as needed for legal and tax obligations, and we delete it from RevenueCat on request, where the law allows;
- reports – for as long as needed to review them, for security and to prevent abuse;
- feedback messages – for as long as needed to review them and reply to you. They are not deleted automatically with your account; we delete them on request.
6. Deleting your account
You can delete your account in the app: Profile → Delete account (“Șterge contul”). If you no longer have access to the app, follow the steps on the account deletion page. Deleting your account does not cancel your subscription: you cancel it from your store account.
7. Your rights
You can request access to, correction or deletion of your data, restriction of processing and data portability, and you can object to processing. Email us at andreixbeea2808@gmail.com. You may also lodge a complaint with your data protection authority (in Romania: ANSPDCP, www.dataprotection.ro).
8. Security
Data is encrypted in transit (HTTPS), and database access is restricted by security rules so each user only sees their own group’s data.
9. Children
The app is intended for people aged 18 or over and we do not knowingly collect data from minors.
10. Changes
If we change this policy, we will update the date above and, for significant changes, let you know in the app.