Sécurité technique
Documentation détaillée du chiffrement et de l'architecture — Dernière mise à jour : 7 mai 2026
Cette page s'adresse aux utilisateurs souhaitant comprendre en détail comment Sentinel Family protège leurs données. Pour un résumé accessible, consultez la section Sécurité de l'accueil.
1. Architecture zero-knowledge
Sentinel Family repose sur un principe simple : le serveur ne possède pas les clés permettant de déchiffrer les positions GPS, les messages ou les photos. Le contenu reste illisible côté serveur.
Concrètement, le serveur (hébergé en France) ne fait qu'acheminer des paquets chiffrés entre les téléphones de votre famille. Il ne possède pas les clés permettant de déchiffrer ces paquets — seules les clés présentes sur les téléphones de votre famille le peuvent.
Définition « zero-knowledge » dans Sentinel Family : le serveur ne possède pas les clés cryptographiques nécessaires pour déchiffrer les positions, messages ou photos. Il transmet, stocke temporairement et route uniquement des données chiffrées de bout en bout.
Certaines métadonnées techniques (horodatage des connexions, identifiants opaques de session, taille des messages chiffrés) restent toutefois nécessairement visibles côté serveur pour acheminer correctement les paquets. Ces métadonnées ne révèlent ni le contenu ni la position GPS.
Conséquence pratique : même un piratage complet du serveur ne révélerait que des données chiffrées impossibles à exploiter sans les clés stockées sur les téléphones.
2. Chiffrement de bout en bout AES-256-GCM
Chaque message échangé entre les téléphones de votre famille est chiffré avec l'algorithme AES-256 en mode GCM (Galois/Counter Mode), un standard reconnu utilisé notamment par les protocoles TLS et Signal.
- Taille de clé : 256 bits (force cryptographique au-delà des standards bancaires actuels)
- Mode GCM : combine chiffrement et authentification (détecte toute altération du message)
- Nonce : 12 octets tirés aléatoirement pour chaque message ; deux messages identiques ne produisent jamais le même chiffré. Le rejeu est bloqué séparément, par une double déduplication (identifiant de message, puis empreinte SHA-256 du chiffré) et une fenêtre d'acceptation de 5 minutes, appliquées à la fois sur le relais et sur le téléphone destinataire
Les positions GPS, les notifications de zones, les alertes SOS, les photos selfie et les heartbeats des membres sont tous protégés de cette manière. Seuls les messages émis par le serveur lui-même — signal de présence en ligne, état de l'abonnement — circulent en clair : ils ne contiennent aucune donnée de localisation.
3. Établissement de la clé de famille (appairage par QR code)
Pour établir la clé de chiffrement partagée entre les téléphones d'une même famille, Sentinel Family n'utilise pas d'échange Diffie-Hellman : le téléphone qui crée la famille tire une clé AES-256 aléatoire avec le générateur cryptographique du système, et la transmet au second téléphone en présentiel, par lecture directe du QR code. Cette clé n'emprunte à aucun moment le réseau.
Le processus :
- Le téléphone qui crée la famille génère une clé AES-256 aléatoire, unique à cette famille
- Lors de l'appairage, cette clé est inscrite dans le QR code affiché à l'écran et lue par la caméra du second téléphone : elle ne transite ni par Internet ni par nos serveurs
- Les deux téléphones détiennent alors la même clé, conservée dans EncryptedSharedPreferences (Android Keystore)
- La clé n'est jamais envoyée au relais : le serveur ne détient aucun moyen de déchiffrer les messages
Cette clé de famille est directement la clé AES-256-GCM qui chiffre toutes les communications entre les membres. Contrepartie assumée de ce choix : elle est fixe et n'offre pas de confidentialité persistante (forward secrecy) ; la renouveler impose de refaire l'appairage.
4. Dérivation de clés HKDF-SHA256
Sentinel Family utilise HKDF-SHA256 (HMAC-based Key Derivation Function, RFC 5869) pour dériver de la clé de famille des sous-clés dédiées à un usage précis — notamment la clé qui calcule l'empreinte du réseau Wi-Fi. La clé de famille n'est ainsi jamais réutilisée telle quelle pour un calcul annexe.
Cette séparation garantit qu'une compromission éventuelle d'une clé ne compromet pas les autres usages. HKDF est défini dans la RFC 5869 et reconnu par le NIST.
5. Authentification HMAC-SHA256
Côté serveur, l'authentification des téléphones se fait par tokens signés HMAC-SHA256. Chaque token contient :
- L'identifiant familial (anonyme, généré aléatoirement)
- L'identifiant du membre (anonyme)
- Le rôle (parent, enfant, sénior)
- Une signature HMAC empêchant toute falsification
Les adresses IP loguées côté serveur (protection anti-abus et conservation des données de connexion) sont chiffrées en AES-256-GCM avant stockage, avec une clé dérivée par HKDF-SHA256 du secret du serveur. Aucune IP n'est conservée en clair. Ce chiffrement est réversible par l'éditeur : il protège le fichier en cas de vol, il ne constitue pas une anonymisation.
6. Stockage local chiffré (SQLCipher)
Les données stockées localement sur chaque téléphone (zones interdites, lieux favoris, historique de positions) sont conservées dans une base de données SQLCipher, qui chiffre l'intégralité du fichier en AES-256.
La clé de chiffrement de cette base locale est dérivée par PBKDF2-HMAC-SHA256 (10 000 itérations) d'un secret aléatoire propre à l'appareil, conservé dans EncryptedSharedPreferences Android, lui-même protégé par une clé du Keystore Android — matériel sur les appareils équipés d'un environnement d'exécution sécurisé.
En clair : si quelqu'un vole votre téléphone et le démonte, il ne peut pas extraire vos données sans aussi extraire la clé du Keystore matériel — opération réservée à des laboratoires spécialisés.
7. Ce que le serveur peut voir / ne peut pas voir
| Information | Visible par le serveur ? |
|---|---|
| Position GPS d'un membre | ✗ Non (chiffrée) |
| Contenu des notifications SOS | ✗ Non (chiffrées) |
| Photos selfie | ✗ Non (chiffrées) |
| Zones interdites configurées | ✗ Non (chiffrées ; elles transitent par le relais pour être synchronisées entre les téléphones) |
| Lieux favoris privés | ✗ Non (jamais transmis) |
| Identifiant familial (UUID) | ✓ Oui (anonyme) |
| Identifiant membre (UUID) | ✓ Oui (anonyme) |
| Rôle (parent/enfant/sénior) | ✓ Oui (pour le routage) |
| Heure d'envoi et type des messages | ✓ Oui (métadonnée de routage : le relais sait qu'un SOS a été émis, jamais son contenu ni la position) |
| Adresse IP de connexion | ✓ Oui (stockée chiffrée AES-256-GCM) |
Aucune donnée permettant d'identifier une personne réelle n'est associée aux UUIDs côté serveur. Les UUIDs sont générés aléatoirement à l'installation et ne contiennent ni email, ni téléphone, ni nom.
8. Audit et transparence
Sentinel Family est éditée par EURL Digital Forensics, société française basée à Velaux (13880), immatriculée au RCS de Salon-de-Provence sous le numéro 914 810 668.
L'éditeur est juridiquement soumis :
- Au RGPD (Règlement Général sur la Protection des Données — UE 2016/679)
- À la loi Informatique et Libertés du 6 janvier 1978 modifiée
- Au contrôle de la CNIL (Commission Nationale de l'Informatique et des Libertés)
L'infrastructure de relais est hébergée en France, sur le territoire de l'Union européenne, et relève donc directement du RGPD et du contrôle de la CNIL.
Pour les détails légaux complets, consultez nos mentions légales, notre politique de confidentialité et nos conditions d'utilisation.
9. Limites et responsabilités
Aucun système de sécurité n'est parfait. Sentinel Family applique l'état de l'art à un instant donné, mais :
- La sécurité du téléphone (verrouillage, mises à jour Android) reste la responsabilité de l'utilisateur
- Une compromission physique du téléphone (déverrouillé, accès complet) annule la plupart des protections
- Les algorithmes utilisés (AES-256-GCM, HKDF-SHA256, HMAC-SHA256, PBKDF2) sont considérés comme sûrs en 2026 ; ils seront mis à jour si l'état de l'art évolue. La clé de famille étant fixe, le service n'offre pas de confidentialité persistante : quiconque obtiendrait cette clé pourrait déchiffrer les messages passés qu'il aurait enregistrés
10. Signaler une vulnérabilité
Si vous découvrez une faille de sécurité, merci de nous la signaler de manière responsable à : contact@sentinelfamily.fr avec l'objet « Signalement sécurité ».
Nous nous engageons à vous répondre sous 7 jours ouvrés et à corriger toute vulnérabilité confirmée dans les meilleurs délais.
11. Permissions demandées (Android et iPhone)
Le tableau ci-dessous liste l'ensemble des permissions demandées par l'application Android, leur justification fonctionnelle et le périmètre d'utilisation. Sur iPhone, l'application ne demande que la localisation, les notifications et l'appareil photo. Aucune permission n'est utilisée à des fins publicitaires ou pour la transmission de données à des tiers.
| Permission | Pourquoi | Périmètre |
|---|---|---|
| Localisation (FINE + COARSE) | Lecture du GPS pour la localisation familiale | Coordonnées chiffrées E2E avant tout envoi serveur |
| Localisation en arrière-plan | Suivi continu hors-écran (essentiel pour la fonctionnalité) | Consentement explicite Android requis ; révocable à tout moment |
| Internet + état réseau | Communication chiffrée avec le serveur relais | Aucune communication avec des serveurs tiers |
| Caméra | Scan du QR code d'appairage + photo de profil | Aucun upload sans action explicite de l'utilisateur |
| Notifications | Alertes SOS, sortie de zone, accès géolocalisation | Aucune notification publicitaire ou marketing |
| Service de premier plan (foreground) | Service Android obligatoire pour le suivi continu | Notification persistante affichée en haut de l'écran |
| Démarrage automatique (BOOT) | Reprendre le service après un redémarrage du téléphone | Aucune action sans accord préalable de l'utilisateur |
| Wake lock | Maintenir le tracking actif quand l'écran est éteint | Cycles très courts pour rester économe en batterie |
| Reconnaissance d'activité | Détecter le mouvement pour adapter la fréquence GPS | Sert uniquement à l'économie de batterie ; jamais transmis |
| Capteurs haute fréquence | Mode véhicule (échantillonnage rapide du GPS) | Activé automatiquement si déplacement détecté |
| Alarmes exactes | Heartbeats périodiques de présence en ligne | Pas utilisé pour la publicité ; intervalle minimal |
| Optimisation batterie (exception) | Éviter la mise en sommeil agressive par le système | Demande explicite à l'utilisateur lors de l'installation |
| Vibration | Alertes SOS et notifications urgentes | Jamais utilisé pour de la publicité ou du marketing |
| État du Wi-Fi (ACCESS_WIFI_STATE) | Lire l'identifiant du réseau auquel l'appareil est déjà connecté, pour maintenir la détection de présence quand le GPS dérive en intérieur. Aucun réseau environnant n'est recherché. | Normale |
Cette liste de permissions est vérifiable directement sur votre appareil via Paramètres → Applications → Sentinel Family → Autorisations sur Android, ou Réglages → Sentinel Family sur iPhone. Pour un audit automatisé indépendant, le service open source Exodus Privacy analysera Sentinel Family dès sa publication en production sur Google Play.