Politique de confidentialité
1. Responsable de traitement
MyDreamDrop est une application mobile de wishlists collaboratives (Android), éditée par MLK Studio (France).
Le responsable de traitement au sens du Règlement Général sur la Protection des Données (UE 2016/679, ci-après « RGPD ») est MLK Studio.
Contact : contact@mydreamdrop.com
2. Données collectées
2.1 Données fournies par l'utilisateur
- Compte : adresse email, nom ou pseudo, mot de passe (haché côté serveur, jamais stocké en clair), avatar (optionnel).
- Profil (facultatif) : numéro de téléphone, date de naissance, pays et bio, si vous choisissez de les renseigner. Ils servent à compléter votre profil et peuvent être modifiés ou effacés à tout moment ; ils sont inclus dans l'export et la suppression de compte.
- Contenu créé : wishlists (titres, descriptions), envies (noms, liens de produits, prix saisis ou récupérés, images, tags, priorités), réservations.
- Listes suivies : les listes d'autres personnes que vous ouvrez par leur lien dans l'app (onglet Explorer), pour vous envoyer un rappel 7 jours avant leur date puis la veille. Retirer une liste d'Explorer supprime ce suivi.
- Messages « Nous écrire » : quand vous nous écrivez depuis l'app, nous enregistrons votre message, le sujet choisi s'il y en a un, l'écran d'où vous écrivez (sans lien de partage), la version de l'app, la plateforme, la langue, la date et votre compte s'il y en a un. Ni adresse IP, ni adresse e-mail. Votre adresse IP sert seulement, sur le moment, à limiter les abus.
- Signalements de listes : quand une liste est signalée (« Signaler cette liste », dans l'app ou sur la page web d'une liste), nous enregistrons la liste concernée, le motif choisi, le texte facultatif, la date, le compte de la personne qui signale si elle est connectée et, sinon, une empreinte chiffrée à sens unique de son adresse IP (jamais l'adresse elle-même). L'empreinte sert à compter les personnes distinctes et à limiter les abus. La personne qui a créé la liste ne sait pas qui l'a signalée.
- Pages produit : quand un site marchand bloque notre serveur, l'app ouvre la page produit sur votre téléphone et nous en envoie une copie (sans scripts) pour y lire le nom, l'image et le prix. Cette copie n'est pas conservée.
- Préférences : langue, paramètres de notifications, choix de confidentialité (opt-out télémétrie crash).
- Infos cadeaux (facultatif) : tailles (pointure, vêtements, tour de doigt, cadran de montre) et préférences de goût que vous choisissez de renseigner, ainsi que la taille souhaitée éventuellement indiquée sur une envie. Privées par défaut ; si vous activez l'option dédiée (Profil → « Mes infos cadeaux »), elles sont visibles uniquement par les personnes ayant accès à l'une de vos listes partagées, pour les aider à choisir un cadeau. Modifiables et effaçables à tout moment ; incluses dans l'export et la suppression de compte (RGPD art. 17 et 20).
2.2 Données collectées automatiquement
- Token de notification push (FCM) : identifiant technique attribué par Firebase Cloud Messaging à l'installation de l'app sur un appareil, utilisé uniquement pour acheminer les notifications push.
- Abonnement aux notifications de l'app web : si vous activez les notifications dans l'app web (app.mydreamdrop.com), votre navigateur nous transmet l'adresse de son service de notification (Google pour Chrome et Android, Apple pour l'iPhone et Safari, Mozilla pour Firefox, Microsoft pour Edge sur Windows) et deux clés de chiffrement. Nous les gardons avec le nom du navigateur et du système (« user agent ») et la date de la dernière ouverture de l'app sur cet appareil, uniquement pour vous envoyer vos notifications. Leur contenu est chiffré pour votre seul navigateur : le service de notification ne peut pas le lire. « Désactiver ici » (Profil), la déconnexion sur cet appareil ou la suppression du compte les retirent.
- Identifiants techniques : horodatages de connexion, identifiants de session Supabase (JWT), informations basiques sur l'appareil (modèle, OS, version de l'app), collectés par l'infrastructure d'authentification.
- Données de stabilité (opt-in) : si vous activez la télémétrie crash (Profil → Confidentialité → « Rapports de plantage anonymes »), les rapports de plantage sont envoyés à Firebase Crashlytics. Aucune donnée personnelle (email, téléphone) n'est transmise ; seul votre identifiant utilisateur interne est associé pour relier les rapports. Par défaut, cette option est désactivée.
- Erreurs de l'application : quand l'application (version web app.mydreamdrop.com ou application Android) rencontre une erreur, un rapport technique est enregistré sur nos serveurs (message d'erreur, version de l'application, navigateur ou système, et pour le web la page concernée sans ses paramètres ni jeton de partage). Aucun identifiant de compte, e-mail ni adresse IP n'y est associé. Ces rapports nous servent uniquement à corriger les erreurs.
- Signal de présence : tant que l'application (web ou Android) est ouverte au premier plan, elle envoie toutes les 2 minutes un signal technique qui contient uniquement un identifiant de session tiré au hasard à chaque ouverture de l'application (gardé en mémoire, jamais enregistré sur l'appareil) et la plateforme (web, Android…). Il part sans la session de connexion : il n'est rattaché à aucun compte, et le signal enregistré ne contient ni e-mail ni adresse IP. Comme pour toute requête, notre hébergeur (Supabase) voit l'adresse IP de l'appareil et la garde dans ses journaux techniques (1 jour avec l'offre actuelle). Ce signal sert seulement à compter les personnes qui ont l'application ouverte en ce moment.
2.3 Données via Google Sign-In (si vous choisissez cette méthode)
Si vous vous connectez via votre compte Google, Google nous transmet votre adresse email, votre nom complet et votre photo de profil. Aucune autre donnée Google n'est collectée (pas d'accès aux contacts, à l'agenda, à Gmail, etc.).
3. Finalités et bases légales
| Finalité | Base légale (RGPD) |
|---|---|
| Création et gestion du compte utilisateur | Exécution du contrat (Art. 6.1.b) |
| Stockage et synchronisation des wishlists, envies, réservations | Exécution du contrat (Art. 6.1.b) |
| Notifications push (réservations, partages, événements famille) | Exécution du contrat (Art. 6.1.b) |
| Partage de wishlists par lien public ou avec d'autres utilisateurs | Exécution du contrat (Art. 6.1.b) |
| Rapports de plantage anonymisés (Crashlytics) | Consentement explicite, opt-in (Art. 6.1.a), désactivé par défaut |
| Rapports d'erreur de l'application (web et Android), sans identifiant | Intérêt légitime (Art. 6.1.f) : corriger les erreurs |
| Signal de présence sans identifiant (nombre de personnes qui ont l'application ouverte en ce moment) | Intérêt légitime (Art. 6.1.f) : suivre l'activité et la disponibilité du service |
| Messages « Nous écrire » (souci, idée, autre) | Intérêt légitime (Art. 6.1.f) : répondre aux retours et améliorer l'application |
| Traitement des signalements de listes (modération du contenu visible par d'autres) | Intérêt légitime (Art. 6.1.f) : protéger les utilisateurs et respecter les règles des boutiques d'applications |
| Sécurité : prévention des abus, journaux d'authentification | Intérêt légitime (Art. 6.1.f) |
4. Durée de conservation
- Compte actif : tant que vous utilisez l'application.
- Suppression de compte : si vous demandez la suppression via Profil → « Supprimer mon compte », vos données personnelles (email, profil, wishlists, envies, réservations) sont marquées supprimées immédiatement (compte réactivable pendant 30 jours par une nouvelle connexion) puis purgées définitivement sous 30 jours maximum, hors obligations légales de conservation.
- Journaux de sécurité (logs d'authentification) : 12 mois maximum.
- Rapports Crashlytics : 90 jours (paramètre par défaut Firebase).
- Rapports d'erreur de l'application : 30 jours.
- Messages « Nous écrire » : 180 jours, puis effacés automatiquement ; tout de suite si vous supprimez votre compte.
- Signalements de listes : 1 an au plus, puis effacés automatiquement.
- Signal de présence : effacé au plus tard 15 minutes après le dernier signal (journaux techniques de l'hébergeur : 1 jour, voir 2.2).
- Abonnements aux notifications de l'app web : jusqu'à leur désactivation, la déconnexion sur l'appareil ou la suppression du compte ; retirés plus tôt si l'app n'a pas été ouverte sur cet appareil depuis 6 mois, ou si le service de notification les déclare expirés.
- Données fiscales / comptables : aucune actuellement (MyDreamDrop est gratuite et n'effectue pas de transactions financières).
5. Sous-traitants et hébergement
Pour fonctionner, MyDreamDrop s'appuie sur les sous-traitants suivants. Chacun agit sous notre instruction et est soumis à un accord de traitement des données conforme au RGPD.
| Sous-traitant | Rôle | Localisation des données |
|---|---|---|
| Supabase (Supabase Inc.) | Base de données (PostgreSQL), authentification, stockage de fichiers, Edge Functions | Union européenne (Francfort, Allemagne) |
| Google Firebase (Google Ireland Limited) | Notifications push (Cloud Messaging), rapports de plantage (Crashlytics, opt-in) | États-Unis / multi-régions Google |
| Cloudflare (Cloudflare, Inc.) | DNS, hébergement du site et de la présente politique | Réseau mondial Cloudflare |
| Cloudflare Turnstile (Cloudflare, Inc.) | Protection anti-abus à la connexion, à l'inscription et à la réinitialisation du mot de passe : vérifie qu'une personne, et non un robot, fait la demande (adresse IP et signaux techniques du navigateur ou de l'appareil) | Réseau mondial Cloudflare (dont États-Unis) |
| Jina AI | Lecture des pages produit à partir du lien que vous collez dans une envie : seul le lien de la page produit lui est transmis, pour en extraire le nom, l'image et le prix | Infrastructure du fournisseur (Union européenne et États-Unis possibles) |
| Services de notification des navigateurs (Google, Apple, Mozilla, Microsoft) | Acheminement des notifications de l'app web, si vous les activez : le service de votre navigateur reçoit chaque notification chiffrée pour ce seul navigateur, sans pouvoir la lire | Infrastructure du fournisseur (dont États-Unis) |
| Discord (Discord Inc.) | Alertes techniques internes à l'équipe : erreurs de l'application (type d'erreur, plateforme, version) et messages « Nous écrire » (début du texte, adresses e-mail, liens et numéros masqués, sans identifiant de compte) ; listes signalées (lien de la liste et motif, sans rien sur la personne qui signale ni son texte). Aucune adresse e-mail ni aucun identifiant de compte n'y est envoyé. | États-Unis |
6. Transferts hors UE
Les données stockées dans la base principale Supabase sont hébergées dans l'Union européenne. Les services Google Firebase (notifications push et, si vous l'activez, rapports de plantage) peuvent impliquer des transferts vers les États-Unis. Ces transferts sont encadrés par les clauses contractuelles types de la Commission européenne et le EU-U.S. Data Privacy Framework, garantissant un niveau de protection adéquat.
Il en va de même pour Cloudflare (réseau mondial, dont la protection anti-abus Turnstile), Discord (alertes techniques, y compris le début d'un message « Nous écrire »), les services de notification des navigateurs (notifications de l'app web, chiffrées) et Jina AI (lien de la page produit à lire), dont les traitements peuvent avoir lieu aux États-Unis : ils sont encadrés par les mêmes garanties (clauses contractuelles types ou EU-U.S. Data Privacy Framework, selon le fournisseur).
7. Sécurité
- Chiffrement TLS 1.2+ pour toutes les communications client ↔ serveur.
- Chiffrement au repos des bases de données (AES-256, géré par Supabase).
- Mots de passe hachés avec bcrypt (jamais stockés en clair).
- Politique RLS (Row-Level Security) PostgreSQL : chaque utilisateur ne peut accéder qu'à ses propres données ou à celles explicitement partagées avec lui.
- Audits de sécurité internes réguliers (cf. journal d'audit projet).
8. Traceurs et télémétrie
MyDreamDrop ne contient aucun pixel publicitaire ni traceur tiers à but marketing (pas de Google Analytics, pas de Facebook Pixel, pas de Mixpanel, etc.).
Le seul traceur technique est Firebase Crashlytics pour la stabilité, et il est désactivé par défaut. Vous pouvez l'activer ou le désactiver à tout moment depuis Profil → Données & Confidentialité → Rapports de plantage anonymes.
Le signal de présence décrit en 2.2 n'est pas un traceur : il n'enregistre rien sur l'appareil, n'est rattaché à aucun compte, change à chaque ouverture de l'application, et sert uniquement à compter les personnes qui ont l'application ouverte en ce moment.
9. Liens affiliés
Aujourd'hui, MyDreamDrop n'ajoute aucun identifiant d'affiliation aux liens des envies, et n'en perçoit aucune commission. Comme le prévoient les conditions d'utilisation, MyDreamDrop pourra plus tard introduire des liens marchands rémunérés (affiliation). Le cas échéant, ces liens seront signalés comme tels, n'entraîneront aucun surcoût pour vous, et cette politique sera mise à jour avant leur mise en place. Une telle mécanique n'impliquerait aucune transmission de vos données personnelles aux marchands ni aux plateformes d'affiliation au-delà des cookies standards de votre navigateur lors du clic.
10. Vos droits RGPD
Conformément aux articles 15 à 22 du RGPD, vous disposez à tout moment des droits suivants :
- Droit d'accès : obtenir une copie de toutes vos données (export JSON disponible depuis Profil → Exporter mes données, conformément à l'article 20 sur la portabilité).
- Droit de rectification : corriger les données inexactes via Profil → Modifier le profil.
- Droit à l'effacement (« droit à l'oubli ») : supprimer votre compte et toutes vos données via Profil → Supprimer mon compte.
- Droit à la portabilité : export JSON de vos données (cf. droit d'accès).
- Droit d'opposition / retrait du consentement : désactiver les rapports de plantage à tout moment.
- Droit d'introduire une réclamation auprès de la CNIL : www.cnil.fr/fr/plaintes.
Pour exercer ces droits, écrivez à contact@mydreamdrop.com. Nous vous répondrons sous un mois maximum.
11. Modifications de la politique
Nous pouvons mettre à jour cette politique pour refléter des évolutions de l'application ou de la réglementation. La date en haut de page indique la version en vigueur. En cas de modification substantielle (nouvelle catégorie de données, nouveau sous-traitant), vous serez notifié via l'application avant l'entrée en vigueur.
12. Contact
Pour toute question relative à vos données personnelles ou à cette politique :
MLK Studio
Email : contact@mydreamdrop.com
1. Data controller
MyDreamDrop is a collaborative wishlist mobile app (Android), published by MLK Studio (France).
The data controller within the meaning of the General Data Protection Regulation (EU 2016/679, "GDPR") is MLK Studio.
Contact: contact@mydreamdrop.com
2. Data we collect
2.1 Data provided by the user
- Account: email address, name or username, password (server-side hashed, never stored in clear), avatar (optional).
- Profile (optional): phone number, date of birth, country and bio, if you choose to fill them in. They complete your profile, can be edited or erased at any time, and are included in the data export and account deletion.
- User-generated content: wishlists (titles, descriptions), wishes (names, product URLs, prices entered or scraped, images, tags, priorities), reservations.
- Followed lists: other people's lists you open through their link in the app (Explore tab), so we can remind you 7 days before their date and the day before. Removing a list from Explore deletes this record.
- "Write to us" messages: when you write to us from the app, we store your message, the topic you chose if any, the screen you write from (without any share link), the app version, the platform, the language, the date and your account if you are signed in. No IP address, no email address. Your IP address is only used, at that moment, to limit abuse.
- List reports: when a list is reported ("Report this list", in the app or on a list's web page), we store the list concerned, the chosen reason, the optional text, the date, the account of the person reporting if they are signed in and, otherwise, a one-way encrypted fingerprint of their IP address (never the address itself). The fingerprint is used to count distinct people and to limit abuse. The person who created the list does not know who reported it.
- Product pages: when a merchant website blocks our server, the app opens the product page on your phone and sends us a copy (without scripts) to read the name, image and price. This copy is not stored.
- Preferences: language, notification settings, privacy choices (crash telemetry opt-out).
- Gift info (optional): sizes (shoe, clothing, ring, watch dial) and taste preferences you choose to fill in, as well as the desired size optionally set on a wish. Private by default; if you enable the dedicated option (Profile → "My gift info"), they are visible only to people who have access to one of your shared lists, to help them pick a gift. Editable and erasable at any time; included in data export and account deletion (GDPR art. 17 and 20).
2.2 Data collected automatically
- Push notification token (FCM): a technical identifier assigned by Firebase Cloud Messaging when the app is installed on a device, used solely to deliver push notifications.
- Web app notification subscription: if you turn on notifications in the web app (app.mydreamdrop.com), your browser gives us the address of its notification service (Google for Chrome and Android, Apple for iPhone and Safari, Mozilla for Firefox, Microsoft for Edge on Windows) and two encryption keys. We keep them with the browser and system name ("user agent") and the date the app was last opened on that device, solely to send you your notifications. Their content is encrypted for your browser only: the notification service cannot read it. "Turn off here" (Profile), signing out on that device or deleting the account removes them.
- Technical identifiers: login timestamps, Supabase session identifiers (JWT), basic device info (model, OS, app version), collected by the authentication infrastructure.
- Stability data (opt-in): if you enable crash telemetry (Profile → Privacy → "Anonymous crash reports"), crash reports are sent to Firebase Crashlytics. No personal data (email, phone) is transmitted; only your internal user identifier is attached to correlate reports. This option is disabled by default.
- App errors: when the app (web version app.mydreamdrop.com or Android app) hits an error, a technical report is stored on our servers (error message, app version, browser or system, and for the web the page concerned without its parameters or share token). No account identifier, email or IP address is attached. These reports are only used to fix errors.
- Presence signal: while the app (web or Android) is open in the foreground, it sends a technical signal every 2 minutes that only contains a session identifier drawn at random each time the app is opened (kept in memory, never stored on the device) and the platform (web, Android…). It is sent without the login session: it is not linked to any account, and the stored signal contains no email or IP address. As with any request, our host (Supabase) sees the device's IP address and keeps it in its technical logs (1 day on the current plan). This signal is only used to count how many people have the app open right now.
2.3 Data via Google Sign-In (if you choose this method)
If you sign in via your Google account, Google transmits your email address, full name, and profile picture to us. No other Google data is collected (no access to contacts, calendar, Gmail, etc.).
3. Purposes and legal bases
| Purpose | Legal basis (GDPR) |
|---|---|
| Account creation and management | Performance of a contract (Art. 6.1.b) |
| Storing and syncing wishlists, wishes, reservations | Performance of a contract (Art. 6.1.b) |
| Push notifications (reservations, shares, family events) | Performance of a contract (Art. 6.1.b) |
| Sharing wishlists via public link or with other users | Performance of a contract (Art. 6.1.b) |
| Anonymized crash reports (Crashlytics) | Explicit consent, opt-in (Art. 6.1.a), disabled by default |
| App error reports (web and Android), without identifier | Legitimate interest (Art. 6.1.f): fixing errors |
| Presence signal without identifier (number of people who have the app open right now) | Legitimate interest (Art. 6.1.f): monitoring service activity and availability |
| "Write to us" messages (problem, idea, other) | Legitimate interest (Art. 6.1.f): answering feedback and improving the app |
| Handling list reports (moderation of content visible to others) | Legitimate interest (Art. 6.1.f): protecting users and complying with app store rules |
| Security: abuse prevention, authentication logs | Legitimate interest (Art. 6.1.f) |
4. Retention periods
- Active account: as long as you use the app.
- Account deletion: when you request deletion via Profile → "Delete my account", your personal data (email, profile, wishlists, wishes, reservations) is marked deleted immediately (the account can be reactivated for 30 days by signing in again) and permanently purged within 30 days, except for legally required retention.
- Security logs (authentication): up to 12 months.
- Crashlytics reports: 90 days (Firebase default).
- App error reports: 30 days.
- "Write to us" messages: 180 days, then deleted automatically; right away if you delete your account.
- List reports: 1 year at most, then deleted automatically.
- Presence signal: deleted at the latest 15 minutes after the last signal (host technical logs: 1 day, see 2.2).
- Web app notification subscriptions: until they are turned off, you sign out on the device or delete the account; removed sooner if the app has not been opened on that device for 6 months, or if the notification service reports them expired.
- Tax / accounting data: none currently (MyDreamDrop is free and does not process financial transactions).
5. Subprocessors and hosting
To operate, MyDreamDrop relies on the following subprocessors. Each acts under our instruction and is bound by a data processing agreement compliant with GDPR.
| Subprocessor | Role | Data location |
|---|---|---|
| Supabase (Supabase Inc.) | Database (PostgreSQL), authentication, file storage, Edge Functions | European Union (Frankfurt, Germany) |
| Google Firebase (Google Ireland Limited) | Push notifications (Cloud Messaging), crash reports (Crashlytics, opt-in) | United States / Google multi-region |
| Cloudflare (Cloudflare, Inc.) | DNS, hosting of the website and of this policy | Cloudflare global network |
| Cloudflare Turnstile (Cloudflare, Inc.) | Anti-abuse protection on sign-in, sign-up and password reset: checks that a person, not a bot, makes the request (IP address and technical signals from the browser or device) | Cloudflare global network (including the United States) |
| Jina AI | Reading product pages from the link you paste into a wish: only the product page link is sent, to extract its name, image and price | Provider infrastructure (European Union and possibly the United States) |
| Browser notification services (Google, Apple, Mozilla, Microsoft) | Delivery of web app notifications, if you turn them on: your browser's service receives each notification encrypted for that browser only, and cannot read it | Provider infrastructure (including United States) |
| Discord (Discord Inc.) | Internal technical alerts for the team: app errors (error type, platform, version) and "Write to us" messages (start of the text, with email addresses, links and numbers masked, no account identifier); reported lists (link to the list and reason, with nothing about the person reporting nor their text). No email address or account identifier is sent. | United States |
6. Transfers outside the EU
Data stored in the main Supabase database is hosted in the European Union. Google Firebase services (push notifications and, if enabled, crash reports) may involve transfers to the United States. These transfers are governed by the European Commission's Standard Contractual Clauses and the EU-U.S. Data Privacy Framework, ensuring an adequate level of protection.
The same applies to Cloudflare (global network, including the Turnstile anti-abuse protection), Discord (technical alerts, including the start of a "Write to us" message), browser notification services (web app notifications, encrypted) and Jina AI (the product page link to read), whose processing may take place in the United States: it is covered by the same safeguards (Standard Contractual Clauses or the EU-U.S. Data Privacy Framework, depending on the provider).
7. Security
- TLS 1.2+ encryption for all client ↔ server communications.
- Database encryption at rest (AES-256, handled by Supabase).
- Passwords hashed with bcrypt (never stored in clear).
- PostgreSQL Row-Level Security (RLS) policies: each user can only access their own data or what is explicitly shared with them.
- Regular internal security audits (see project audit log).
8. Trackers and telemetry
MyDreamDrop contains no advertising pixel or third-party marketing tracker (no Google Analytics, no Facebook Pixel, no Mixpanel, etc.).
The only technical tracker is Firebase Crashlytics for stability, and it is disabled by default. You can enable or disable it at any time via Profile → Data & Privacy → Anonymous crash reports.
The presence signal described in 2.2 is not a tracker: it stores nothing on the device, is not linked to any account, changes each time the app is opened, and is only used to count how many people have the app open right now.
9. Affiliate links
Today, MyDreamDrop adds no affiliate identifier to wish links: links to and earns no commission from them. As stated in the terms of use, MyDreamDrop may later introduce paid merchant links (affiliate links). If so, these links will be labelled as such, will cost you nothing extra, and this policy will be updated before they are introduced. Such a mechanism would involve no transmission of your personal data to merchants or affiliate platforms beyond the standard browser cookies set when clicking.
10. Your GDPR rights
In accordance with Articles 15 to 22 of the GDPR, you have the following rights at any time:
- Right of access: obtain a copy of all your data (JSON export available via Profile → Export my data, in compliance with Article 20 on portability).
- Right to rectification: correct inaccurate data via Profile → Edit profile.
- Right to erasure ("right to be forgotten"): delete your account and all your data via Profile → Delete my account.
- Right to portability: JSON export of your data (see right of access).
- Right to object / withdraw consent: disable crash reports at any time.
- Right to lodge a complaint with the French data protection authority (CNIL): www.cnil.fr/en/plaints.
To exercise these rights, email contact@mydreamdrop.com. We will respond within one month.
11. Changes to this policy
We may update this policy to reflect changes to the app or applicable regulations. The date at the top of the page indicates the current version. For material changes (new data categories, new subprocessor), you will be notified in-app before they take effect.
12. Contact
For any questions about your personal data or this policy:
MLK Studio
Email: contact@mydreamdrop.com