La sécurité d’une application mobile et sa conformité RGPD ne sont pas des fonctionnalités « nice to have ». Ce sont des exigences fondamentales qui protègent vos utilisateurs et votre entreprise. Voici les bonnes pratiques que nous appliquons chez Opus Belli.
RGPD : les obligations essentielles
Le Règlement Général sur la Protection des Données s’applique à toute application traitant des données d’utilisateurs européens. Voici les points clés :
Minimisation des données
Ne collectez que les données strictement nécessaires au fonctionnement de votre app. Pour Essence Alert, nous utilisons la géolocalisation uniquement pour afficher les stations proches — cette donnée n’est jamais stockée sur nos serveurs.
Consentement explicite
L’utilisateur doit donner son accord clair et éclairé avant toute collecte. Cela signifie :
- Pas de cases pré-cochées
- Explication claire de chaque donnée collectée et sa finalité
- Possibilité de refuser sans perdre l’accès aux fonctionnalités essentielles
- Retrait du consentement aussi simple que son attribution
Droits des utilisateurs
Votre app doit permettre aux utilisateurs d’exercer facilement leurs droits :
- Accès — Voir quelles données vous détenez
- Rectification — Corriger les données inexactes
- Effacement — Supprimer leur compte et toutes leurs données
- Portabilité — Exporter leurs données dans un format standard
Sécurité technique : les fondamentaux
1. Communications chiffrées
Toutes les communications entre l’app et le serveur doivent utiliser HTTPS/TLS. Activez le certificate pinning pour prévenir les attaques man-in-the-middle. Avec React Native, configurez le transport security dans votre configuration Expo.
2. Stockage sécurisé
Ne stockez jamais de données sensibles en clair sur l’appareil :
- iOS — Utilisez le Keychain pour les tokens et mots de passe
- Android — Utilisez le KeyStore et EncryptedSharedPreferences
- Expo — expo-secure-store fournit une abstraction cross-platform
Évitez AsyncStorage pour toute donnée sensible — il n’est pas chiffré.
3. Authentification robuste
- Tokens JWT avec expiration courte et refresh tokens
- Validation côté serveur systématique (ne jamais faire confiance au client)
- Rate limiting sur les endpoints d’authentification
- Support de l’authentification biométrique (Face ID, Touch ID) via expo-local-authentication
4. Protection du code
Le code JavaScript d’une app React Native peut être extrait. Mesures de protection :
- Obfuscation — Rendre le code difficile à lire (Hermes le fait partiellement)
- Clés API côté serveur — Ne jamais embarquer de secrets dans le code client
- Variables d’environnement — Séparer les configurations dev/staging/production
Checklist sécurité avant publication
| ✅ | HTTPS/TLS sur tous les endpoints |
| ✅ | Aucune clé API ou secret dans le code source |
| ✅ | Stockage sécurisé (Keychain/KeyStore) pour les données sensibles |
| ✅ | Validation de toutes les entrées utilisateur côté serveur |
| ✅ | Politique de confidentialité accessible et à jour |
| ✅ | Consentement RGPD avec granularité (analytics, localisation, etc.) |
| ✅ | Mécanisme de suppression de compte fonctionnel |
| ✅ | Logs sans données personnelles identifiantes |
| ✅ | Dépendances à jour (npm audit / expo doctor) |
Share this content: