Politique de confidentialité
Dernière mise à jour : 30 octobre 2026 · valable pour toutes les versions de Sidstuga : Google Play, Amazon et sideload.
Résumé en une phrase
Tout ce que tu ajoutes (identifiants, URL, favoris, réglages) reste uniquement sur ton appareil. Sans publicité, et aucune inscription n’est nécessaire pour utiliser l’application. Les diagnostics anonymes (rapports de plantage et métriques d'utilisation générales) sont envoyés par défaut et décrits ci-dessous, dans Diagnostics. Deux fonctionnalités optionnelles envoient davantage : Cloud Sync (sauvegarde chiffrée) et le Gestionnaire de sources (appairage web pour tes listes / sources).
Cloud Sync est une fonctionnalité optionnelle. Si tu choisis de l’activer, nous collectons ton adresse e-mail et l’utilisons uniquement pour identifier ton compte. Ton mot de passe ne quitte jamais l’appareil: les clés sont dérivées localement via Argon2id. Les favoris et l’historique sont chiffrés de bout en bout avant de quitter l’appareil ; nous ne pouvons pas les lire. Le serveur de synchronisation tourne sur Cloudflare Workers (région : Europe de l’Ouest) à sync.sidstuga.app. Déconnecte-toi dans l’application pour supprimer les données de synchronisation locales ; le coffre chiffré sur le serveur est supprimé lorsque tu supprimes le compte.
Gestionnaire de sources (appairage web)
Optionnel. Si tu ouvres sidstuga.app/cloudsync et que tu l'appaires à ton appareil, l'appareil envoie (et la page web lit ensuite) la liste des URL de sources que tu as ajoutées (URL de listes M3U et URL de fournisseurs Xtream Codes). L'appairage est anonyme : il n'y a pas de compte, seulement un code de 6 caractères généré aléatoirement, échangé contre un jeton de groupe opaque.
- Ce que nous stockons, par groupe : un libellé d'appareil, le modèle de l'appareil, la version de l'app et un hachage SHA-256 de l'IP ayant demandé l'appairage. Les URL M3U sont stockées en clair. L'URL + l'identifiant + le mot de passe Xtream Codes sont stockés chiffrés en AES-256-GCM au repos, sous une clé dérivée du jeton de groupe (le serveur peut déchiffrer tant que le jeton est en transit ; le chiffrement protège contre les fuites de base de données, pas contre un code serveur compromis).
- Région : Cloudflare D1, Europe de l'Ouest.
- Conservation : les enregistrements restent jusqu'à ce que tu appuies sur « Dissocier » dans le gestionnaire web ou dans l'app. La dissociation marque l'enregistrement pour suppression et le serveur l'efface définitivement après un délai de 7 jours.
- Ce que nous ne stockons jamais : le contenu des flux, les listes de chaînes récupérées chez ton fournisseur, la progression de visionnage, ni quoi que ce soit au-delà de ce qui est nécessaire pour gérer les URL de sources.
Ce que nous NE faisons PAS
- Nous n’exploitons pas par défaut notre propre serveur collectant tes données: Cloud Sync est optionnel et chiffré de bout en bout. Les seules données qui quittent l’appareil automatiquement sont les diagnostics, les métriques et les données d’attribution publicitaire décrits ci-dessous.
- Aucun SDK tiers publicitaire ou d'attribution (pas d'AppsFlyer, Adjust ni Branch. (La version Google Play mesure les conversions des campagnes Google Ads via Firebase) voir Diagnostics ci-dessous: mais n'affiche aucune publicité.)
- Pas de publicité: aucun SDK publicitaire.
- Aucun compte ni inscription n’est nécessaire pour utiliser l’app: tu ne crées un compte que si tu actives Cloud Sync, et nous collectons alors ton e-mail uniquement pour l’identifier.
- Pas d'accès à ton agenda, contacts, photos ou micro: l'app ne demande pas ces permissions.
Ce que l'app stocke sur ton appareil
- Identifiants Xtream Codes ou URL/fichier M3U (chiffré via
EncryptedSharedPreferences). - Réglages (langue, ordre de chaînes, favoris, rappels, PIN parental hashé SHA-256 + salt).
- Historique "dernière chaîne vue" pour reprendre à l'ouverture.
Ces données ne quittent jamais l'appareil. Désinstaller l'app ou effacer les données via Réglages → Apps → Sidstuga → Stockage → Effacer les données: tout part. Nous n'avons aucune copie.
Diagnostics et métriques anonymes que nous collectons
Pour garder l'app stable et comprendre son usage, Sidstuga envoie une petite quantité de données de diagnostic anonymes. Rien de tout cela ne peut t'identifier, et cela n'inclut jamais tes playlists, tes identifiants ni ce que tu regardes.
- Firebase Crashlytics (version Google Play uniquement): lors d'un plantage, un rapport anonyme : stack trace, modèle de l'appareil, version d'Android, version de l'app. Aucun identifiant, aucune URL de playlist, aucun identifiant personnel.
- Firebase Analytics (version Google Play uniquement): des événements d'usage de base et agrégés liés à un identifiant d'instance anonyme généré par l'app. Pour mesurer quelle campagne Google Ads a amené une installation ou un achat, cette version autorise aussi l'identifiant publicitaire de Google et la mesure des conversions (Consent Mode :
ad_storageetad_user_dataaccordés). La personnalisation des publicités reste DÉSACTIVÉE (ad_personalizationrefusé) et l'app n'affiche aucune publicité: ces données servent uniquement à attribuer les conversions à nos propres campagnes Google Ads. - Métriques anonymes Sidstuga (toutes les versions): l'app envoie des métriques opérationnelles et produit peu détaillées vers notre propre serveur (
metrics.sidstuga.app) : un identifiant d'installation aléatoire généré sur ton appareil (pas ton identifiant publicitaire, aucun fingerprinting), le type d'appareil (TV / téléphone / tablette), la version de l'app, un pays approximatif (à partir de ton IP en bordure de réseau: l'IP elle-même n'est jamais stockée), des pings de présence d'ouverture / session / heartbeat, un ensemble fixe d'événements produit (p. ex. « paywall affiché », « achat démarré »), des codes d'erreur peu détaillés et (une fois vérifié auprès de Google ou Amazon) ton statut d'abonnement (essai / actif / expiré). Nous ne recevons jamais les données de ta carte ni de facturation. Les nombres d'installations sont approximatifs ; les chiffres officiels sont dans Google Play / Amazon. - Attribution publicitaire (installations depuis Google Play) : quand l'app est installée depuis une annonce Google Ads, l'Install Referrer de Play indique à l'app quel clic sur l'annonce a amené l'installation. Si tu acceptes la demande de mesure, l'app envoie cet identifiant de clic (
gclid) et le texte brut du referrer à notre serveur, avec un hash irréversible de l'identifiant de l'appareil (SHA-256 de l'Android ID et du nom du package ; l'Android ID lui-même ne quitte jamais l'appareil). Notre serveur indique alors aussi à Google Ads, une seule fois, que ce clic a mené au début d'un essai gratuit ou à un achat (un identifiant de commande opaque, l'heure et l'identifiant de clic : ni nom, ni e-mail, ni compte, ni playlists, ni historique de visionnage). Si tu refuses, l'identifiant de clic et le texte du referrer ne nous sont pas envoyés, la mesure ne transporte pas le hash et rien n'est envoyé à Google Ads. Le même hash reste utilisé, séparément, pour gérer l'essai gratuit et vérifier un abonnement, car les deux doivent reconnaître l'appareil ; sans identifiant de clic, il n'est lié à aucune annonce. Si tu as accepté, l'identifiant de clic et le hash restent dans notre base de métriques tant que l'installation est active et tu peux nous demander de les supprimer à tout moment. Si tu as refusé, le seul identifiant que nous conservons est le code de l'appareil de l'essai et de l'abonnement, un pseudonyme que nous ne pouvons pas relier à toi nous-mêmes ; il se peut donc que nous ne puissions pas le retrouver pour le supprimer. - Rapports de crash et de blocage de l'app (toutes les versions, y compris sideload): si l'app plante, se bloque (« ne répond pas ») ou est fermée par le système faute de mémoire, elle nous envoie un rapport technique anonyme à la prochaine ouverture : le type d'erreur, une trace technique de l'endroit où c'est arrivé (les identifiants et données personnelles sont retirés avant de quitter ton appareil, et les noms internes des classes dans cette trace sont brouillés par le processus de build dans toutes les versions que nous publions, pas seulement Google Play, ce n'est pas du texte lisible), le modèle de l'appareil, la version d'Android, et la mémoire/le stockage libre à ce moment-là. Ceci est indépendant de Firebase Crashlytics ci-dessus: cela existe pour aussi obtenir des données de crash des versions Amazon et sideload, qui n'ont pas Firebase du tout.
Google traite les données Firebase en tant que sous-traitant de données: voir la documentation de confidentialité de Firebase. Les métriques Sidstuga et les rapports de crash sont traités par Cloudflare pour notre compte et stockés dans l'UE. Tout cela est anonyme. Les données de crash signalées par Firebase sont conservées par Firebase jusqu'à 90 jours ; nos propres rapports de crash sont eux aussi conservés 90 jours. Les métriques brutes Sidstuga sont supprimées automatiquement (heartbeats après 7 jours, événements après 30 jours, journaux d'erreur après 90 jours) et seuls les agrégats quotidiens anonymes sont conservés plus longtemps.
Trafic réseau
L'app communique directement avec le serveur IPTV que tu configures. Nous ne sommes pas intermédiaires de tes flux, listes ni identifiants, et nous n'en voyons ni n'en enregistrons rien.
Titres, affiches, notes et sous-titres passent par notre serveur. Quand tu parcours les films et séries, l'app affiche affiches, résumés, distribution, notes et sous-titres. Dans la dernière version de l'app, ces requêtes passent par notre serveur (sync.sidstuga.app, Cloudflare Workers, Europe de l'Ouest) au lieu d'aller directement de ton appareil à chaque fournisseur. Ainsi l'app ne contient aucune clé de fournisseur et les résultats sont partagés et mis en cache pour tous. Les fournisseurs derrière sont TMDB (affiches et résumés), MDBList (notes), Fanart.tv (logos et images), OpenSubtitles, SubDL, SubSource et Gestdown (sous-titres) et, seulement si tu connectes ton compte, Trakt.
- Ce que notre serveur reçoit : les identifiants des titres ou le texte de recherche, la langue et, pour les sous-titres, le titre, l'épisode et le nom de la version. Si tu connectes Trakt, il reçoit aussi le jeton de session que Trakt lui-même t'a délivré, transmis à Trakt dans la même requête et jamais conservé par nous. Tes identifiants IPTV, les URL de listes et les listes de chaînes ne sont jamais envoyés.
- Ce que nous conservons : les résultats publics (une affiche, une note, une liste de sous-titres) sont mis en cache par titre pendant des heures ou des jours, sans lien avec toi. Nous n'enregistrons pas ces requêtes. Pour bloquer les abus, le serveur garde un compteur par adresse IP qui s'efface tout seul en environ deux minutes.
- Ce que voient les fournisseurs : notre serveur, pas ton appareil. Ils ne reçoivent jamais ton IP ni aucun identifiant de toi, sauf deux exceptions : Trakt, qui connaît le compte que tu as connecté, et l'option « Affiches avec notes », qui charge toujours les images directement depuis le service RPDB, lequel voit donc ton IP tant qu'elle est activée.
- Vérification de mises à jour: version publique via API officielle Google Play In-App Updates.
- EPG / catch-up / VOD: requêtes directes à ton serveur IPTV.
- Achats & abonnements: entièrement gérés par Google Play Billing. Google traite le paiement ; nous ne voyons jamais les détails de ta carte ni ton adresse de facturation.
- Diagnostics et métriques: les rapports anonymes Firebase (version Google Play) et les métriques anonymes Sidstuga décrites ci-dessus, envoyées à
metrics.sidstuga.app. - Vérification de l'abonnement: après un achat, l'app demande à notre serveur de confirmer l'abonnement auprès de Google/Amazon afin que ton accès survive aux coupures réseau ou de la boutique. Seuls le jeton d'achat et ton identifiant d'installation anonyme sont envoyés: jamais de données de carte ou de facturation.
Permissions
INTERNET: pour lire les flux.ACCESS_NETWORK_STATE: pour détecter les coupures de connexion et se reconnecter automatiquement.POST_NOTIFICATIONS(Android 13+): uniquement si tu actives les rappels.SCHEDULE_EXACT_ALARM: uniquement pour les rappels à l'heure exacte.RECEIVE_BOOT_COMPLETED: uniquement si tu as des rappels actifs, afin que l'app puisse les reprogrammer après un redémarrage de l'appareil.SYSTEM_ALERT_WINDOW: conservée uniquement comme exemption de background-activity-launch pour la fonction optionnelle « démarrage automatique au boot » (Android TV). L'app n'affiche aucune fenêtre en superposition.com.android.vending.BILLING: requise par Google Play pour traiter les achats d'abonnement.- Caméra: Lorsque vous choisissez d'associer un téléviseur, l'application utilise la caméra de votre appareil uniquement pour scanner le code QR d'appairage affiché sur votre téléviseur. L'image est traitée sur votre appareil et n'est jamais stockée, téléversée ni partagée.
Nous ne demandons pas les autorisations contacts, agenda, localisation, photos ou micro. Firebase Analytics et notre serveur de métriques déduisent ton pays approximatif à partir de ton adresse IP (voir Diagnostics ci-dessus): c'est toute l'information de localisation que nous voyons, et uniquement si tu n'as pas désactivé la collecte.
Cookies sur ce site
Cette section concerne sidstuga.app: le site que vous lisez en ce moment. L'application elle-même n'utilise aucun cookie.
Strictement nécessaire. sidstuga_locale retient
la langue dans laquelle le site vous est présenté. Lors de votre première
visite, c'est une supposition tirée de votre localisation approximative, pas un
choix de votre part ; dès que vous choisissez une langue, il retient celle-là.
Il nous appartient, expire au bout d'un an et est déposé sur les pages
localisées quelle que soit votre réponse au bandeau : sans lui, le site ne peut
pas continuer à vous montrer la langue que vous lisez.
Mesure et publicité: uniquement avec votre consentement.
Nous utilisons Google Analytics 4 pour savoir quelles pages sont
réellement utiles, et Google Ads pour savoir quelle annonce a
amené quelqu'un qui a fini par acheter. Les deux passent par le
gtag.js de Google, en Consent Mode v2.
Avant votre réponse au bandeau, et si vous refusez : rien n'est stocké sur votre appareil et aucun identifiant publicitaire n'existe. Votre navigateur envoie tout de même à Google un signal de mesure sans cookie et sans identifiant: assez pour compter qu'une page a été vue, jamais assez pour vous reconnaître, ici ou sur un autre site.
Si vous acceptez : Google dépose ses cookies de mesure et de
publicité (généralement _ga, _ga_* et
_gcl_*), ce qui nous permet de distinguer une visite d'une autre et
de relier un achat à l'annonce qui l'a produit. La personnalisation des
annonces fait partie de ce consentement.
Nous n'affichons aucune publicité sur ce site et nous ne vendons vos données à personne.
Conservé par le site lui-même, et jamais transmis à nous.
Restent dans le stockage local de votre navigateur, sur votre appareil :
sidstuga_consent, votre réponse au bandeau, pour ne pas la
redemander à chaque page ; sid-lang-routed et
sid-lang-manual, qui empêchent la redirection de langue de
contredire une langue que vous avez choisie vous-même ;
sidstuga_purchase_…, écrit sur la page de confirmation après un
achat (uniquement si vous avez accepté) pour que rouvrir ce lien ne compte
pas deux fois la même vente ; et, sur les pages revendeurs seulement,
sid_reseller_token, qui vous y garde connecté.
Changer d'avis. Rouvrez le bandeau cookies et répondez à nouveau : cela coûte le même clic que la première réponse, et la nouvelle s'applique immédiatement.
Ce que Google fait de ce qu'il reçoit est décrit dans Comment Google utilise les informations provenant de sites qui font appel à ses services.
Suppression des données
Presque tout reste sur ton appareil. Pour tout effacer :
- Réglages → Apps → Sidstuga → Stockage → Effacer les données
- Optionnel : désinstaller.
Pour les diagnostics Firebase anonymes, écris à support@sidstuga.app et nous supprimerons tes enregistrements de la console Firebase ; sinon les données de crash expirent automatiquement après 90 jours.
Pour les métriques anonymes Sidstuga (y compris nos propres rapports de crash/blocage), écris à support@sidstuga.app avec la version de l'app, le modèle de l'appareil et, si tu t'es abonné, le numéro de commande Google Play (l'app n'affiche pas l'identifiant d'installation anonyme), et nous chercherons les enregistrements que nous pouvons relier à toi et les effacerons ; sinon les données brutes expirent automatiquement comme décrit ci-dessus.
Contenu tiers et responsabilité de l'utilisateur
Sidstuga est un lecteur multimédia. Ce n'est pas un fournisseur, hébergeur, distributeur ni agrégateur de contenu. L'application n'inclut, ne recommande, n'indexe ni ne distribue aucun flux IPTV, liste de chaînes ou fichier multimédia de quelque nature que ce soit.
Pour utiliser l'application, tu fournis tes propres identifiants (Xtream Codes) ou liste (M3U/M3U8) d'un service auquel tu es indépendamment autorisé à accéder. Tu es seul responsable de garantir que cet usage respecte la législation applicable, les conditions de ton fournisseur IPTV et tout droit d'auteur pertinent. Dans la mesure permise par la loi, le développeur décline toute responsabilité quant aux contenus tiers diffusés via des sources fournies par l'utilisateur.
Enfants
L'app n'est pas destinée aux enfants de moins de 13 ans. Nous ne collectons aucune donnée personnelle, et les diagnostics Firebase décrits ci-dessus sont anonymes.
Modifications
Si nous modifions cette politique, la date en haut change. Pour une copie d'une version précédente, écris à support@sidstuga.app.