Points à valider
Cette page rassemble les questions que l'équipe projet ne peut pas trancher seule. Elles sont adressées à un juriste, au délégué à la protection des données (DPO) de la Ville ou à la DSI, selon leur nature. Chaque point renvoie à la page qui l'explique et indique ce que le code fait aujourd'hui, pour que la réponse puisse être traduite directement en action. Aucune des analyses de cette documentation ne constitue un avis juridique.
Comment utiliser cette liste
- Le destinataire répond point par point, en précisant le texte applicable.
- L'équipe met à jour la page concernée, le registre des traitements ou le registre des risques.
- Si la réponse impose un changement de code, une tâche est ouverte et le point reste « en cours » jusqu'à sa livraison.
Pour un juriste
Jeux d'argent
| N° | Question | Situation actuelle | Page |
|---|---|---|---|
| JUR-1 | Un dispositif sans mise réelle, dont la dotation en ethers fictifs est financée par la commune, sort-il bien de la définition de la loterie de l'article L322-2 du code de la sécurité intérieure ? | Aucune vente, aucune conversion, réseau de test | Veille juridique |
| JUR-2 | Quels sont les articles exacts du CSI applicables aux exceptions, et quelle autorité serait compétente pour une variante associative ? | Numérotation divergente selon les sources secondaires | Veille juridique |
| JUR-3 | Les EtherPoints, échangeables contre des offres de commerçants, sont-ils un avantage en nature ou relèvent-ils d'un autre régime (fidélité, promotion) ? | Points gagnés par la participation, sans hasard | Crypto-actifs et MiCA |
| JUR-4 | Le ticket à gratter, acheté 50 ou 100 EtherPoints et qui attribue au hasard une offre de commerçant (POST /api/marketplace/scratch), est-il un jeu de hasard ? Les points, gagnés gratuitement mais aussi par l'achat de tickets, constituent-ils une mise ? |
Tirage par crypto.randomInt parmi les offres en stock ; l'échange direct d'une offre choisie existe toujours |
Veille juridique |
| JUR-5 | Quel contenu minimal pour un règlement de jeu : durée, dotation, absence de valeur, remboursement, litiges ? Faut-il un dépôt ? | Traité : règlement publié sur /reglement et dans l'application, reproduit dans Règlement de participation ; dépôt éventuel à confirmer |
Règlement de participation |
Crypto-actifs
| N° | Question | Situation actuelle | Page |
|---|---|---|---|
| JUR-6 | La conservation de clés pour des ethers de réseau de test, sans valeur, échappe-t-elle bien à l'agrément de prestataire de services sur crypto-actifs de MiCA ? | Portefeuille custodial | Crypto-actifs et MiCA |
| JUR-7 | Le badge POAP non transférable relève-t-il de l'exclusion des jetons non fongibles uniques ? | Un badge par participant et par tour | Crypto-actifs et MiCA |
| JUR-8 | Le paquet @chainlink/contracts est sous BUSL-1.1, mais chaque fichier compilé porte un en-tête MIT. Cette lecture fichier par fichier est-elle opposable ? |
Bytecode issu de fichiers MIT | Licences |
Information du public et propriété intellectuelle
| N° | Question | Situation actuelle | Page |
|---|---|---|---|
| JUR-9 | Quelles mentions légales (LCEN) pour le web, le mobile et le site de l'Office de Tourisme : éditeur, directeur de la publication, hébergeur ? | Traité pour le web (/mentions-legales) et le mobile (écran Informations légales) avec les valeurs du scénario fictif ; site de l'Office de Tourisme inchangé |
Cookies, mentions et CGU |
| JUR-10 | Le chat en direct, qui diffuse des messages de participants sans modération, entre-t-il dans le champ du règlement sur les services numériques (point de contact, signalement) ? | Messages tronqués à 280 caractères, ni stockés ni modérés | Veille juridique |
| JUR-11 | Qui détient les droits sur le code d'un projet pédagogique réalisé pour une ville fictive, et quelle licence publier ? | Traité : fichier LICENSE MIT à la racine, champ license à MIT dans les package.json des six sous-projets ; titularité des droits à confirmer |
Licences |
| JUR-12 | L'engagement de ne pas poursuivre un chercheur de bonne foi, écrit dans SECURITY.md, engage-t-il valablement la Ville ? |
Engagement publié | Signaler une vulnérabilité |
| JUR-13 | Quelles obligations d'accessibilité s'appliquent concrètement (déclaration, schéma pluriannuel, sanctions) ? | Aucune déclaration publiée | Accessibilité numérique |
| JUR-14 | Le contrôle de l'âge par une photo de pièce d'identité examinée par un agent est-il suffisant et proportionné pour ce dispositif ? Faut-il un contrôle de correspondance avec la personne, ou au contraire une solution qui ne transmet pas l'identité ? | Vérification humaine sur photo, images effacées à la décision | RGPD |
Pour le DPO
| N° | Question | Situation actuelle | Page |
|---|---|---|---|
| DPO-1 | Pour un service communal, la base légale du compte doit-elle être l'exécution du contrat ou la mission d'intérêt public ? | Exécution du contrat | RGPD |
| DPO-2 | Quelle base légale pour la création d'un compte au nom du bénéficiaire d'un cadeau, qui n'a fait aucune démarche ni fait vérifier sa majorité ? Faut-il l'informer, et comment ? | Compte créé avec portefeuille, rattaché à l'expéditeur comme filleul, sans email d'information dans le mode sur chaîne | Registre des traitements |
| DPO-3 | La mesure d'audience, qui porte l'identifiant du compte connecté et la source UTM, peut-elle bénéficier de l'exemption de consentement ? À défaut, un bandeau est nécessaire sur le web. | Traité côté web : bandeau de consentement (ConsentBanner.tsx, lib/consent.ts), aucune mesure ni origine de visite avant accord ; événements de connexion du serveur hors bandeau |
Cookies, mentions et CGU |
| DPO-4 | Quelles durées de conservation retenir pour les comptes inactifs, les événements d'audience, le journal d'administration et les journaux techniques ? | Durées annoncées, aucune purge implémentée | RGPD |
| DPO-5 | L'anonymisation actuelle suffit-elle, alors que Ticket.payerWallet et transactionHash conservent le lien vers l'ancienne adresse ? Faut-il effacer ces colonnes ? |
Email et clé supprimés, tickets conservés | Blockchain et données personnelles |
| DPO-6 | La publication d'adresses pseudonymes sur une blockchain répliquée mondialement constitue-t-elle un transfert hors UE, et comment le documenter ? | Seules des adresses et des montants sont publiés | Blockchain et données personnelles |
| DPO-7 | Une analyse d'impact (AIPD) est-elle nécessaire (technologie innovante, données publiques et immuables, copies de pièces d'identité, public potentiellement large) ? | Traité : version de travail dans AIPD, avis du DPO à recueillir | AIPD |
| DPO-8 | Le contenu de la politique de confidentialité est-il complet et exact : cadeau de ticket, vérification d'âge, caractère définitif des transactions, perte du solde de test à la fermeture, mesure d'audience reliée au compte ? | Traité : politique réécrite dans content/legal.ts, publiée sur /confidentialite et dans l'application ; validation du DPO à recueillir |
Cookies, mentions et CGU |
| DPO-9 | L'export doit-il inclure les préférences, les quêtes et le lien de parrainage ? | Absents de l'export | RGPD |
| DPO-10 | Les deux adresses de contact dpo@etherbay.fr et dpo@destination-etherbay.fr désignent-elles la même personne ? |
Adresses différentes selon le site | Cookies, mentions et CGU |
| DPO-11 | Quelles clauses dans les contrats de sous-traitance (hébergeur, SMTP, S3, fournisseur RPC) ? | Prestataires non désignés | Registre des traitements |
| DPO-12 | Quelle base légale et quelles durées pour la vérification d'âge : délai maximal d'une pièce jamais traitée, conservation du motif de refus dans le journal d'administration, agents habilités à consulter les pièces ? | Images effacées à la décision ; aucune limite pour une demande en attente ; tout ADMIN peut consulter | Registre des traitements |
Pour la DSI
Ces points ne sont pas juridiques mais conditionnent la conformité ou la sécurité.
| N° | Décision attendue | Page |
|---|---|---|
| DSI-1 | Transférer la propriété VRF du contrat à un multisig de la Mairie après chaque déploiement. Implémenté dans les scripts : deploy-sepolia.ts appelle transferOwnership(VRF_OWNER_ADDRESS), le multisig doit ensuite appeler acceptOwnership() ; reste à l'exécuter sur Sepolia avec le multisig de l'équipe, aucun déploiement n'existant encore |
Clés et garde des portefeuilles |
| DSI-2 | Séparer les comptes administrateur, trésorerie et opérateur, et adapter le reversement de commission en conséquence. Implémenté dans smart-contract/scripts/lib/roles.ts : MAIRIE_ADMIN_ADDRESS, MAIRIE_TREASURY_ADDRESS, OPERATOR_ADDRESS distincts, renonciation du déployeur ; reste à exécuter sur Sepolia. Le reversement appelle toujours setTreasury si l'adresse saisie diffère : sur Sepolia, saisir la trésorerie en place |
Clés et garde des portefeuilles |
| DSI-3 | Écrire un outil de re-chiffrement avant toute rotation de ENCRYPTION_KEY, et organiser la sauvegarde de ce secret |
Cryptographie et secrets |
| DSI-4 | Décider si la 2FA des administrateurs doit être renforcée (WebAuthn, interdiction de la 2FA par email pour l'ADMIN). Le refus d'un code TOTP sans premier facteur est fait : /2fa/verify exige un loginTicket ou une session du même compte |
Authentification |
| DSI-5 | Restreindre cancelRound à l'état Open lors du prochain redéploiement du contrat |
Modèle de menaces |
| DSI-6 | Créer la page web de confirmation de suppression, ou retirer le lien de l'email | RGPD |
| DSI-7 | Planifier un audit d'accessibilité et terminer la mise en accessibilité de l'application mobile | Accessibilité numérique |
| DSI-8 | Désigner les agents habilités à consulter les pièces d'identité et décider s'il faut un rôle dédié plutôt que le rôle ADMIN | Autorisations |
Suivi
| N° | Destinataire | Réponse | Date | Action |
|---|---|---|---|---|
| JUR-1 à JUR-14 | Juriste | En attente | ||
| DPO-1 à DPO-12 | DPO | En attente | ||
| DSI-1, DSI-2 | DSI | En cours : implémentés dans les scripts de déploiement | Exécution sur Sepolia avec les clés et les fonds de l'équipe | |
| DSI-3 à DSI-8 | DSI | En attente |
Ce tableau est à tenir à jour au fil des réponses. Une réponse qui modifie une qualification (par exemple JUR-1 ou JUR-6) impose de relire la veille juridique et le registre des risques.