Politique de confidentialité — Octavius¶
Version 1.0 — En vigueur à compter du 16 mai 2026.
Cette politique de confidentialité est conforme au Règlement Général sur la Protection des Données (RGPD — Règlement UE 2016/679). Elle décrit les données traitées par Octavius et les droits dont vous disposez. Vous pouvez exercer ces droits à tout moment via la commande Discord /mydata (accès, export, suppression).
1. Identité du responsable de traitement¶
Le responsable du traitement de vos données personnelles est :
- Nom de l'éditeur : Huncho Jack (auto-entrepreneur — entrepreneur individuel)
- Adresse : Paris 75015, France
- SIREN : 924 020 035
- Contact RGPD :
[email protected] - Délégué à la protection des données (DPO) : aucun DPO désigné (non requis au vu du volume et de la nature des traitements ; art. 37 RGPD)
2. Principes appliqués¶
Octavius respecte les principes du RGPD :
- Minimisation : seules les données strictement nécessaires sont collectées.
- Finalité : chaque donnée a une finalité explicite et limitée.
- Sécurité : chiffrement Fernet (AES-128-CBC + HMAC-SHA256) pour les contenus sensibles, aucun mot de passe stocké (authentification exclusivement via Discord), sanitization stricte des entrées utilisateur, isolation multi-tenant entre serveurs Discord.
- Conservation maîtrisée : vos échanges sur le tableau de bord (tickets de support, discussions avec l'assistant IA) sont conservés jusqu'à ce que vous les supprimiez ; les journaux techniques ont, eux, une durée limitée (90 jours pour l'audit log avant anonymisation, 30 jours pour les notifications).
- Transparence : ce document décrit l'intégralité des traitements.
- Droit d'effacement : commande
/mydata deletequi supprime ou anonymise vos données en quelques secondes.
3. Données collectées et finalités¶
3.1 Identifiants Discord (obligatoires)¶
| Donnée | Finalité | Base légale | Conservation |
|---|---|---|---|
user_id (Discord) |
Identifier l'utilisateur pour le leveling, les tickets, l'IA, l'audit | Exécution du contrat | Tant que vous utilisez le service ou jusqu'à /mydata delete |
guild_id (serveur) |
Stocker la configuration par serveur, isoler les données entre serveurs | Exécution du contrat | Tant que le bot est sur le serveur |
role_id |
Auto-détection des rôles configurés (Admin/Staff/Membre/Fondateur) | Intérêt légitime | Tant que le rôle existe |
channel_id |
Diriger les logs, les annonces, l'IA dans les bons salons | Exécution du contrat | Tant que la config est active |
Sources : migrations/001_init.sql, cogs/_checks.py (matching NFKD).
3.2 Contenu généré par l'utilisateur¶
Mémoire conversationnelle IA¶
- Stockage : table PostgreSQL
ia_memory(BYTEA chiffré) + cache JSONmemory_state.json. - Chiffrement : Fernet (AES-128-CBC + HMAC-SHA256) avec clé d'environnement
MEMORY_ENCRYPTION_KEY. La base de données ne stocke jamais le texte en clair. - Plafond : 10 à 75 messages relus mot pour mot selon le plan (Free/Bronze/Silver/Gold).
- Compaction (depuis le 27/10/2026) : au-delà du plafond, ou après 30 minutes d'inactivité, les échanges les plus anciens sont résumés par le moteur d'IA (Anthropic, à défaut Google) puis retirés de la mémoire mot pour mot. Le résumé est chiffré comme le reste (colonne
ia_memory_state.summary_ciphertext). - Filtrage sensible : avant chiffrement, un filtre regex retire les motifs ressemblant à des tokens, mots de passe ou clés API.
- Reset complet (messages + résumé) : mots-clés (« nouvelle question », « change de sujet »…) ou
/memory reset. - Opt-out :
/memory off(cross-conversation, persistant). - Conservation : jusqu'à reset, opt-out ou
/mydata delete.
Sources : cogs/ai_bot.py, utils/ai_compaction.py, utils/storage/ia_memory_pg.py, migrations/001_init.sql:102-120, migrations/023_ai_threads.sql.
Discussions avec l'assistant IA du dashboard¶
- Stockage (depuis le 27/10/2026) : tables PostgreSQL
ai_threads+ai_thread_messages, rattachées à votre compte Discord et au serveur sur lequel la discussion a été ouverte. Elles vous suivent d'un appareil à l'autre ; personne d'autre (y compris les autres admins du serveur) ne peut les lire. - Chiffrement : titres, messages et résumés chiffrés (Fernet, clé
MEMORY_ENCRYPTION_KEY). Les images ne sont jamais conservées, seulement leur nombre. - Compaction : comme la mémoire Discord, les échanges anciens d'une longue discussion sont résumés par le moteur d'IA ; la discussion reste affichée en entier.
- Plafonds : 500 discussions par compte et par serveur, 4 000 messages par discussion. Un plafond atteint bloque l'enregistrement avec un message ; rien n'est jamais effacé automatiquement pour faire de la place.
- Conservation : jusqu'à suppression par vous (corbeille de la discussion) ou
/mydata delete. Aucune suppression automatique, même après une longue inactivité. - Accès / portabilité : incluses dans
/mydata export.
Sources : utils/storage/ai_threads.py, api_central.py (/ai/threads), cogs/rgpd.py.
Tickets de support¶
- Stockage : tables
tickets+ticket_messages(PostgreSQL), transcripts HTML danstranscripts/{guild_id}/{ticket_id}.html. - Chiffrement : non (contenu support, accessible aux administrateurs du serveur uniquement).
- Conservation (depuis le 28/10/2026) : un ticket reste consultable par ses deux parties — vous et l'équipe Octavius — jusqu'à ce que chacune le supprime de son côté. Supprimer un ticket le retire de votre messagerie seulement ; il n'est effacé pour de bon (ticket, messages, comptes rendus HTML/PDF) que lorsque les deux parties l'ont supprimé. Une nouvelle réponse de l'autre partie le fait réapparaître chez vous.
- Archivage : un ticket sans activité depuis 30 jours passe dans la section « Archives » de la messagerie ; il reste lisible par les deux parties (ce n'est pas une suppression).
- Anonymisation RGPD : via
/mydata delete, lesubjectdevient[anonymisé RGPD], leowner_iddevient0, les messages du client sont supprimés (les réponses staff restent pour la traçabilité support).
Sources : api_central.py (delete_ticket, TICKET_ARCHIVE_DAYS), cogs/rgpd.py (mydata_delete).
Ancienne messagerie interne entre administrateurs¶
- Fonction retirée le 30/10/2026 : le tableau de bord ne propose plus de messagerie entre administrateurs (les journaux Discord et les notifications du tableau de bord la remplacent).
- Messages déjà échangés : effacés le 30/10/2026, ainsi que les aperçus qu'en gardaient les notifications du tableau de bord. Octavius ne conserve plus aucun de ces messages. Seules les sauvegardes de la base faites avant cette date en contiennent encore une copie ; elles sont remplacées au fil de leur renouvellement (14 jours au plus).
Sources : migrations/026_drop_staff_messaging.sql, scripts/purge_internal_messaging.py.
Liste des membres bannis (tableau de bord)¶
- Contenu : copie de la liste des bannissements Discord du serveur — identifiant, pseudo, avatar, raison du ban, et, quand le journal d'audit Discord ou celui d'Octavius le permet, la date et le modérateur.
- Finalité : permettre aux administrateurs de voir qui est banni et pourquoi, et de débannir depuis le tableau de bord.
- Stockage : fichier
.ipc/guild_<id>_bans.jsonsur le serveur d'Octavius, relu sur Discord à l'ouverture de la page et mis à jour à chaque ban ou débannissement. - Conservation : une personne disparaît de la liste dès qu'elle est débannie ; la liste disparaît avec le serveur.
Sources : utils/bans_snapshot.py, cogs/guild_snapshot.py (on_member_ban / on_member_unban).
Custom commands¶
- Stockage : table
custom_commands(response,created_by,use_count). - Effacement RGPD :
created_byest mis àNULLlors d'un/mydata delete.
Sources : migrations/006_custom_commands.sql, cogs/rgpd.py.
Feedback¶
- Stockage : table
feedback(catégorie, message, user_id, guild_id, is_read, read_by). - Sanitization :
InputSanitizer.clean_text(anti-XSS et anti-mention) avant insertion. - Conservation : indéfinie. Les administrateurs du serveur et l'équipe Octavius peuvent les consulter.
Sources : migrations/010_feedback.sql, cogs/feedback.py.
3.3 Données dérivées (statistiques)¶
| Donnée | Finalité | Conservation |
|---|---|---|
user_xp.xp / level |
Gamification leveling | Jusqu'à /mydata delete (suppression complète) |
total_messages |
Statistique d'usage (/rank) |
Idem |
last_message_at |
Cooldown 60 s sur l'attribution XP | Idem |
custom_commands.use_count |
Statistiques d'usage commandes | Indéfinie |
guild_snapshots |
Anti-nuke rollback | 24 h (throttle 1/h, max 24 snapshots/guild) |
Sources : migrations/002_leveling.sql, migrations/005_guild_snapshots.sql, utils/snapshot_history.py.
3.4 Compte web (tableau de bord)¶
- Stockage : table
accounts(username,email,discord_id,oauth_access_token,oauth_refresh_token,oauth_expires_at). - Authentification : exclusivement OAuth2 Discord. Octavius ne gère et ne conserve aucun mot de passe : cette possibilité a été entièrement supprimée du code le 7 juillet 2026.
- Sécurité des tokens OAuth Discord : chiffrés via Fernet avec la clé
OAUTH_TOKEN_ENCRYPTION_KEYavant stockage. - Conservation : tant que le compte est actif. Suppression du compte sur demande (
[email protected]) ou via fermeture du compte Discord lié.
Sources : migrations/001_init.sql:35-56, utils/crypto.py, api_central.py (Fernet OAuth).
3.5 Paiements¶
- Stockage local : table
subscriptions(stripe_customer_id,stripe_subscription_id,stripe_price_id,tier,status,current_period_end,is_lifetime). - Stockage chez Stripe : nom, adresse de facturation, numéro de carte chiffré, historique des transactions. Octavius ne stocke jamais les données de carte bancaire — tout transite par Stripe via Stripe Checkout.
- Conservation : tant que l'abonnement est actif + 10 ans pour les obligations comptables (article L.123-22 du Code de commerce).
Sources : migrations/008_subscriptions.sql, utils/stripe_client.py.
3.6 Programme d'affiliation¶
- Stockage : tables
affiliates(code, statut, taux de commission,payout_method,payout_detailsJSONB),affiliate_referrals,affiliate_commissions. - Données de paiement affilié : selon le mode choisi (PayPal email, IBAN). Stockés dans
payout_detailsJSONB. Pour les IBAN, un chiffrement applicatif est recommandé (à implémenter en V2). - Conservation : indéfinie tant que l'affilié est actif. Suppression sur demande après règlement des commissions dues.
Sources : migrations/009_affiliates.sql, cogs/affiliate.py.
3.7 Données techniques¶
| Donnée | Finalité | Conservation |
|---|---|---|
| Adresse IP | Anti-bruteforce (/auth/login), anti-flood /ai/* |
Fenêtre glissante du RateLimiter (5 min à 1 h max) |
| Logs nginx | Diagnostic, sécurité (Phase 1.5bis) | Rotation 10 MB × 3 fichiers (auto-purge) |
| Logs bot | Diagnostic application | Rotation 5 MB × 5 fichiers |
| Métriques Prometheus | octavius_http_requests_total, latences |
Compteurs in-memory, exposés sur /metrics |
| Sentry breadcrumbs (optionnel) | Crash reporting | 30 jours côté Sentry (envoi conditionné à SENTRY_DSN, send_default_pii=False) |
Sources : utils/rate_limit.py, utils/observability.py, nginx/nginx.conf.
3.8 Audit de modération¶
- Stockage : table
mod_audit_log(action,actor_id,target_id,reason,metadataJSONB). - Actions tracées : ban, unban, kick, mute, unmute, warn, clear, lockdown, unlockdown, antinuke_restore.
- Conservation :
- 0 à 90 jours : identifiants conservés (enquête support, obligations légales modération).
- À partir de 90 jours : anonymisation automatique (actor_id, target_id, reason et metadata mis à
NULL). L'horodatage, l'action et leguild_idsont conservés pour des statistiques agrégées. - Tâche automatique :
anonymize_loop(tasks.loop(hours=24)) —cogs/audit.py:80-82.
Sources : migrations/007_mod_audit_log.sql, utils/audit_log.py:89-117.
3.9 Notifications du tableau de bord¶
- Finalité : informer les administrateurs d'un serveur de ce qui s'y passe, y compris en leur absence (cloche du tableau de bord) : qui a fait quoi, où et quand.
- Contenu : type d'action (réglage modifié, action faite depuis le tableau de bord, changement fait dans Discord et lu dans son journal d'audit, arrivée, départ, sanction, ticket, alerte de sécurité), identifiant et pseudo Discord de son auteur et du membre concerné, nom du salon ou du rôle, motif d'une sanction. Jamais le contenu d'un message Discord, ni un code premium, ni un secret de webhook.
- Notifications privées : un ticket de support (avec son sujet) n'est visible que de ses destinataires ; ce filtrage est fait par le serveur, et ce contenu ne transite jamais par le flux temps réel commun aux administrateurs.
- Destinataires : les administrateurs du serveur concerné connectés au tableau de bord (ou les seuls destinataires pour une notification privée).
- Conservation : 200 dernières notifications par serveur, 30 jours maximum, puis suppression automatique. Le repère « lu jusqu'à » de chaque administrateur expire après 45 jours sans lecture.
Sources : utils/notifications.py, utils/activity.py, utils/live_events.py.
4. Bases légales du traitement (article 6 RGPD)¶
| Traitement | Base légale |
|---|---|
| Fourniture du service (commandes bot, dashboard) | Exécution du contrat (art. 6.1.b) |
| Mémoire conversationnelle IA | Consentement (art. 6.1.a) — opt-in implicite, opt-out via /memory off |
| Modération et audit | Intérêt légitime (art. 6.1.f) — sécurité du serveur, lutte contre les abus |
| Rate-limiting (IP) | Intérêt légitime (art. 6.1.f) — sécurité du Service |
| Paiements (Stripe) | Exécution du contrat (art. 6.1.b) + obligation légale comptable (art. 6.1.c) |
Statistiques agrégées (/analytics) |
Intérêt légitime (art. 6.1.f) — amélioration du Service |
| Logs et monitoring (Sentry, Prometheus, nginx) | Intérêt légitime (art. 6.1.f) — sécurité et continuité |
5. Sous-traitants et destinataires¶
Vos données sont transmises aux sous-traitants suivants, chacun lié par un accord garantissant un niveau de protection conforme au RGPD :
| Sous-traitant | Fonction | Données transmises | Localisation des données | Encadrement juridique |
|---|---|---|---|---|
| Discord Inc. | Plateforme support (le bot tourne sur Discord) | Tout ce que vous y envoyez (messages, IDs, rôles) | États-Unis (transfert hors UE) | Clauses contractuelles types CE 2021 + DPF |
| Anthropic PBC (Claude) | Inférence IA conversationnelle — moteur par défaut de /ia, de l'auto-réponse et de la voix IA |
Le message courant + la mémoire conversationnelle (déchiffrée juste avant l'appel) + vos derniers messages dans ce salon et les réponses du bot (contexte de compréhension — jamais les messages des autres membres) | États-Unis (transfert hors UE) | Clauses contractuelles types CE 2021 (décision 2021/914) + DPA Anthropic |
| ipapi.co (Kloudend, Inc.) | Ville approximative pour la météo de l'onglet Actualité du dashboard (appel fait par notre serveur, résultat gardé 1 h) | Votre adresse IP | États-Unis | Clauses contractuelles types CE 2021 |
| Open-Meteo | Prévisions météo de l'onglet Actualité | Des coordonnées arrondies (~10 km), envoyées par notre serveur — jamais votre adresse IP | Suisse (décision d'adéquation) | — |
| Google LLC (Gemini) | Inférence IA pour l'analyse lourde (images, URL/YouTube, résumés) et la génération d'images /ia_image |
Le message ou l'image concernés + la mémoire conversationnelle (déchiffrée juste avant l'appel) + vos derniers messages dans ce salon et les réponses du bot (contexte de compréhension — jamais les messages des autres membres) | États-Unis | Clauses contractuelles types CE 2021 + DPF |
| Groq Inc. / OpenAI, LLC / Microsoft (Edge TTS) | Voix IA en direct (fonctionnalité opt-in, plan Gold) : transcription vocale (STT) et synthèse vocale (TTS) | L'audio capté dans le salon vocal pendant une session converse active, transcrit puis synthétisé |
États-Unis (Groq, OpenAI) / variable (Edge) | Clauses contractuelles types CE 2021 + DPA respectifs |
| VirusTotal (Google / Chronicle) | AntiVirus — vérification de réputation (opt-in : uniquement si l'instance configure une clé API ; sinon aucune donnée n'est envoyée, analyse 100 % locale) | Uniquement, pour les cas douteux non tranchés localement : l'URL du lien signalé ou l'empreinte SHA-256 du fichier (jamais le contenu du fichier ni un message) | États-Unis | Clauses contractuelles types CE 2021 + conditions VirusTotal |
| Stripe Inc. / Stripe Payments Europe | Encaissement abonnements + Lifetime | Email, nom, adresse, données de carte chiffrées | UE (Irlande) + États-Unis | Stripe Data Processing Agreement |
| Sentry (Functional Software Inc.) | Crash reporting (optionnel, si configuré) | Exception stack traces, breadcrumbs (IP/PII stripped via send_default_pii=False) |
États-Unis | Sentry DPA + Clauses contractuelles types |
| Hetzner Online GmbH (Nuremberg, Allemagne) | Hébergement du bot + base de données (VPS) | L'ensemble des données du Service | UE (Allemagne) | Accord de sous-traitance (DPA) Hetzner — données hébergées dans l'UE |
| PayPal / banque destinataire (affiliés) | Versement des commissions affiliation | Email PayPal ou IBAN, montant | Selon la banque | À mettre en place avec le DPO |
Transferts hors UE : pour les sous-traitants américains (Discord, Anthropic, Google, Groq, OpenAI, Sentry, et VirusTotal si activé), les transferts sont encadrés par les Clauses contractuelles types de la Commission européenne (décision 2021/914), ainsi que, pour Google, l'adhésion au Data Privacy Framework UE–US (juillet 2023).
6. Durées de conservation — récapitulatif¶
| Donnée | Durée |
|---|---|
| Mémoire IA chiffrée (Discord) | Jusqu'à reset, opt-out ou /mydata delete (anciens échanges résumés, pas effacés) |
| Discussions de l'assistant IA (dashboard) | Jusqu'à suppression par vous ou /mydata delete |
| Tickets de support | Jusqu'à suppression par chacune des deux parties (archivés après 30 jours sans activité, toujours lisibles) |
| Anciens messages de la messagerie interne (retirée le 30/10/2026) | Effacés le 30/10/2026 (copies de sauvegarde : 14 jours au plus) |
| Liste des membres bannis | Tant que la personne est bannie (retirée au débannissement) |
| Audit modération identifié | 90 jours, puis anonymisation automatique |
| Audit modération anonymisé | Conservé indéfiniment (stats agrégées) |
| XP / leveling | Jusqu'à /mydata delete |
| Custom commands | Jusqu'à suppression manuelle ou anonymisation /mydata delete |
| Compte web + tokens OAuth chiffrés | Tant que le compte est actif |
| Abonnement Stripe | Tant qu'actif + 10 ans (obligation comptable) |
| Logs nginx / bot | Rotation automatique (taille + nombre de fichiers) |
| Snapshots anti-nuke | 24 dernières entrées par serveur (rolling) |
| Notifications du tableau de bord | 200 dernières par serveur, 30 jours maximum |
7. Vos droits¶
Vous disposez des droits suivants (articles 15 à 22 du RGPD) :
7.1 Droit d'accès (art. 15)¶
Consulter l'ensemble des données vous concernant.
- Méthode rapide : commande Discord
/mydata view(affichage immédiat). - Export complet :
/mydata export— produit un fichier JSON conforme à l'art. 20 (portabilité), envoyé en DM éphémère.
7.2 Droit de rectification (art. 16)¶
Modifier les données inexactes. La plupart des données sont auto-modifiables via le dashboard ou les commandes (/setrole, /config channel, etc.). Pour les données de compte (email, etc.), contactez [email protected].
7.3 Droit à l'effacement (art. 17)¶
- Méthode rapide : commande Discord
/mydata delete SUPPRIMER. - Effets : suppression XP cross-guild, anonymisation tickets owned, suppression messages clients, anonymisation custom commands.
- Limites : les réponses staff dans les tickets sont conservées (traçabilité support), les audit logs sont anonymisés au bout de 90 jours selon le calendrier de rétention.
- Effacement complet du compte web :
[email protected].
7.4 Droit à la portabilité (art. 20)¶
Export structuré et lisible (/mydata export).
7.5 Droit d'opposition (art. 21)¶
Vous pouvez vous opposer aux traitements fondés sur l'intérêt légitime (audit, stats agrégées). Contactez [email protected] en motivant votre demande.
7.6 Droit à la limitation (art. 18)¶
Possibilité de geler le traitement en cas de litige sur l'exactitude. Contactez [email protected].
7.7 Droit d'opposition au profilage automatisé (art. 22)¶
Octavius ne réalise pas de profilage automatisé produisant des effets juridiques à votre encontre. Les réponses IA sont des sorties stochastiques sans valeur décisionnelle officielle.
7.8 Droit de retirer son consentement (art. 7)¶
Pour la mémoire IA : /memory off. Le retrait n'affecte pas la licéité du traitement préalable.
7.9 Délai de réponse¶
L'Éditeur s'engage à répondre à toute demande RGPD dans un délai maximal d'un mois, prorogeable de deux mois en cas de complexité (avec notification motivée).
7.10 Réclamation auprès d'une autorité de contrôle¶
Vous pouvez introduire une réclamation auprès de la CNIL (autorité française) :
- En ligne : https://www.cnil.fr/fr/plaintes
- Par courrier : CNIL — 3 Place de Fontenoy — TSA 80715 — 75334 Paris Cedex 07
- Téléphone : +33 1 53 73 22 22
8. Sécurité¶
Mesures techniques et organisationnelles en place :
- Chiffrement en transit : TLS 1.2/1.3 obligatoire (HSTS preload, Let's Encrypt).
- Chiffrement au repos : Fernet (AES-128-CBC + HMAC-SHA256) pour la mémoire IA et les tokens OAuth.
- Aucun mot de passe stocké : l'authentification passe exclusivement par votre compte Discord (OAuth2) ; Octavius ne gère ni ne conserve aucun mot de passe.
- Sanitization stricte :
utils/sanitize.InputSanitizer(anti-XSS, anti-prompt-injection, anti-image-bomb PIL) avant toute manipulation d'entrée utilisateur. - Rate-limiting : multi-niveaux (nginx + RateLimiter applicatif) sur tous les endpoints sensibles.
- Isolation multi-tenant : les données de chaque serveur Discord sont cloisonnées, avec des tests automatisés dédiés à cette isolation.
- Audit log immuable côté code : la table
mod_audit_logn'expose pas d'UPDATE(insert-only + anonymisation programmée). - Bind réseau restrictif : Postgres et Redis ne sont pas exposés sur Internet (réseau interne docker, override
ports: !reset []en prod). - Filtres IA stricts : 9
SafetySettingGemini (BLOCK_LOW_AND_ABOVEsur harassment, hate speech, sexually explicit, dangerous content +BLOCK_MEDIUM_AND_ABOVEsur civic integrity et catégories image). - Anti-image-bomb : décodage Pillow avec limites strictes (dimensions, format).
- Tests automatisés : plus de 1 200 tests exécutés avant chaque mise en production (sanitization, chiffrement, rate-limit, schémas de validation, isolation).
9. Cookies et traceurs¶
Aucun cookie de mesure d'audience ou publicitaire n'est posé. Aucun pixel tiers (Google Analytics, Meta Pixel, etc.) n'est intégré.
Éléments indispensables (toujours actifs, sans consentement)¶
Exemptés de consentement au titre de l'article 82 de la loi Informatique et Libertés, car strictement nécessaires au service que vous demandez :
- Cookie
octavius_session: maintient votre connexion au dashboard. HttpOnly (illisible par le JavaScript), Secure, SameSite=Lax, durée 4 heures. Supprimé à la déconnexion. - Stockage local du navigateur (
localStorage, jamais transmis à nos serveurs) : indicateur de session ouverte et serveur actif, thème, langue, mode d'affichage, heure de dernière activité (déconnexion automatique après 30 minutes d'inactivité), dernière discussion ouverte dans l'assistant IA (son identifiant seulement : les discussions elles-mêmes sont enregistrées sur votre compte, cf. § 3.2), et votre choix concernant les cookies. - Cloudflare Turnstile : vérification anti-robot sur la page de connexion et les formulaires. Cloudflare traite votre adresse IP et des signaux techniques pour distinguer un humain d'un robot.
- Font Awesome (icônes), servi par le CDN
cdnjs.cloudflare.com: votre adresse IP est vue par Cloudflare lors du téléchargement.
Éléments facultatifs (uniquement avec votre accord)¶
- Polices Google Fonts : la typographie du site est téléchargée depuis les serveurs de Google, ce qui transmet votre adresse IP à Google. Sans accord, les polices déjà présentes sur votre appareil sont utilisées et aucune requête n'est envoyée à Google.
Donner, refuser ou retirer votre accord¶
Un bandeau vous propose de tout accepter, tout refuser ou de personnaliser votre choix lors de votre première visite. Refuser est aussi simple qu'accepter et n'empêche pas d'utiliser le service. Vous pouvez modifier votre choix à tout moment via le lien « Cookies » en bas de la page d'accueil ou « Gérer mes cookies » sur la page de connexion. Votre choix est conservé dans votre navigateur ; il vous sera redemandé si la liste des éléments facultatifs change.
10. Mineurs¶
Le service est destiné à un public ayant au moins 13 ans (ou l'âge minimal Discord dans votre juridiction ; 15 ans en France pour le consentement RGPD autonome). En cas de soupçon de traitement de données d'un mineur en dessous de cet âge sans consentement parental, contactez [email protected] pour suppression immédiate.
11. Modifications¶
Cette politique peut évoluer. Les modifications substantielles vous seront notifiées :
- bannière dans le tableau de bord pendant 30 jours,
- message dans le serveur de support,
- email aux abonnés payants.
L'historique complet des versions est public dans le dépôt Git (commande git log docs/privacy-policy.md).
12. Contact¶
| Sujet | Contact |
|---|---|
| Demande RGPD générale | [email protected] |
| Suppression de compte / données | Commande Discord /mydata delete OU [email protected] |
| Vulnérabilité de sécurité | [email protected] (PGP fourni sur demande) |
| Réclamation contractuelle | [email protected] |
| Autorité de contrôle | CNIL — https://www.cnil.fr/fr/plaintes |
Document : docs/privacy-policy.md. En cas de divergence entre cette politique et une autre communication, ce document fait foi.