Architecture de sécurité

Zéro document stocké. Jamais.

Cette page décrit précisément comment vos documents sont traités, par qui, pendant combien de temps, et ce qui se passe ensuite. Réponse courte : ils sont supprimés en moins d'une heure.

Dernière mise à jour : 10 juillet 2026

Ce qui se passe quand vous uploadez un document

Votre navigateur
Upload chiffré TLS 1.3
Serveur RAM
RAM uniquement, jamais de disque
TTL 1 h
Mistral AI
API B2B, données non entraînées
Paris, France
Résultat JSON
Renvoyé à votre navigateur
Suppression
Purge automatique
< 1 heure

Supabase ne reçoit jamais le contenu de vos documents, uniquement les métadonnées de compte (email, crédits, historique de dates).

Zéro stockage document

Traitement en mémoire uniquement, aucun stockage disque, aucune persistance du contenu des documents. Les PDF uploadés sur BlinDoc ne touchent jamais une base de données, un système de fichiers persistant, ou un service de stockage cloud. Le traitement s'effectue exclusivement en mémoire RAM sur un process Node.js persistent hébergé sur Railway (région Europe).

  • Aucun fichier écrit sur le disque serveur
  • Aucun document transmis à Supabase Storage
  • TTL d'une heure : purge automatique via setTimeout
  • En cas de crash serveur : la RAM est vidée, aucune récupération possible

Chiffrement TLS 1.3

Toutes les communications entre votre navigateur et les serveurs BlinDoc sont chiffrées avec TLS 1.3. Aucune donnée ne transite en clair sur le réseau.

  • HTTPS forcé sur toutes les routes (redirection HTTP → HTTPS)
  • Certificats SSL gérés par Vercel (frontend) et Railway (backend)
  • HSTS activé : Strict-Transport-Security
  • Les appels vers l'API Mistral AI sont également chiffrés TLS

Mistral AI, API B2B contractuelle

BlinDoc utilise l'API B2B de Mistral AI (plan Scale), pas le produit grand public. La Zero Data Retention (ZDR) est activée sur notre organisation : les données soumises via l'API ne servent à aucun entraînement de modèle et ne sont conservées par Mistral que le temps strictement nécessaire à générer la réponse, aucune conservation ultérieure. Mistral AI est une entreprise française dont l'infrastructure est en Europe.

  • Zero Data Retention (ZDR) activée : aucune conservation après la requête
  • Données hors entraînement, garanti par le DPA Mistral (article 28)
  • Siège social : Paris, France, infrastructure Europe (RGPD natif)
  • Même modèle contractuel qu'Azure OpenAI ou AWS Bedrock
  • Distinct du produit « Le Chat » / Vibe grand public

Authentification Supabase

La gestion des comptes utilisateurs est déléguée à Supabase Auth. Supabase ne stocke que les métadonnées de compte, jamais le contenu des documents traités.

  • Supabase stocke : email, crédits restants, historique (date, nb pages, statut)
  • Supabase ne stocke pas : contenu des PDF, textes extraits, résultats d'anonymisation
  • Mots de passe : jamais stockés en clair (hachage bcrypt via Supabase Auth)
  • Sessions : JWT avec expiration, rafraîchissement automatique
  • Infrastructure Supabase : Irlande (eu-west-1)

Sécurité de l'API backend

Le backend Express applique plusieurs couches de protection pour prévenir les abus et les attaques courantes.

  • Headers de sécurité HTTP : Helmet.js (X-Frame-Options, X-Content-Type-Options, HSTS, Referrer-Policy)
  • Rate limiting : express-rate-limit, 60 req/min/IP global, 10 req/min/IP sur routes IA, 3 req/min/IP sur routes batch
  • Validation des entrées : vérification de type, taille et format sur chaque route sensible
  • Timeout Mistral : 55 secondes, aucune requête ne reste pendue
  • Isolation multi-tenant : chaque document est scopé à son propriétaire authentifié
  • Traitement en RAM uniquement : zéro stockage disque, TTL 1 heure, purge automatique

Politique de logs

BlinDoc ne loggue pas le contenu des documents traités. Les logs serveur contiennent uniquement des métadonnées techniques nécessaires au débogage et au monitoring.

  • Loggué : timestamp, route appelée, statut HTTP, durée de traitement
  • Non loggué : contenu du PDF, texte extrait, résultat d'anonymisation
  • Logs applicatifs Railway avec rétention 7 jours, sans contenu utilisateur capturé
  • Aucun outil d’analytics ni de monitoring tiers (pas de cookie, pas de tracker)

Sous-processeurs

Conformément au RGPD, voici l'exhaustivité des services tiers qui interviennent dans le traitement de vos données.

ServiceRôleDonnées transmisesLocalisation
VercelHébergement frontendLogs de navigation anonymisésEurope (Francfort, AWS)
RailwayHébergement backendLogs techniques (sans contenu)Europe (Amsterdam, GCP europe-west4)
Mistral AIAnalyse IA + OCR des scansTexte extrait, et image du PDF si scanné (RAM, < 1 h)Paris, France
SupabaseAuth + métadonnées compteEmail, crédits, historique datesIrlande (eu-west-1)
StripePaiementDonnées de facturationIrlande · transferts US encadrés (SCCs)
ResendEmails transactionnels (via Supabase Auth)Adresse email, lien de connexionÉtats-Unis · SCCs

Signaler une vulnérabilité

Si vous découvrez une faille de sécurité sur BlinDoc, merci de nous contacter de façon responsable avant toute divulgation publique. Nous nous engageons à traiter chaque signalement sérieusement et à répondre sous 48 heures ouvrées.

Ce programme ne couvre pas les attaques par force brute, le phishing, ou les vulnérabilités des services tiers (Supabase, Stripe, Vercel).

Des questions sur notre architecture de sécurité ?

Nous répondons aux questionnaires de sécurité et aux demandes d'évaluation des DPO et RSSI.