Sécurité & confidentialité
Objectif
Comprendre les accès, le modèle de données et les limites de sécurité de CarPilot 15.
Accès & identification (v15)
Contrairement aux versions antérieures, CarPilot 15 demande une identification selon la porte :
| Porte | Mécanisme observé |
|---|---|
| Conducteur | Nom + Matricule (option « Se souvenir de moi ») |
| Administration | clé d'accès (ou « Continuer sans connexion » en mode conduite) |
| Régulation | clé d'accès exploitation |
| Parent | sans connexion (abonnement alertes) |
La nature exacte de ces accès (clé partagée unique vs comptes individuels, stockage et vérification des matricules/clés) n'est pas confirmée par lecture du code. Ne pas surévaluer la robustesse tant que ce n'est pas vérifié ; documenter ensuite les recommandations (rotation des clés, droits par rôle).
Stockage des données
Le repo v15 embarque @supabase/supabase-js, web-push et qrcode (package.json) — ce qui
suggère un back-end Supabase et des notifications push, là où la v9 était décrite comme
« 100 % front-end / localStorage ».
Déterminer côté code v15 ce qui est persisté en Supabase (circuits, abonnements parents,
alertes…) vs en localStorage (réglages locaux), et en déduire la politique de
confidentialité réelle. Le relevé _meta/04-releve-v15-app-deployee.md liste ces points.
Données personnelles (parents / élèves)
L'espace Parent collecte un numéro de mobile / e-mail avec consentement explicite et désabonnement (« STOP par SMS ») → traitement de données personnelles soumis au RGPD. Minimiser, sécuriser, et ne jamais partager hors contexte (forum, captures à anonymiser).
Clés API de routage
Repli automatique sur OSRM public si la clé ORS manque. À durcir : restreindre les clés par référent, rotation des clés.