Sécurité

La sécurité est au cœur de DocFlow. Ce guide détaille nos mesures de sécurité et les bonnes pratiques pour protéger vos données.

Notre engagement sécurité

Infrastructure

  • Hébergement sécurisé : Infrastructure cloud certifiée (SOC 2, ISO 27001)
  • Chiffrement en transit : TLS 1.3 pour toutes les communications
  • Chiffrement au repos : AES-256 pour les fichiers stockés
  • Isolation des données : Séparation stricte entre les workspaces
  • Sauvegardes : Sauvegardes automatiques chiffrées et géo-répliquées

Application

  • Authentification sécurisée : Hachage bcrypt pour les mots de passe
  • Protection CSRF : Tokens anti-CSRF sur toutes les requêtes
  • Rate limiting : Protection contre les attaques par force brute
  • Validation des entrées : Sanitisation stricte de toutes les données
  • Headers de sécurité : CSP, HSTS, X-Frame-Options, etc.

Processus

  • Code review : Revue systématique de tout le code
  • Tests de sécurité : Tests automatisés et audits réguliers
  • Dépendances : Scan automatique des vulnérabilités (Dependabot)
  • Monitoring : Surveillance 24/7 et alertes en temps réel

Bonnes pratiques pour les clés API

Ne jamais exposer vos clés

# ❌ MAUVAIS - Ne jamais commiter de clés
const API_KEY = 'df_abc123xyz789';

# ✅ BON - Utiliser des variables d'environnement
const API_KEY = process.env.DOCFLOW_API_KEY;

Fichier .gitignore

# Ajouter à votre .gitignore
.env
.env.local
.env.production

Clés différentes par environnement

Créez des clés séparées pour le développement, staging et production. Cela limite l'impact en cas de fuite.

Rotation régulière

Renouvelez vos clés API périodiquement (tous les 90 jours recommandé) :

  1. Créez une nouvelle clé
  2. Mettez à jour votre application
  3. Vérifiez le fonctionnement
  4. Révoquez l'ancienne clé

Clés avec expiration

Pour les intégrations temporaires ou les accès tiers, définissez une date d'expiration lors de la création de la clé.

Sécurité des webhooks

Toujours vérifier la signature

Vérifiez systématiquement la signature HMAC des webhooks avant de les traiter. Voir la documentation webhooks pour les exemples de code.

Vérifier le timestamp

Rejetez les webhooks avec un timestamp trop ancien (plus de 5 minutes) pour vous protéger contre les attaques par rejeu.

const MAX_AGE_SECONDS = 300; // 5 minutes

const timestamp = parseInt(req.headers['x-docflow-timestamp']);
const now = Math.floor(Date.now() / 1000);

if (now - timestamp > MAX_AGE_SECONDS) {
  return res.status(401).send('Webhook too old');
}

Utiliser HTTPS

Votre endpoint webhook doit obligatoirement utiliser HTTPS avec un certificat valide.

Protection des données

Données sensibles dans les PDF

Si vos PDF contiennent des données sensibles (données personnelles, informations financières) :

  • Utilisez l'option flatten: true pour rendre les champs non éditables
  • Limitez la durée de conservation en téléchargeant les PDF rapidement
  • Supprimez les renders après traitement si nécessaire

Minimisation des données

N'envoyez que les données strictement nécessaires au remplissage du PDF. Évitez d'inclure des informations superflues dans vos requêtes.

Logs et audit

DocFlow conserve des logs d'audit pour chaque action. La durée de rétention dépend de votre plan (3, 30 ou 90 jours). Ces logs ne contiennent pas les données des PDF, seulement les métadonnées des opérations.

Protection du compte

Mot de passe fort

  • Minimum 8 caractères (12+ recommandé)
  • Mélange de majuscules, minuscules, chiffres et symboles
  • Unique pour DocFlow (non réutilisé ailleurs)

Protection contre le brute force

DocFlow verrouille automatiquement les comptes après 5 tentatives de connexion échouées. Le déverrouillage se fait après 15 minutes ou via email.

Sessions

  • Sessions JWT avec expiration (7 jours par défaut)
  • Refresh tokens révocables
  • Déconnexion de toutes les sessions possible depuis les paramètres

Conformité

RGPD

DocFlow est conforme au Règlement Général sur la Protection des Données :

  • Données hébergées en Union Européenne
  • DPA (Data Processing Agreement) disponible sur demande
  • Droits d'accès, rectification, suppression, portabilité
  • Notification sous 72h en cas de violation

Sous-traitants

Liste de nos sous-traitants techniques :

  • Vercel : Hébergement (États-Unis, CCT)
  • Stripe : Paiements (États-Unis, CCT)
  • AWS : Stockage S3 (région UE)

Signaler une vulnérabilité

Si vous découvrez une faille de sécurité, merci de nous la signaler de façon responsable :

  • Email : security@netmesafe.com
  • Délai de réponse : 48h ouvrées
  • Nous ne poursuivons pas les chercheurs de bonne foi

Incidents de sécurité

En cas d'incident affectant vos données :

  1. Notification par email dans les 72h
  2. Publication sur notre page de statut
  3. Rapport détaillé post-incident
  4. Mesures correctives documentées

Contact

Pour toute question relative à la sécurité :

  • Email sécurité : security@netmesafe.com
  • DPO : privacy@netmesafe.com