Aller au contenu

Sécurité

Escriba est conçu pour fonctionner avec des documents confidentiels. Le principe directeur : le contrôle reste sur la couche humaine — vos fichiers sont traités sur votre serveur et c’est vous qui décidez de ce qui parvient à un LLM, le cas échéant.

  • Rien n’est conservé. Les fichiers téléversés sont supprimés juste après la conversion.
  • Aucun cloud tiers. Conversion, OCR, transcription et anonymisation tournent en local sur votre hôte.
  • La table de restauration reste locale. La table token→original de la pseudonymisation ne quitte jamais votre navigateur.
  • Anonymisation fail-closed — si l’anonymisation est demandée et que le service Anonimal est injoignable, la requête échoue ; le texte brut n’est jamais émis en repli.
  • Anti-SSRF — la récupération d’URL bloque les IP internes et les redirections ; l’accès aux fichiers locaux et file:// est réservé à DIOS uniquement.
  • Assainissement XSS — l’aperçu est assaini avec DOMPurify ; une Content-Security-Policy stricte et des en-têtes de sécurité sont définis.
  • Limitation de débit & verrouillage — limites de requêtes par rôle, partagées entre les workers via le Redis intégré, plus un verrouillage de connexion après échecs répétés.
  • Conteneur non-root — s’exécute en tant qu’utilisateur non privilégié avec no-new-privileges.
  • Regex sûres — les règles d’anonymisation fournies par l’utilisateur s’exécutent sur RE2 (temps linéaire), immunisé contre les ReDoS.
  • Garde-fous anti-DoS — les téléversements sont plafonnés en taille par streaming ; le sélecteur de pages est plafonné pour empêcher l’expansion par bombe de plages.

La base de code a fait l’objet d’un audit multi-perspectives strict et d’un test d’intrusion en red team, chaque constat ayant été corrigé et vérifié. Parmi les points forts du durcissement : une clé de hachage aléatoire par installation, une gestion assainie de X-Forwarded-For (proxys de confiance uniquement), la révocation de session, les métadonnées PDF nettoyées lors du caviardage, et des en-têtes no-cache sur les ressources statiques.