Architecture et sécurité : le chemin des données, fournisseur par fournisseur
CéSAR Photo est une application web hébergée sur Vercel (Francfort) qui stocke les fichiers chez Cloudflare R2, les données structurées et les gabarits faciaux chez Neon (Francfort) et fait calculer la reconnaissance faciale par un service que nous exécutons chez Hugging Face. Les connexions sont chiffrées (HTTPS, HSTS), les mots de passe hachés, l'accès aux galeries contrôlé par rôle, et les ouvertures de galeries privées par un administrateur sont journalisées.
Dernière vérification :
L'essentiel en un coup d'œil
- Application
- Next.js, Vercel (fonctions à Francfort).
- Base de données
- PostgreSQL chez Neon (Francfort), extension pgvector pour les gabarits.
- Fichiers
- Cloudflare R2.
- Calcul biométrique
- Service exécuté par CéSAR Photo (capacité de calcul chez Hugging Face), joignable uniquement avec une clé secrète.
- Chiffrement en transit
- HTTPS partout (HSTS 2 ans, preload) ; connexions à la base chiffrées (TLS exigé).
- Mots de passe
- Hachés (jamais stockés en clair) ; jetons de réinitialisation hachés, à usage unique, valables 1 heure.
- Paiement
- Stripe ; aucune donnée de carte ne transite par nos serveurs.
- Signaler une faille
- /.well-known/security.txt — contact@cesar-photo.com.
Quelles données vont chez quel fournisseur ?
| Donnée | Fournisseur | Région | Fonction | Durée |
|---|---|---|---|---|
| Photos, miniatures, couverture, RAW | Cloudflare R2 | Automatique (non restreinte à l'UE) | Stockage des fichiers | Vie de la galerie + 30 jours pour tout télécharger, puis 30 jours de corbeille |
| Selfie | Cloudflare R2 (dossier temporaire) puis Hugging Face (mémoire) | Idem ; calcul : infrastructure Hugging Face | Recherche par selfie | Quelques secondes |
| Gabarits faciaux des photos | Neon | Francfort (Allemagne) | Regrouper les visages et retrouver les photos d'un invité | Vie de la galerie, puis effacement automatique |
| Comptes, événements, fiches invités | Neon | Francfort (Allemagne) | Fonctionnement du service | Voir page Conservation |
| Sessions et requêtes | Vercel | Francfort (Allemagne) | Exécuter l'application | Le temps de la requête ; journaux techniques selon l'hébergeur |
| Données de paiement | Stripe | Union européenne (Irlande) | Paiements et abonnements | Selon obligations légales (factures : 10 ans) |
| E-mails transactionnels | Resend | États-Unis | Envoi de messages | Selon Resend |
| Mesure d'audience (après accord) | Google Analytics | UE / États-Unis | Statistiques de visite | Selon Google ; aucun cookie avant accord |
Chemin d'une photo importée par l'organisateur
- L'organisateur envoie la photo (directement vers le stockage par un lien de dépôt éphémère, sans passer par le serveur d'application).
- L'application enregistre ses métadonnées dans la base de données et demande l'analyse au service de calcul.
- Le service télécharge la photo, détecte les visages, calcule un gabarit par visage et l'écrit directement dans la base de données.
- La photo reste dans le stockage ; seuls les gabarits et leurs positions sont ajoutés en base.
Chemin d'un selfie d'invité
- Le selfie est envoyé en HTTPS à l'application, qui le dépose pour quelques secondes dans un dossier temporaire du stockage.
- Le service de calcul le lit, calcule un gabarit en mémoire et le renvoie à l'application ; la comparaison s'effectue dans la base, limitée à l'événement.
- Le selfie est supprimé immédiatement après (succès ou échec). Le gabarit du selfie n'est jamais enregistré.
Quelles mesures de sécurité sont en place ?
- Transport : HTTPS obligatoire, en-tête HSTS d'une durée de 2 ans avec préchargement.
- En-têtes de sécurité : politique de sécurité du contenu (CSP), protection contre l'intégration en cadre (X-Frame-Options), X-Content-Type-Options, politique de référent restreinte, permissions du navigateur limitées.
- Authentification : mots de passe hachés ; connexion Google possible ; réinitialisation par jeton haché, à usage unique, d'une heure ; réponse identique que le compte existe ou non (pas d'énumération).
- Autorisations : accès aux événements par rôle (propriétaire, co-administrateur) vérifié côté serveur à chaque requête ; galeries privées exclues de l'indexation et du sitemap.
- Protection des appels : limitation de débit sur la recherche par selfie, l'accès aux galeries personnelles et l'effacement ; routes planifiées protégées par secret ; service de calcul protégé par clé secrète.
- Isolation : les recherches de visages sont limitées à l'événement par la requête de base de données ; les galeries personnelles reposent sur un jeton secret non devinable.
- Paiement : saisie de la carte chez Stripe uniquement.
- Traçabilité : l'ouverture d'une galerie privée par un administrateur CéSAR Photo est journalisée (qui, quand, pourquoi).
- Dépendances : audit des dépendances logicielles ; aucune vulnérabilité connue lors de la dernière vérification (août 2026).
- Surveillance : alertes à l'administrateur lorsque l'analyse des photos est durablement bloquée.
Que se passe-t-il en cas de violation de données ?
- Détection : alertes applicatives, signalements des utilisateurs et des prestataires.
- Évaluation immédiate : nature des données, nombre de personnes, risque pour leurs droits.
- Confinement : coupure de l'accès concerné, rotation des secrets, correction.
- Clients professionnels (DPA) : information sans retard injustifié et au plus tard 48 heures après la prise de connaissance.
- Autorité : notification à la CNIL dans les 72 heures lorsque la violation est susceptible d'engendrer un risque pour les personnes.
- Personnes concernées : information directe, claire et rapide si le risque est élevé.
- Après incident : analyse des causes et mesures correctives documentées.
Sauvegardes et continuité
La base de données bénéficie de la restauration à un instant donné proposée par Neon, dans la fenêtre prévue par l'offre souscrite. Une donnée supprimée peut subsister dans cet historique jusqu'à ce que la fenêtre s'écoule ; elle n'est pas réutilisée. Les photos non analysées sont automatiquement reprises par une tâche quotidienne.
Comment signaler une vulnérabilité ?
Écrivez à contact@cesar-photo.com en indiquant « Sécurité » dans l'objet. Le fichier /.well-known/security.txt décrit la procédure. Nous accusons réception sous 72 heures et ne poursuivons pas les chercheurs qui agissent de bonne foi, sans accéder aux données d'autrui ni perturber le service.
Questions fréquentes
Comment la sécurité est-elle contrôlée ?
Par des contrôles et audits internes réguliers (autorisations, dépendances, secrets, limitation de débit) et par un canal de signalement de vulnérabilité (/.well-known/security.txt).
Qui peut voir les photos d'une galerie privée ?
L'organisateur et ses co-administrateurs. Un administrateur de CéSAR Photo ne peut ouvrir une galerie privée que pour un besoin de support ; chaque ouverture est journalisée.
Que devient le selfie en cas de panne ?
La suppression a lieu à la fin de la requête, même en cas d'échec du calcul. Si la suppression elle-même échoue, un nettoyage quotidien efface tout selfie restant plus d'une heure.