🛡️ Sécurité et protection des données pèlerins
Vous nous confiez les passeports, les identités et l'historique financier de vos pèlerins. Ces données sont parmi les plus sensibles qui existent. Voici, en détail et sans jargon, comment nous les protégeons à chaque étape.
Le principe fondateur : le cloisonnement par agence
B2BOmra est conçue selon le principe du cloisonnement strict par agence (multi-tenancy en termes techniques). Concrètement :
- Chaque agence inscrite est une bulle isolée. Ses pèlerins, factures, contrats, scans, photos et transactions ne sont accessibles qu'à ses propres membres.
- Aucune autre agence ne peut consulter ces données, même par accident, même via une erreur d'URL ou un partage de lien. Chaque requête au serveur vérifie systématiquement que l'utilisateur connecté appartient bien à l'agence propriétaire de la donnée demandée.
- Même les administrateurs techniques de B2BOmra n'accèdent pas aux données métier sans raison légitime documentée (support utilisateur sur demande explicite, par exemple).
Mots de passe : jamais stockés en clair
Quand vous créez un mot de passe sur B2BOmra, il n'est jamais enregistré tel quel. Nous appliquons un hashage cryptographique bcrypt, l'algorithme standard recommandé par l'ANSSI et la communauté de la cybersécurité depuis 1999.
Concrètement, votre mot de passe est transformé en une chaîne aléatoire impossible à inverser. Même nous, l'équipe B2BOmra avec un accès complet à la base de données, ne pouvons pas relire votre mot de passe. En cas de fuite hypothétique de la base, les mots de passe restent inexploitables pour un attaquant qui devrait essayer des milliards de combinaisons par compte sur des serveurs spécialisés, sans succès en pratique.
Si vous oubliez votre mot de passe, vous le réinitialisez via un lien envoyé par email à votre adresse de connexion. Ce lien expire au bout d'une heure et ne peut être utilisé qu'une seule fois.
Double authentification (2FA)
Tout compte B2BOmra peut activer la double authentification TOTP (Time-based One-Time Password, standard RFC 6238, le même que celui utilisé par Google, Microsoft, GitHub et la majorité des services pros). Après activation :
- Chaque connexion demande votre mot de passe et un code à 6 chiffres généré par votre application d'authentification (Google Authenticator, Microsoft Authenticator, Authy, 1Password, etc.).
- Le code change toutes les 30 secondes et n'est utilisable qu'une seule fois.
- Le secret de génération est stocké chiffré dans notre base.
- Vous recevez 8 codes de récupération à usage unique à la première activation, affichés une seule fois et à conserver hors ligne. Ils permettent de récupérer l'accès en cas de perte de votre téléphone.
Rôles et permissions au sein d'une agence
À l'intérieur d'une agence, vous attribuez à chaque collaborateur un rôle qui détermine ce qu'il peut voir et faire :
- Admin : tous les droits, gère l'équipe et les paramètres sensibles.
- Commercial : pèlerins, groupes, marketplace, vente. Pas d'accès à la facturation, ne peut pas inviter de membres.
- Comptabilité : factures, encaissements, contrats, signature, FEC. Pas d'accès au marketplace ni à la création d'offres.
Chaque action est filtrée à 2 niveaux : (1) appartenance à l'agence propriétaire de la donnée, (2) rôle suffisant pour cette action. Un commercial ne verra jamais une facture, même par URL directe.
Stockage des passeports et documents privés
Quand vous scannez un passeport ou téléversez un document (visa, billet d'avion, certificat), ce fichier est stocké :
- Dans un répertoire privé du serveur, en dehors de la zone publique. Le fichier n'a aucune URL directe accessible depuis Internet.
- Le fichier est servi uniquement via une route authentifiée qui vérifie en temps réel que l'utilisateur appartient à l'agence propriétaire. Un lien direct vers le fichier copié dans un email serait inutilisable par un destinataire qui n'est pas membre de votre agence.
- L'image de scan est compressée automatiquement avant stockage pour réduire la surface d'exposition.
- Quand vous supprimez un document, le fichier physique est effectivement supprimé du serveur.
Chiffrement des communications
Toutes les communications entre votre navigateur et nos serveurs sont chiffrées en HTTPS (TLS 1.2 ou supérieur). Aucune donnée ne transite en clair sur Internet, y compris sur des Wi-Fi publics. Le certificat est régulièrement renouvelé.
À l'intérieur de la base de données, les secrets sensibles (clés API, secret 2FA, jetons de signature) sont chiffrés via AES-256, l'algorithme utilisé par les administrations et les banques.
Signature électronique des contrats
Quand vous envoyez un contrat pour signature, B2BOmra génère un lien unique avec un jeton aléatoire à 64 caractères impossible à deviner. Quand le signataire signe :
- Sa signature manuscrite numérisée est capturée sur écran tactile et sauvegardée comme image privée.
- Nous enregistrons l'identité déclarée (nom + email), l'adresse IP, la date et heure UTC précises, et un horodatage cryptographique du document.
- Le contrat est verrouillé immédiatement : il devient impossible à modifier ou supprimer côté agence.
- Le lien de signature devient invalide après usage. Une seconde tentative affiche un message « Déjà signé ».
Cette signature respecte les exigences du règlement européen eIDAS niveau « simple » (article 25), qui suffit légalement pour la grande majorité des contrats commerciaux entre agences et clients particuliers en France.
Journal d'audit complet
Chaque action sensible dans votre agence est tracée automatiquement : création, modification ou suppression de facture, contrat, encaissement, transaction marketplace, invitation/révocation de membre.
Pour chaque action, nous enregistrons : qui (utilisateur), quand (date + heure UTC), quoi (entité concernée + détails du changement avant/après), depuis où (adresse IP, navigateur). Ces logs sont consultables par l'admin de l'agence depuis Équipe → Journal d'audit.
Avantage concret : si une facture est modifiée à votre insu, vous savez par qui, quand et ce qui a changé. Si un collaborateur partant a tenté de copier massivement des données, vous le voyez.
Sauvegardes automatiques quotidiennes
Toutes les nuits, l'intégralité de notre base de données et de tous les fichiers stockés (photos, scans, signatures, vitrines) est sauvegardée automatiquement :
- Sauvegarde quotidienne complète des 14 derniers jours ;
- + une sauvegarde mensuelle conservée 6 mois (premier de chaque mois) ;
- + les sauvegardes complémentaires de notre hébergeur français O2switch (rotation supplémentaire sur leur infrastructure).
En cas de problème (suppression accidentelle, défaillance disque, corruption de fichier), nous pouvons restaurer les données à une date passée précise. La probabilité de perte définitive est extrêmement faible.
Garde-fou automatique sur les déploiements
À chaque mise à jour de la plateforme, un contrôle automatique compare le nombre de pèlerins, factures, contrats, photos et fichiers avant et après le déploiement. Si un compteur baisse, le déploiement est marqué en alerte et le rollback peut être déclenché.
Cela garantit qu'aucune mise à jour ne peut faire disparaître silencieusement vos données.
Hébergement français, données européennes
- Nos serveurs sont hébergés en France chez O2switch, un hébergeur français indépendant, soumis au RGPD et au droit européen.
- Aucune de vos données pèlerin ne quitte l'Union européenne. Elles ne sont jamais stockées sur des serveurs américains.
- L'hébergeur dispose de plusieurs niveaux de protection (antivirus PHP, pare-feu applicatif, protection DDoS, isolation des comptes voisins).
Restrictions du cache pour les routes sensibles
Notre application supporte le mode PWA (installation sur téléphone) et le mode
hors-ligne pour les pages publiques. Mais les routes sensibles
(/login, /2fa, /password, téléchargement de documents
privés, PDF) sont explicitement exclues du cache du service worker. Aucune
réponse contenant des données sensibles ne peut être servie depuis le cache local du
navigateur, ce qui empêche toute fuite via un partage de téléphone ou un mode hors ligne.
Conformité RGPD
B2BOmra respecte les exigences du Règlement Général sur la Protection des Données. Vous disposez sur vos données et celles de vos pèlerins des droits d'accès, de rectification, de suppression, de portabilité et d'opposition. Voir la page dédiée Conformité RGPD et vos droits.
Protection contre les attaques courantes
Nous protégeons activement contre les attaques web standards :
- CSRF (Cross-Site Request Forgery) : jeton vérifié sur chaque action.
- XSS (Cross-Site Scripting) : échappement systématique des sorties HTML.
- SQL Injection : requêtes préparées et requêtes Eloquent uniquement.
- IDOR (Insecure Direct Object Reference) : vérification d'ownership sur chaque accès à une ressource.
- Brute force : limitation du nombre de tentatives par adresse IP sur les pages de connexion.
- Upload malicieux : vérification stricte du type MIME, taille maximale, extension contrôlée.
Et si malgré tout…
Si vous suspectez un incident de sécurité (compte compromis, données fuitées, comportement suspect), prévenez-nous immédiatement à contact@perticom.fr. Nous nous engageons à investiguer sous 24 heures et, en cas d'incident confirmé, à notifier la CNIL dans les 72 heures conformément à l'article 33 du RGPD.
Synthèse : ce qui protège vos données
- ✅ Mots de passe hashés bcrypt, jamais en clair
- ✅ Double authentification TOTP optionnelle (recommandée)
- ✅ Cloisonnement strict par agence, vérifié à chaque requête
- ✅ Rôles internes (admin / commercial / comptabilité) avec permissions filtrantes
- ✅ Documents privés non accessibles via URL directe
- ✅ Chiffrement HTTPS bout en bout (TLS 1.2+)
- ✅ Signature électronique avec IP + horodatage + verrouillage
- ✅ Journal d'audit complet et consultable
- ✅ Sauvegardes quotidiennes + mensuelles (14 j + 6 mois)
- ✅ Garde-fou de déploiement qui bloque toute perte de données
- ✅ Hébergement français, données européennes
- ✅ Antivirus serveur + pare-feu applicatif
- ✅ Conformité RGPD intégrale