Aller au contenu

Confidentialité

Données collectées par Forgewatch, pseudonymisation, durées de conservation et droits des joueurs.

Forgewatch traite, pour le compte des administrateurs de serveurs (responsables de traitement), des données de joueurs Hytale. Principes appliqués : minimisation, pseudonymisation par défaut, durées de conservation bornées, droits d'accès et d'effacement outillés.

Données collectées par le plugin

DonnéeCollectéeDétail
Identifiant du joueurToujours, pseudonymiséHMAC-SHA256(sel propre au compte, UUID) calculé sur le serveur de jeu. L'UUID ne quitte jamais le serveur ; le sel, différent pour chaque compte, empêche de rapprocher un joueur d'un compte Forgewatch à l'autre.
Pseudo (nom affiché)Par défaut, désactivableUtile à la modération. Désactivable dans Paramètres → Données personnelles (côté API) et dans privacy.send_display_names (côté plugin).
Connexions, déconnexions, durée de sessionOuiStatistiques et rétention
CommandesOuiLogs de modération. Le code de /fw link est masqué.
Expulsions, bans (motif, auteur)OuiLogs de modération et ban réseau
ChatNon par défautSeulement si l'administrateur l'active. Le refus est appliqué deux fois : par le plugin, qui ne capture pas, et par l'API, qui ignore les messages. La durée de conservation est affichée et réglable (1 à 90 jours, 30 par défaut).
Santé du serveur (TPS, mémoire, nombre de joueurs)OuiAucune donnée personnelle
Adresse IP des joueursJamais

Durées de conservation

DonnéeDurée
Événements (plan Gratuit)7 jours
Événements (plans payants)90 jours (politique TimescaleDB + purge du worker)
ChatDurée choisie par le compte (1–90 j), dans la limite du plan
Compte expiréLecture seule 30 jours, puis purge des événements, agrégats, joueurs, bans et règles
Suppression du compteImmédiate et définitive (DELETE /api/accounts/:id, bouton dans Paramètres → Zone dangereuse)

Droits des joueurs

L'administrateur (rôle Propriétaire) répond aux demandes depuis Paramètres → Export / effacement des données d'un joueur :

  • Accès et portabilité : GET /api/accounts/:accountId/players/:playerId/export renvoie un fichier JSON avec la fiche joueur (identifiant pseudonymisé, pseudo, première et dernière apparition), les bans et la totalité des événements.

  • Effacement : DELETE /api/accounts/:accountId/players/:playerId supprime les événements, la présence journalière, les bans et la fiche joueur. La réponse indique le nombre d'événements supprimés.

Pour retrouver un joueur : recherche par pseudo, ou par le début de son identifiant pseudonymisé. Le plugin peut recalculer cet identifiant à partir de l'UUID et du sel du compte.

Sécurité

  • Clés serveur : hachées en argon2id, vérifiées à temps constant ; la rotation invalide l'ancienne clé immédiatement.

  • Webhooks Discord : chiffrés au repos en AES-256-GCM (ENCRYPTION_KEY) et masqués dans l'interface.

  • Sessions : cookie httpOnly et SameSite=Lax ; seul le SHA-256 du jeton est stocké. Liens magiques à usage unique valables 15 minutes.

  • Contrôle d'accès : vérifié par rôle sur chaque route, et testé (matrice rôle × route).

  • Aucun secret dans le code : tout passe par .env (voir .env.example).