Privacy Policy / Politique de confidentialité — Slushi Party
Last updated: 2026-08-26
Canonical public policy URL for Apple and Google submissions:
https://awbsbabypxutwbbrxqzg.supabase.co/storage/v1/object/public/legal/slushi-party/privacy-policy.html
English
Slushi Party is a recipe application that works primarily on the device. This policy describes the current Store release configuration. Review it and the Store disclosures again if services or SDKs change.
Accounts and local data
The app does not provide account registration or sign-in. Machine choice, language/theme preferences, favourites, downloaded recipe cache, personal recipes, party plans, shopping lists, and an opaque Premium access grant may be stored on the device. On native platforms, the Premium grant is stored with the operating system secure-storage facility; on web it is memory-only and disappears when the page reloads.
Personal recipes are created and stored locally on the device. Slushi Party does not upload them to a user account or cloud profile.
Recipe catalogue and images
The app can request the published recipe catalogue and public recipe images from Supabase. Supabase receives the technical request information needed to deliver those resources, such as network and device/client metadata handled by its infrastructure. The app does not use the catalogue to create a user profile.
Premium recipe payloads are returned only by a Supabase server function after it receives a valid, non-revoked, unexpired opaque access grant. The raw grant is not stored by the server; it stores a SHA-256 digest of the grant. The 0064 database cutover blocks direct anonymous or authenticated reads of those payloads.
Recipe ratings and integrity checks
The app lets users submit a one-to-five-star recipe rating without a comment. It stores a randomly generated installation identifier and that installation's selected ratings locally. The installation identifier is sent over an encrypted connection to a Supabase server function and transformed there with a secret-key HMAC before the protected database write. New raw installation identifiers are not stored in the rating table.
On Android, rating submissions use Google Play Integrity. Google processes an integrity request tied to the rating action and returns app-recognition, device-integrity, and Play-licensing verdicts to the server function. The server accepts a rating only when the required verdicts and request hash match.
On iOS, rating submissions use Apple App Attest when it is supported by the device. The app registers an App Attest key and submits a server-challenged assertion for each rating; the server verifies the assertion and rejects replayed counters. The server stores a protected hash of the App Attest key identifier rather than the raw identifier.
Only one current verified rating per installation and recipe is retained, submissions are rate-limited, individual rating rows are never publicly readable, and the public average and count appear only after at least five verified ratings. Historical identifiers from the former direct-write system remain inaccessible to public clients and are excluded from verified community averages.
Slushi Mixology Premium purchase
Slushi Mixology Premium is a one-time, non-consumable in-app purchase: product identifier slushi_mixology_lifetime, with a French reference price of €6.99. Apple or Google processes payment details; Slushi Party does not receive or store card or bank information. The price displayed in the app is the localized Store price.
Before Premium is unlocked or restored, the app sends the Store platform, product identifier, and platform transaction proof over an encrypted connection to a Supabase server function. The function verifies the transaction directly with Apple or Google. Raw transaction proofs are not retained; Supabase stores a SHA-256 fingerprint and the Premium product identifier to validate purchases and issue short-lived opaque Premium access grants. Restoration is tied to the purchaser's Store account on the same platform; there is no Slushi account and no automatic Apple-to-Google portability.
TestFlight diagnostic builds may send a short-lived, App-Attest-protected purchase timeline to Supabase to identify whether an attempt stopped in StoreKit, server verification, transaction finalisation, or local Premium activation. It contains a random attempt code, event timestamps, the localized storefront country/currency/price, safe status categories, and booleans indicating whether StoreKit returned a proof or transaction identifier. It never contains the proof, transaction identifier, Premium grant, free-text native error, account identifier, or device identifier. These diagnostic rows are restricted to the server role and automatically deleted after 14 days.
The current Store app does not present the former voluntary-support purchases or support-vote flow. The verification backend retains compatibility handling for already-installed legacy clients and their historical support records where needed; that legacy path is not a Premium offer in the current app.
Third-party services
The app uses Expo/React Native, Apple StoreKit and App Attest, Google Play Billing and Play Integrity, and Supabase for the catalogue, public images, rating storage, purchase verification, and protected Premium delivery. This policy does not assert how third-party providers independently retain operational logs; consult their applicable terms and privacy information. If analytics, crash reporting, ads, cloud synchronisation, authentication, or another data service is added, review this policy and Store disclosures before release.
Children and contact
Slushi Party is not directed at children. Some recipes may include alcoholic drinks; users should follow the applicable age and alcohol rules where they live.
For privacy questions, contact the app publisher at mora.stephane@gmail.com.
Français
Slushi Party est une application de recettes qui fonctionne principalement sur l'appareil. Cette politique décrit la configuration actuelle de la version Store. Elle doit être revue, avec les déclarations des stores, si les services ou SDK changent.
Comptes et données locales
L'application ne propose ni création de compte ni connexion. Le choix de machine, les préférences de langue/thème, les favoris, le cache de recettes téléchargées, les recettes personnelles, les plans de soirée, les listes de courses et un jeton opaque d'accès Premium peuvent être conservés sur l'appareil. Sur les plateformes natives, ce jeton est stocké au moyen du stockage sécurisé du système d'exploitation ; sur le web, il reste uniquement en mémoire et disparaît au rechargement de la page.
Les recettes personnelles sont créées et conservées localement sur l'appareil. Slushi Party ne les envoie vers aucun compte utilisateur ni profil cloud.
Catalogue et images de recettes
L'application peut demander à Supabase le catalogue de recettes publiées et les images de recettes publiques. Supabase reçoit les informations techniques nécessaires à ces requêtes, comme les métadonnées réseau et appareil/client traitées par son infrastructure. Le catalogue n'est pas utilisé par l'application pour créer un profil utilisateur.
Les données détaillées des recettes Premium ne sont renvoyées que par une fonction serveur Supabase après présentation d'un jeton opaque valide, non révoqué et non expiré. Le serveur ne conserve pas le jeton brut : il en conserve une empreinte SHA-256. Le cutover base de données 0064 bloque les lectures directes anonymes ou authentifiées de ces données.
Notes des recettes et contrôles d'intégrité
L'application permet d'attribuer une à cinq étoiles à une recette, sans commentaire. Elle conserve localement un identifiant aléatoire propre à l'installation ainsi que les notes choisies sur cette installation. L'identifiant d'installation est transmis à une fonction serveur Supabase par connexion chiffrée, puis transformé côté serveur par HMAC avec une clé secrète avant l'écriture protégée. Aucun nouvel identifiant d'installation brut n'est conservé dans la table des notes.
Sur Android, l'envoi d'une note utilise Google Play Integrity. Google traite une demande d'intégrité liée à l'action de notation et transmet à la fonction serveur des verdicts sur la reconnaissance de l'application, l'intégrité de l'appareil et la licence Google Play. Le serveur n'accepte la note que si les verdicts requis et l'empreinte de la requête correspondent.
Sur iOS, l'envoi d'une note utilise Apple App Attest lorsque l'appareil le prend en charge. L'application enregistre une clé App Attest puis présente une assertion liée à un défi serveur pour chaque note ; le serveur vérifie l'assertion et rejette les compteurs rejoués. Le serveur conserve une empreinte protégée de l'identifiant de clé App Attest, et non l'identifiant brut.
Une seule note vérifiée courante par installation et par recette est conservée, les envois sont limités en fréquence, les lignes individuelles ne sont jamais lisibles publiquement, et la moyenne ainsi que le nombre de votes n'apparaissent qu'à partir de cinq notes vérifiées. Les identifiants historiques de l'ancien système d'écriture directe restent inaccessibles aux clients publics et sont exclus des moyennes communautaires vérifiées.
Achat Premium Slushi Mixologie
Slushi Mixologie Premium est un achat intégré unique et non consommable : identifiant produit slushi_mixology_lifetime, avec un prix français de référence de 6,99 €. Apple ou Google traite les informations de paiement ; Slushi Party ne reçoit ni ne conserve les données de carte ou bancaires. Le prix affiché par l'application est le prix Store localisé.
Avant de débloquer ou de restaurer Premium, l'application transmet par connexion chiffrée à une fonction serveur Supabase la plateforme Store, l'identifiant produit et la preuve de transaction fournie par la plateforme. La fonction vérifie directement la transaction auprès d'Apple ou de Google. Les preuves brutes ne sont pas conservées ; Supabase stocke une empreinte SHA-256 et l'identifiant Premium afin de valider l'achat et d'émettre des jetons opaques d'accès Premium à durée limitée. La restauration dépend du compte Store acheteur sur la même plateforme ; il n'existe ni compte Slushi ni portabilité automatique Apple ↔ Google.
Les builds de diagnostic TestFlight peuvent transmettre à Supabase une chronologie d'achat à durée limitée, protégée par App Attest, afin d'identifier si une tentative s'est arrêtée dans StoreKit, la vérification serveur, la finalisation de la transaction ou l'activation locale de Premium. Elle contient un code de tentative aléatoire, les horodatages des étapes, le pays/la devise/le prix localisés du storefront, des catégories de statut sûres et des booléens indiquant si StoreKit a renvoyé une preuve ou un identifiant de transaction. Elle ne contient jamais la preuve, l'identifiant de transaction, le jeton Premium, un message d'erreur natif libre, un identifiant de compte ou un identifiant d'appareil. Ces lignes sont réservées au rôle serveur et automatiquement supprimées après 14 jours.
L'application Store actuelle ne présente pas les anciens achats de soutien facultatif ni le vote associé. Le backend de vérification conserve, lorsque nécessaire, une compatibilité avec les clients déjà installés et leurs enregistrements de soutien historiques ; ce parcours hérité n'est pas une offre Premium de l'application actuelle.
Services tiers
L'application utilise Expo/React Native, Apple StoreKit et App Attest, Google Play Billing et Play Integrity, ainsi que Supabase pour le catalogue, les images publiques, le stockage des notes, la vérification des achats et la diffusion protégée de Premium. Cette politique ne prétend pas décrire la conservation indépendante des journaux opérationnels par les fournisseurs tiers ; consultez leurs conditions et informations de confidentialité applicables. Si de l'analytics, du crash reporting, de la publicité, une synchronisation cloud, une authentification ou un autre service de données est ajouté, cette politique et les déclarations des stores doivent être revues avant publication.
Enfants et contact
Slushi Party ne cible pas les enfants. Certaines recettes peuvent contenir de l'alcool ; les utilisateurs doivent respecter les règles d'âge et de consommation applicables là où ils se trouvent.
Pour toute question relative à la confidentialité, contactez l'éditeur de l'application à mora.stephane@gmail.com.