Aller au contenu principal
Sécurité publique

Vos dossiers méritent des réponses précises.

Accès, séparation des dossiers, hébergement et conservation : retrouvez les mesures documentées et les points qui demandent une confirmation.

Ce que cette page est, et n’est pas

Cette page décrit des mécanismes présents dans le code du service au 30 octobre 2026. Elle aide un acheteur ou une fiduciaire à comprendre le contrôle, pas à remplacer un audit.

Elle n’est pas un certificat ISO ou SOC, ni un rapport de test d’intrusion, ni une garantie d’absence d’incident. Les paramètres de votre compte restent dans l’espace connecté.

Politique de confidentialité

Identité de l’éditeur

Accès au compte

La connexion utilise Passport et une session stockée dans PostgreSQL. Le cookie de session est httpOnly ; en production il est aussi marqué sécurisé.

Les mots de passe sont enregistrés sous forme de hachage (bcrypt, avec migration progressive vers scrypt).

Les mutations authentifiées de l’API (POST, PUT, PATCH, DELETE) sont protégées contre les requêtes intersites par un jeton CSRF. Les chemins publics, les webhooks et les routes d’authentification en sont exemptés.

Séparation des dossiers

Les données métier sont rattachées à un identifiant de dossier (cible_id). Le contexte fiduciaire résout ce dossier pour l’utilisateur connecté avant les lectures.

Cette séparation est applicative. PostgreSQL n’applique pas ici de cloisonnement automatique de type RLS. Un oubli de filtre dans une nouvelle route resterait donc un risque réel — c’est pourquoi nous le disons.

Questions sur l’isolation des mandats

Dépôt des pièces

Un fichier n’est pas accepté sur la seule foi de son extension. Le service compare le type déclaré aux octets magiques du fichier et refuse un contenu incohérent.

La lecture OCR des images passe par Google Cloud Vision, via son point d’accès de Zurich.

Rôle de l’OCR dans le dossier

Paiements et e-mails

Stripe reçoit les événements de paiement. Si le secret de signature webhook est absent, la vérification échoue au lieu d’accepter l’événement.

Les e-mails transactionnels passent par Brevo. La signature des webhooks e-mail est comparée en temps constant.

Où tourne le service

L’application web, le worker, les fichiers et la base de données sont hébergés chez Infomaniak, à Genève.

Le traitement des pièces passe par quatre sous-traitants en Suisse : Infomaniak, Google Cloud Vision, DeepL et Microsoft Azure. Le paiement, l’e-mail et le suivi d’erreurs font appel à d’autres prestataires, listés dans la politique de confidentialité ; leurs pays et clauses restent à confirmer.

Prestataires nommés

Conservation des fichiers sources

Les PDF et images sources des pièces, ainsi que le ZIP PDF d’export, sont supprimés après 48 h. Journaux, fichiers Excel et données extraites restent téléchargeables.

Les écritures et les données extraites ne sont pas supprimées avec les sources : elles restent disponibles tant que le compte existe.

Durées par catégorie

Limites honnêtes

Le limiteur de débit vit dans la mémoire du process. Il n’est pas partagé entre plusieurs machines.

Les en-têtes de sécurité (CSP, HTTPS) sont appliqués par le serveur. Aucune mesure ne permet de garantir l’absence totale d’incident.

Auteur, date et sources

Équipe éditoriale Cortex · mise à jour le 30 octobre 2026. Chaque affirmation de cette page renvoie à un fichier du dépôt ou à une confirmation d’exploitation déjà écrite. Les éléments impossibles à prouver restent hors de cette page.

  • Authentification et sessions : server/auth.ts
  • CSRF : server/middleware/csrf.ts
  • Contexte dossier : server/middleware/fiduciary-context.ts
  • Dépôts : server/middleware/upload.ts
  • OCR : workflows/OCR/OCR.ts
  • Stripe : server/integrations/stripe/stripe.ts
  • Brevo : server/middleware/brevo-webhook-signature.ts
  • Purge sources : server/cron/data-cleanup.cron.ts

Lire la politique de confidentialité

Authentifier une intégration

Poser une question de sécurité