Architecture & sécurité

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éeFournisseurRégionFonctionDurée
Photos, miniatures, couverture, RAWCloudflare R2Automatique (non restreinte à l'UE)Stockage des fichiersVie de la galerie + 30 jours pour tout télécharger, puis 30 jours de corbeille
SelfieCloudflare R2 (dossier temporaire) puis Hugging Face (mémoire)Idem ; calcul : infrastructure Hugging FaceRecherche par selfieQuelques secondes
Gabarits faciaux des photosNeonFrancfort (Allemagne)Regrouper les visages et retrouver les photos d'un invitéVie de la galerie, puis effacement automatique
Comptes, événements, fiches invitésNeonFrancfort (Allemagne)Fonctionnement du serviceVoir page Conservation
Sessions et requêtesVercelFrancfort (Allemagne)Exécuter l'applicationLe temps de la requête ; journaux techniques selon l'hébergeur
Données de paiementStripeUnion européenne (Irlande)Paiements et abonnementsSelon obligations légales (factures : 10 ans)
E-mails transactionnelsResendÉtats-UnisEnvoi de messagesSelon Resend
Mesure d'audience (après accord)Google AnalyticsUE / États-UnisStatistiques de visiteSelon 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.