Politique de confidentialité
Dernière mise à jour : août 2026
1. Qu’est-ce qu’OpenedMic
OpenedMic est un service de diffusion audio et vidéo en direct basé sur le navigateur. Un diffuseur ouvre une salle ; les auditeurs rejoignent par code de salle, scan de QR code ou lien direct. Aucune installation ni inscription n’est requise pour utiliser le service.
Le service comprend la page d’accueil publique à l’adresse https://www.openedmic.com/ et une application autonome à https://www.openedmic.com/app. L’application est conçue pour fonctionner dans le navigateur et peut être installée sur les appareils compatibles comme application d’écran d’accueil, sans passer par un magasin d’applications.
2. Aucune inscription
OpenedMic ne vous demande pas de créer un compte, de fournir une adresse e-mail ni de partager aucune donnée personnelle pour utiliser le service. Vous pouvez créer et rejoindre des salles sans inscription.
3. Données exclues de l’analytique auto-hébergée et de la télémétrie d’erreurs
La base SQLite d’analytique auto-hébergée, ses exports et la télémétrie structurée d’erreurs d’OpenedMic sont conçus pour ne pas contenir les données ci-dessous. Cela ne signifie pas qu’elles ne sont jamais traitées. Certaines servent temporairement au fonctionnement d’une salle en direct, sont stockées dans votre navigateur, traitées par des fournisseurs d’infrastructure ou transmises via le formulaire de contact, comme indiqué aux sections 4, 7, 10 et 12.
- Noms, adresses e-mail, noms d’affichage dans les salles en direct et avatars
- Codes de salle, identifiants de salle ou identifiants hachés
- Adresses IP brutes ou hachées. L’adresse IP brute est néanmoins traitée temporairement en mémoire serveur pour limiter les requêtes et par des fournisseurs d’infrastructure et tiers, comme indiqué aux sections 4 et 12.
- Identifiants de compte, d’utilisateur ou de session OpenedMic. OpenedMic ne crée pas de comptes et n’attribue pas d’identifiant utilisateur persistant pour le service en direct.
- Empreintes d’appareil ou empreintes de navigateur
- Contenu des messages de chat
- Contenu des réactions
- Mots de passe de salle
- Texte des liens copiés
- Audio, vidéo ou contenu multimédia de toute nature
- Messages d’erreur libres côté client, traces de pile brutes ou corps de requête
- Identifiants persistants ou de session créés par OpenedMic pour ses propres enregistrements analytiques
4. Données de session
Pendant l’utilisation d’OpenedMic, les informations suivantes peuvent être traitées temporairement pour faire fonctionner et protéger le service. Chaque élément est supprimé selon la durée décrite ci-dessous et n’est pas écrit dans la base d’analytique auto-hébergée, sauf indication contraire explicite à la section 5.
- Codes de salle - codes aléatoires à 6 caractères, conservés en mémoire serveur uniquement pendant la durée de vie de la salle
- Noms d’affichage et avatars : choisis volontairement, envoyés comme données de la salle en direct, conservés en mémoire serveur pendant la session active et visibles par les autres participants. Le nom d’affichage peut aussi être mémorisé sur votre appareil comme indiqué à la section 10.
- Données de signalisation WebRTC : les offres SDP, réponses et candidats ICE sont traités en temps réel pour établir les connexions audio ou vidéo et ne sont pas conservés par le serveur applicatif d’OpenedMic. Les pairs et fournisseurs de connexion peuvent traiter des métadonnées d’adresses réseau, comme indiqué à la section 12.
- Messages de chat - transmis en temps réel à l’intérieur de la salle ; non stockés côté serveur
- Réactions - transmises en temps réel ; leur contenu n’est pas stocké ni comptabilisé dans l’analytique
- Limitation des requêtes HTTP : le serveur utilise temporairement l’adresse IP réseau de la requête comme clé en mémoire pour quatre protections : jusqu’à 10 demandes d’identifiants TURN par 60 secondes, 10 rapports d’erreur client par 60 secondes, 5 soumissions de contact par heure et 60 événements d’analytique auto-hébergée par 60 secondes. L’adresse est normalisée avant utilisation. Ces clés ne sont écrites ni dans SQLite ni dans les exports analytiques. Les quatre tables en mémoire sont nettoyées toutes les cinq minutes. Les horodatages expirés sont également supprimés lorsque la même adresse envoie une nouvelle requête. Les tables d’erreurs client et de contact ont une capacité finie configurée. Si l’une d’elles est pleine, la requête d’une nouvelle adresse est refusée jusqu’à la suppression d’une entrée expirée.
- Jeton de reconnexion du diffuseur - chaîne aléatoire à courte durée de vie stockée dans
localStoragesous une clé liée à la salle (om_btoken_[room]) pendant une diffusion active, pour permettre une reconnexion après un rafraîchissement bref ou une coupure passagère. Le jeton a un TTL côté client d’environ 60 secondes, et le serveur respecte une fenêtre de grâce de 15 secondes. Le jeton n’est lié à aucun compte ni profil - c’est une valeur aléatoire limitée à une seule salle - État du Micro invité approuvé : une machine d’état par salle et un jeton opaque de demande restent en mémoire serveur uniquement pendant la vie de la salle. Le jeton est aléatoire, n’est pas journalisé et est supprimé lors de l’approbation, du refus, de l’annulation ou de l’expiration. Aucun identifiant invité n’est conservé.
4a. Micro invité approuvé - précisions de confidentialité
Lorsqu’un auditeur utilise la fonction Micro invité approuvé, les propriétés de confidentialité suivantes s’appliquent :
- L’autorisation du microphone est requise et explicite. Une fois que le diffuseur approuve, le navigateur de l’auditeur demande l’accès au microphone. Si l’auditeur refuse, le micro invité se termine proprement et aucun audio n’est capté.
- L’audio de l’invité est transporté par WebRTC. La connexion vers le diffuseur utilise un chemin direct lorsqu’il est disponible ou un relais TURN chiffré lorsque le réseau l’exige. Le diffuseur mixe ensuite le signal dans l’audio sortant de la salle. OpenedMic n’enregistre, ne transcrit ni ne stocke l’audio invité sur ses serveurs.
- Le diffuseur reçoit un signal de monitoring local pour entendre l’invité approuvé sur la sortie audio sélectionnée. Ce monitoring n’est pas transmis comme flux supplémentaire et n’est pas enregistré.
- Aucun identifiant invité n’est conservé. Le nom d’affichage et l’avatar visibles par le diffuseur dans la demande sont les mêmes valeurs de session déjà couvertes dans la liste « Données de session » ci-dessus. Ils ne sont pas conservés côté serveur et ne sont pas écrits dans les journaux ni l’analytique.
- L’analytique du micro invité utilise uniquement des champs énumérés. Le serveur enregistre des événements compteurs (par ex. guest_mic_requested, guest_mic_started, guest_mic_ended) avec le mode de diffusion et une catégorie de raison de fin. Aucun socket-id, identifiant de salle, nom, jeton, SDP, ICE, adresse IP ou identifiant d’appareil n’est écrit.
5. Analytique opérationnelle auto-hébergée
OpenedMic exploite un système d’analytique côté serveur, auto-hébergé et adossé à une base SQLite locale. Il conserve des champs techniques et opérationnels fixes afin de comprendre l’usage du produit, l’état du service et l’adoption des fonctionnalités. Il est conçu pour exclure les identifiants directs, les identifiants pseudonymes de client ou de session, les IP brutes, les User-Agent bruts, les codes et URL de salle, les noms, le contenu de contact et le texte libre. Selon la loi applicable, des événements techniques peuvent néanmoins constituer des données personnelles s’ils peuvent être reliés à une personne identifiable. Cette politique ne les qualifie donc pas de juridiquement anonymes.
Ce que l’analytique conserve :
- Horodatages (UTC)
- Type d’événement, notamment création de salle ; début ou fin de diffusion ; chargement d’une page depuis un lien entrant vers une salle ; tentative de rejoindre ; arrivée ou départ d’un auditeur ; jalons de connexion à 10 et 60 secondes ; arrivée du premier auditeur ; échec de connexion ; et utilisation d’une fonctionnalité
- Mode de diffusion ou catégorie sélectionnée
- Salle privée ou publique
- Nombre d’auditeurs et pic d’auditeurs
- Durées opérationnelles en secondes entières, notamment la durée de diffusion et le temps écoulé entre la création de la salle et l’arrivée du premier auditeur
- Paramètre de langue / locale
- Type d’appareil générique dérivé de la requête (mobile / tablette / desktop / inconnu)
- Famille de navigateur générique dérivée de la requête (chrome / safari / firefox / edge / inconnu)
- Famille d’OS générique dérivée de la requête (ios / android / windows / macos / linux / inconnu)
- Catégorie de source d’arrivée (QR code / lien direct / code manuel / inconnu). La catégorie lien direct inclut aussi les arrivées depuis un lien copié ou le partage natif, car ces URL ne sont pas marquées séparément. L’URL et le code de la salle ne sont pas conservés.
- Indicateurs d’usage des fonctionnalités (par ex. : partage d’écran activé, enregistrement démarré)
- Codes d’erreur structurés issus d’une liste prédéfinie (par ex. : room_not_found, wrong_password, room_full, mic_permission_denied)
- Signaux d’interaction PWA (par ex. : invite d’installation affichée, installation acceptée, mode standalone détecté)
- Version du serveur au moment de l’événement
Pour mesurer le parcours des auditeurs, OpenedMic conserve des lignes d’événements techniques lorsqu’une page provenant d’un lien entrant vers une salle avec un paramètre de six caractères est chargée ; qu’une tentative de rejoindre a lieu ; qu’un auditeur arrive ou part ; que la connexion d’un auditeur reste active pendant au moins 10 ou 60 secondes ; qu’une salle reçoit son premier auditeur ; ou qu’une tentative échoue pour un motif autorisé tel que room_full. Les rapports agrègent ces lignes en comptages et résumés temporels. Selon l’événement, une ligne peut contenir un horodatage UTC, le type d’événement, une catégorie générale de source d’arrivée, le paramètre de langue, le mode de diffusion, le statut privé ou public, le nombre d’auditeurs, le temps écoulé en secondes entières, des familles générales d’appareil, de navigateur et de système d’exploitation, ainsi que la version du serveur. Elle ne contient ni code ou URL de salle, ni mot de passe, nom d’affichage, identifiant de socket ou d’auditeur, adresse IP, chaîne User-Agent brute, contenu multimédia, ni identifiant persistant ou de session.
L’analytique opérationnelle auto-hébergée est stockée dans la base SQLite configurée. Au démarrage de l’application, si une durée de conservation positive est configurée, les enregistrements plus anciens que ce nombre de jours sont supprimés. Si la valeur de conservation est nulle ou non définie, aucune suppression selon l’ancienneté n’est effectuée et les enregistrements restent présents jusqu’à leur suppression manuelle ou jusqu’à la suppression de la base ou du stockage sous-jacent.
Les chaînes User-Agent brutes ne sont jamais conservées. Navigateur, OS et type d’appareil sont dérivés du User-Agent au moment de la requête ; la chaîne brute est rejetée immédiatement après.
Tous les points de lecture et de reporting de l’analytique - y compris la page agrégée /stats, l’interface /analytics/* et les points opérationnels /logs, /ops et /ops/snapshot - sont protégés par jeton porteur (bearer) et, en production, limités à un nom d’hôte opérationnel distinct. Aucun de ces points n’est accessible publiquement.
6. Télémétrie structurée d’erreurs client
L’application inclut un mécanisme léger de remontée d’erreurs côté client. Lorsqu’une erreur technique survient dans le navigateur, elle peut envoyer au serveur une télémétrie limitée aux champs techniques fixes suivants :
- Catégorie de type d’erreur (depuis une liste prédéfinie, par ex. JS_ERROR, UNHANDLED_REJECTION)
- Famille, étape et surface de l’erreur depuis des listes prédéfinies (par ex. "permissions", "browser_api", "app")
- Numéro de ligne et de colonne de l’erreur
- Navigateur, OS et type d’appareil génériques (dérivés du User-Agent ; l’UA brut est rejeté)
- Paramètre de langue / locale
Les messages d’erreur en texte libre, les traces de pile brutes, les corps de requête, les chemins de fichiers sources et tout contenu susceptible de contenir des données utilisateur ou identifiantes ne sont pas émis ni conservés. Le client retire ces champs avant l’envoi.
7. Formulaire de contact
Lorsque vous soumettez le formulaire de contact sur openedmic.com/contact.html, la demande est envoyée au serveur OpenedMic pour validation. Le serveur vérifie le format, enregistre uniquement un événement opérationnel sans contenu (nombre de soumissions réussies) et renvoie une réponse à votre navigateur.
Le contenu du message - nom, e-mail, sujet et message - est transmis une seule fois à un point de sortie préconfiguré (webhook), afin que l’opérateur du service puisse recevoir et répondre à votre message, puis supprimé. Il n’est pas conservé dans une base, un fichier de log ou un système d’analytique OpenedMic après cette transmission. La politique de confidentialité du fournisseur du webhook s’applique à ce qu’il conserve de son côté.
Si le point de sortie est temporairement indisponible ou non configuré, le serveur ne conserve pas non plus le contenu du message : l’interface propose une solution alternative pour contacter directement hello@openedmic.com depuis votre client de messagerie.
8. Services d’analyse tiers
Le site public et l’application en direct ne chargent aucune balise d’analyse tierce et n’envoient aucun événement d’usage du produit depuis votre navigateur à un fournisseur d’analyse externe. L’analytique opérationnelle auto-hébergée décrite à la section 5 reste utilisée.
9. Application web installable
OpenedMic peut être installée comme application d’écran d’accueil sur les appareils et navigateurs compatibles. Lors de l’installation :
- Le shell applicatif est servi depuis la même origine - sans passer par un magasin d’applications
- Un Service Worker est enregistré dans votre navigateur pour permettre le chargement fiable des ressources statiques (polices et scripts) et afficher une page de base en cas d’absence de connexion
- Le Service Worker ne met pas en cache les pages HTML ni le contenu dynamique. Les fonctionnalités de session en direct - création de salle, connexion, flux audio/vidéo, signalisation - nécessitent une connexion Internet active et ne fonctionnent pas hors ligne
- Si vous rejetez l’invite d’installation, un indicateur est enregistré dans
localStoragesur votre appareil pour éviter que l’invite ne réapparaisse - Si vous lancez l’application en mode standalone après installation, un événement technique d’usage de l’installation peut être enregistré par l’analytique auto-hébergée
10. Cookies et stockage navigateur
Le site public et l’application en direct ne créent aucun cookie d’analyse ou de publicité. Ils utilisent un stockage fonctionnel dans le navigateur sur votre appareil :
- Nom d’affichage (clé
localStorage:openedmic-username) : mémorise sur l’appareil le nom saisi entre les visites. En entrant dans une salle, ce nom est envoyé comme donnée de session et peut être visible par les participants. Il reste jusqu’à son remplacement ou à l’effacement des données du site. - Préférence de langue - application (clé
localStorage:openedmic-app-lang) - conserve la langue d’interface choisie dans l’application entre les visites - Préférence de langue - page d’accueil (clé
localStorage:openedmic-lang) - conserve la langue d’interface choisie sur la page d’accueil - Paramètres d’accessibilité - page d’accueil (clé
localStorage:openedmic-a11y) - conserve les préférences de contraste, de mouvement et de police si vous les avez modifiées sur la page d’accueil - Indicateur de refus de l’invite d’installation (clé
localStorage:pwa-dismissed) - défini si vous avez refusé l’invite d’installation, pour éviter de l’afficher à nouveau - Indicateur de refus de l’invite iOS (clé
localStorage:pwa-ios-dismissed) - défini si vous avez refusé l’invite « Ajouter à l’écran d’accueil » sur iOS, pour éviter de l’afficher à nouveau - Jeton de reconnexion du diffuseur (clé
localStorage:om_btoken_[room]) - stocké uniquement pendant une diffusion active pour permettre la reconnexion après un rafraîchissement ou une coupure passagère. L’entrée a un TTL côté client d’environ 60 secondes ; elle est ensuite considérée comme obsolète et retirée, et le serveur n’accepte les tentatives de reconnexion que dans une fenêtre de grâce de 15 secondes
Les valeurs fonctionnelles de localStorage restaurent les préférences, évitent les invites d’installation répétées, réutilisent le nom d’affichage ou assurent la continuité d’une session active. La suppression des données du site retire ces valeurs. Le tableau de bord opérationnel à accès restreint sur ops.openedmic.com crée un seul cookie de session strictement nécessaire, nommé openedmic_dash_sid et marqué HttpOnly, uniquement après la connexion d’un opérateur autorisé. Le cookie utilise Secure et SameSite=Strict, possède une expiration glissante de 30 minutes et n’est utilisé ni pour les visiteurs publics, ni pour l’analyse, ni pour la publicité.
11. Enregistrement local
Si vous utilisez la fonction d’enregistrement local pendant une diffusion, l’audio et/ou la vidéo sont capturés directement dans votre navigateur via l’API MediaRecorder et enregistrés sur votre appareil au format WebM. Rien n’est envoyé vers un serveur. OpenedMic n’a pas accès à vos enregistrements. Vous conservez le contrôle total de chaque enregistrement créé.
12. Infrastructure et services tiers
- Render.com : hébergement d’origine du serveur Node.js. La plateforme peut traiter les IP et créer des journaux d’accès standard selon sa politique.
- Cloudflare : DNS et protection réseau lorsqu’elle est configurée. Cloudflare peut recevoir des métadonnées de connexion, dont l’adresse IP, lorsque le navigateur accède à un domaine OpenedMic qui passe par son proxy.
- Google Fonts : les pages publiques d’information demandent des feuilles de style et des polices à des domaines Google. Google reçoit alors des métadonnées de connexion, dont l’adresse IP et les en-têtes du navigateur. L’application de salle en direct sous
/apputilise des polices hébergées localement et ne sollicite pas Google Fonts. - Metered.live : relais TURN utilisé lorsqu’une connexion WebRTC directe est impossible. Le service traite des métadonnées de connexion et peut relayer des médias chiffrés en temps réel.
- Google STUN :
stun.l.google.compeut aider à établir WebRTC, y compris comme solution de secours sans identifiants TURN. - Fournisseur de livraison des contacts : s’il est configuré, il reçoit par webhook le nom, l’e-mail, le sujet, le message, l’heure et la page source décrits à la section 7.
Toute connexion du navigateur à un fournisseur d’hébergement, de polices, de CDN, de STUN ou de TURN expose nécessairement à ce fournisseur des métadonnées réseau comme l’adresse IP. Les pairs WebRTC et services de découverte ou de relais peuvent aussi traiter les métadonnées d’adresses requises pour établir la connexion. Les conditions, politiques et pratiques de conservation de chaque fournisseur s’appliquent.
13. Aucune publicité
OpenedMic n’affiche aucune publicité payante et n’utilise pas son analytique opérationnelle auto-hébergée pour créer des profils publicitaires.
14. Enfants
OpenedMic est réservé aux personnes de 18 ans et plus, conformément aux Conditions. OpenedMic ne sollicite pas sciemment de données personnelles auprès d’enfants. Le traitement automatique technique, réseau et opérationnel auto-hébergé décrit ici peut avoir lieu lorsqu’une personne visite le site ou utilise le service. Si vous pensez qu’un enfant a transmis des données via le formulaire ou une session en direct, contactez OpenedMic pour examen.
15. Modifications de cette politique
Cette politique peut être mise à jour en cas d’évolution du service. La date en haut de page reflète la dernière mise à jour. L’utilisation continue du service après une mise à jour vaut acceptation de la version modifiée.
16. Contact
Pour toute question relative à cette politique de confidentialité, utilisez la page de contact.