SMS OTP/2FA pour SaaS : connexion sécurisée par code unique (guide PME)
Comment les éditeurs SaaS sécurisent leur connexion avec un SMS OTP sans imposer une application d'authentification : délivrabilité en France, stratégie de fallback avec WhatsApp comme canal principal ou de secours, bonnes pratiques de sécurité et configuration pratique avec API, Webhook et Flow Builder. Avec exemple de calcul pour savoir quand passer à WhatsApp Authentication.
TL;DR
Le SMS OTP est le second facteur le plus pragmatique pour les éditeurs SaaS, car chaque appareil le reçoit sans installation d'application. Trois éléments sont déterminants : une délivrabilité fiable (97 à 99 % en France, latence de 5 à 15 secondes), une stratégie de fallback réfléchie avec WhatsApp Authentication et une configuration de sécurité stricte avec des codes à 6 chiffres, une durée de validité courte et un blocage anti-force brute. Ceux qui atteignent environ 500 connexions par jour devraient aussi évaluer si un passage à WhatsApp Authentication comme canal principal permettrait de diviser les coûts d'envoi par deux. Un exemple de calcul est disponible plus bas.
Ce que le SMS OTP apporte à la connexion SaaS
Le SMS OTP est le second facteur le plus pragmatique dans la connexion SaaS : l'utilisateur se connecte avec son adresse e-mail et son mot de passe, le backend envoie un code à 6 chiffres par SMS, l'utilisateur le saisit dans le formulaire de connexion. Terminé. La méthode repose sur le principe du code à usage unique (one-time password), qui expire après utilisation ou après quelques minutes.
L'intérêt pour les éditeurs SaaS à destination des PME réside dans le plus petit dénominateur commun. Un SMS est reçu par chaque smartphone sans configuration. Il n'y a aucune application à installer, aucun QR code à scanner, aucun token matériel à commander. Cela réduit sensiblement la friction à l'onboarding, en particulier dans les secteurs où les utilisateurs finaux ne sont ni développeurs ni power users : artisans, établissements de soins, petits cabinets comptables, associations régionales.
En même temps, le SMS OTP n'est pas le mécanisme le plus sécurisé du marché. Une application d'authentification avec authentification à deux facteurs (2FA) selon TOTP est plus résistante au phishing, une solution passkey est même totalement protégée contre le phishing. Le SMS OTP se situe entre les deux et constitue précisément le bon choix lorsque la couverture et la simplicité d'utilisation importent plus que le maximum absolu de sécurité.
Quand le SMS OTP est le bon choix
La question est rarement : SMS ou rien. La vraie question est : quel canal correspond à quelle cible ?
Le SMS OTP est la recommandation standard lorsqu'un éditeur s'adresse à un large public hétérogène et doit s'assurer que même les utilisateurs plus âgés ou moins à l'aise avec la technologie passent la connexion sans friction. Il fonctionne sur chaque téléphone mobile, même sans connexion données. Le code est immédiatement visible, sans avoir à ouvrir une application.
Le WhatsApp OTP via un Authentication Template est l'option économiquement la plus attractive dès que les clients utilisent déjà WhatsApp activement, c'est-à-dire typiquement dans les scénarios B2C et auprès des indépendants. La condition préalable est un type de template approuvé et un compte WhatsApp Business.
Les applications d'authentification (TOTP) sont le choix pour les flux de travail à haute sécurité avec un public technophile, comme les comptes administrateurs dans un SaaS orienté développeurs. Ici, la résistance au phishing et des coûts d'envoi de 0 € comptent plus que la portée maximale.
| Canal | Coûts France | Taux de délivrabilité | Expérience utilisateur | Sécurité |
|---|---|---|---|---|
| SMS OTP | 0,08 à 0,10 €/message | 97 à 99 % | Très élevée (sans application) | Intermédiaire (risque SIM swap) |
| WhatsApp Authentication | 0,0496 à 0,0706 €/message | 95 à 98 % | Élevée (pour les utilisateurs actifs) | Élevée (chiffrement E2E) |
| Application d'authentification (TOTP) | 0,00 €/code | 100 % (local) | Intermédiaire (application requise) | Très élevée (résistant au phishing) |
Cet article se concentre sur la configuration pratique pour les éditeurs SaaS. Les articles mentionnés en section Pour aller plus loin approfondissent la comparaison des coûts.
Délivrabilité en France : routes, expéditeur, latence
Un SMS qui n'arrive pas est un échec total dans le flux de connexion : l'utilisateur se retrouve devant un champ de code vide et abandonne dans le pire des cas. La délivrabilité n'est donc pas un détail technique, c'est une décision produit.
Trois leviers déterminent la délivrabilité. La route opérateur est la plus importante. Les routes premium vers les opérateurs mobiles français atteignent 97 à 99 % de taux de délivrabilité avec une latence de 5 à 15 secondes. Les routes bon marché du marché gris n'atteignent souvent que 80 à 90 % et sont inadaptées à l'OTP, car un utilisateur sur dix abandonne. Un prestataire sérieux indique clairement quelle route il utilise et fournit automatiquement la variante haute qualité pour les OTP.
L'identifiant expéditeur est le deuxième levier. Trois variantes sont courantes en France :
- Expéditeur alphanumérique (ex. SAAS-LOGIN, jusqu'à 11 caractères) : la marque apparaît comme expéditeur, l'utilisateur reconnaît immédiatement d'où vient le SMS. Renforce la confiance, mais pas activé pour tous les opérateurs en France.
- Numéro court (5 chiffres) : standard du secteur pour l'envoi en masse, cher à mettre en place. Rarement rentable pour les PME.
- Numéro long (numéro mobile international classique) : peu coûteux et rapidement disponible, mais ressemble à un SMS d'un particulier et réduit la confiance.
La règle pratique pour la connexion SaaS : si votre prestataire prend en charge l'expéditeur alphanumérique pour la France, optez pour lui. Il distingue visuellement les SMS OTP du spam.
Le troisième levier est la latence. 5 à 15 secondes entre l'appel API et la réception du SMS sont normaux. Si la latence est supérieure, vérifiez la route. Dans le flux de connexion, vous devriez également attendre un événement Webhook sur le statut « delivered » pour que votre backend sache si le SMS a bien été délivré, et pas seulement envoyé.
Stratégie de fallback : WhatsApp comme canal principal ou de secours
Même la meilleure route SMS tombe parfois en panne. Un utilisateur sans réseau, un problème temporaire chez un opérateur, un voyage à l'étranger avec blocage de l'itinérance : il vaut la peine de prévoir un second canal d'envoi plutôt que de mettre l'utilisateur à la porte.
La combinaison économiquement la plus attractive pour la France est : WhatsApp en premier, SMS comme fallback. L'API WhatsApp Business via Authentication Template est moins chère que le SMS et est utilisée activement en France par une majorité des clients finaux B2C. Celui qui n'a pas WhatsApp ou n'ouvre pas le message dans le délai que vous avez choisi reçoit automatiquement un SMS à la suite. Cette logique de routage est gérée par votre backend : il appelle le canal préféré via l'API et envoie le fallback via le Webhook de confirmation de délivrabilité si nécessaire.
Pour les modèles économiques avec une clientèle principalement B2B, l'ordre inverse est pertinent : SMS en premier, WhatsApp comme fallback. Les utilisateurs B2B lisent les SMS professionnels avec plus d'attention et les acceptent comme canal de communication formel, tandis que WhatsApp est davantage perçu comme un canal personnel.
Pour les numéros fixes ou des exigences spécifiques d'accessibilité, vous pouvez également livrer les OTP via une passerelle téléphonique propre. Ce chemin ne passe pas par SendSeven, mais en parallèle via votre fournisseur voix. Il est généralement plus coûteux que les SMS, mais vaut l'investissement comme dernier filet de sécurité dans le flux.
Bonnes pratiques de sécurité pour les codes OTP
Un dispositif OTP n'est pas sécurisé grâce au canal d'envoi, mais grâce à la rigueur dans le backend. Six règles font la différence entre un second facteur sérieux et une mesure factice qui échoue à un audit.
- 6 chiffres, pas 4 chiffres. Un code à 6 chiffres a un million de combinaisons possibles, un code à 4 chiffres seulement dix mille. Avec un blocage strict anti-force brute, la différence serait théoriquement minime. En pratique, les codes à 4 chiffres facilitent le phishing, car les utilisateurs les mémorisent plus facilement et les saisissent dans des systèmes tiers.
- Validité de 5 à 10 minutes. Plus court est gênant si le SMS arrive en retard. Plus long facilite les attaques. 10 minutes est le compromis établi pour le SMS OTP.
- Forcer l'utilisation unique. Même si le code serait encore valide dans le temps, le backend doit l'invalider immédiatement après une connexion réussie.
- Blocage anti-force brute après 3 à 5 tentatives erronées. Ensuite, rejeter l'OTP et demander à l'utilisateur d'en obtenir un nouveau. Sinon, un attaquant pourrait deviner le code par essais-erreurs.
- Jamais code et lien de connexion dans le même message. Inclure un lien cliquable dans le SMS OTP permet un scénario de phishing perfide : un faux écran de connexion demande le code, l'utilisateur le livre volontairement. Les SMS OTP ne contiennent que le code, rien d'autre.
- Documenter la liaison de canal. Le canal OTP doit être séparé du canal de connexion. Quelqu'un connecté via WhatsApp Web sur son ordinateur portable qui reçoit l'OTP via WhatsApp n'a pas une véritable séparation à deux facteurs. Les éditeurs SaaS doivent noter dans la politique de confidentialité et le concept de sécurité interne quel canal ils utilisent pour les OTP et pourquoi.
Un SMS OTP exemplaire ressemble à ceci : « Votre code : 482593. Valable 10 minutes. Ne le communiquez qu'à SAAS-LOGIN. SAAS-LOGIN ». Six chiffres, une indication de validité, un avertissement de sécurité, un identifiant expéditeur à la fin. Pas de lien, pas de slogan publicitaire, pas d'emoji.
RGPD et protection des données lors de l'envoi OTP
L'envoi d'OTP traite des données personnelles, notamment le numéro de téléphone mobile de l'utilisateur final. Quatre points appartiennent à tout audit RGPD chez un éditeur SaaS.
Base légale. Pour l'envoi OTP destiné à sécuriser la connexion, l'article 6, paragraphe 1, point b) du RGPD (exécution du contrat) s'applique généralement, car l'authentification à deux facteurs fait partie du contrat entre l'éditeur SaaS et le client. Alternativement, le point f) (intérêt légitime) peut entrer en considération. Un consentement n'est pas requis pour de pures mesures de sécurité et n'est pas non plus recommandé, car il pourrait être révoqué.
Contrat de sous-traitance (DPA). L'envoi OTP passe par un prestataire qui traite le numéro de téléphone en votre nom. Vous avez besoin d'un contrat de traitement des données conformément à l'article 28 du RGPD. Les prestataires sérieux le fournissent sans frais supplémentaires.
Hébergement UE privilégié. Les données des citoyens de l'UE doivent être traitées dans l'UE. Cela simplifie l'analyse d'impact sur la protection des données (AIPD) et écarte largement la discussion sur le Cloud Act américain ou le cadre EU-États-Unis. SendSeven héberge exclusivement en UE et est une plateforme conforme au RGPD domiciliée à Augsbourg.
Durée de conservation. Les numéros de téléphone mobile utilisés à des fins OTP ne doivent pas être conservés plus longtemps que nécessaire pour le flux de connexion. Le numéro lui-même fait partie des données de base de l'utilisateur. Le journal d'envoi OTP peut être tenu selon vos propres délais de conservation, généralement 30 à 90 jours pour les journaux de sécurité.
Configuration SaaS avec SendSeven : API, Webhook, Flow Builder
Dans la mise en œuvre technique, trois briques s'articulent.
1. API d'envoi. Votre backend appelle une API REST lors de la tentative de connexion et transmet le numéro du destinataire, le code et éventuellement l'identifiant expéditeur. L'API répond immédiatement avec un ID de message. Via le canal SMS ou l'Authentication Template WhatsApp (pour la variante WhatsApp), le message est envoyé.
2. Webhook pour la confirmation de délivrabilité. Quelques secondes plus tard, un Webhook signale le statut final : « delivered » (délivré), « failed » (échoué) ou « undeliverable » (non délivrable, par exemple parce que le numéro est invalide). Votre backend écoute ce Webhook et peut réagir : en cas de « failed », déclencher automatiquement le canal de fallback, en cas de « undeliverable », inviter l'utilisateur à enregistrer un autre numéro.
3. Routage de fallback dans le backend. L'ordre des canaux est géré par votre propre backend : il appelle d'abord le canal préféré via l'API, attend le Webhook de confirmation de délivrabilité et envoie l'OTP par le canal de fallback en cas de « failed » ou d'absence de confirmation. Vous gardez ainsi le contrôle total sur les délais d'attente et l'ordre. Pour les étapes suivantes, comme une notification à votre équipe en cas d'envois multiples échoués, un flow peut être attaché ensuite.
Envoi OTP pour votre connexion SaaS
SendSeven envoie des OTP par SMS, WhatsApp Authentication et e-mail via une API unifiée. Contrat de sous-traitance selon l'Art. 28 RGPD, hébergement UE, confirmation de délivrabilité par Webhook. Les messages entrants sont toujours gratuits, le démarrage commence à partir de 49 €/mois (formule Basic).
Voir les tarifsExemple de calcul : quand passer à WhatsApp en vaut la peine
La question des coûts est pertinente pour tout SaaS avec un volume de connexions significatif. Un exemple de calcul concis montre à partir de quand l'effort supplémentaire pour un Authentication Template se justifie.
Situation de départ : un SaaS français a 1 000 connexions par jour et envoie un OTP par connexion. Sur la base du SMS, cela coûte 0,09 € par message, soit 90 € par jour, soit environ 2 700 € par mois. Celui qui passe entièrement à WhatsApp Authentication et paie en moyenne 0,055 € par message arrive à environ 1 650 € par mois. L'économie est d'environ 1 050 € par mois soit environ 39 %.
Mais : la migration n'est pas un remplacement à 100 %. Réalistement, les utilisateurs finaux se répartissent en deux groupes. Environ 60 à 80 % utilisent WhatsApp activement et reçoivent le code là-bas. Les 20 à 40 % restants continuent de recevoir l'OTP par SMS comme fallback. Avec ce mix réaliste, l'économie tombe à environ 400 à 600 € par mois, ce qui représente toujours beaucoup plus que l'effort d'administration pour le second template, pour 1 000 connexions par jour.
Le seuil de rentabilité se situe donc à environ 500 connexions par jour. En dessous, l'effort de configuration supplémentaire pour l'Authentication Template est difficilement justifiable. Au-dessus, chaque jour où WhatsApp fonctionne génère des économies par rapport à un envoi purement par SMS.
Pour aller plus loin : articles approfondis
Cet article a mis en avant la configuration du SMS OTP pour les éditeurs SaaS. Les articles suivants approfondissent les thèmes connexes autour du SMS, de la sécurité et de WhatsApp Authentication.
- SMS en entreprise 2026 : notifications de service, 2FA et marketing
- Rappels SMS pour rendez-vous : réduire les absences
- Campagnes SMS marketing conformes au RGPD
- SMS ou WhatsApp : quel canal pour quel usage
Le canal SMS lui-même est présenté sur la page du canal SMS, et le routage visuel entre les canaux dans le Flow Builder.
Questions fréquentes
Le SMS OTP est-il suffisamment sécurisé pour un produit SaaS ?
Le SMS OTP, en tant que second facteur à côté du mot de passe, est nettement plus sûr qu'une connexion par mot de passe seul et suffisant pour la plupart des applications SaaS à destination des PME. Ceux qui ont besoin d'une sécurité maximale (comptes administrateurs, données sensibles) devraient en plus proposer ou à la place une application d'authentification ou des passkeys. L'important est un code à 6 chiffres, une durée de validité courte de 5 à 10 minutes et un blocage anti-force brute après trois à cinq tentatives erronées.
En combien de temps un SMS OTP arrive-t-il en France ?
Via des routes premium vers les opérateurs mobiles français, la latence est typiquement de 5 à 15 secondes. Le taux de délivrabilité atteint 97 à 99 %. Les routes bon marché du marché gris sont inadaptées à l'OTP, car elles ne livrent qu'à 80 à 90 % et présentent des latences plus élevées. Un prestataire sérieux indique clairement quelle route est utilisée.
Quel est le coût d'un SMS OTP en France ?
Un SMS OTP coûte en France typiquement 0,08 à 0,10 € net par envoi. La variante WhatsApp Authentication coûte environ 0,0496 à 0,0706 €, une application d'authentification TOTP est gratuite par code, mais demande plus d'effort à l'onboarding. Chez SendSeven, le démarrage commence à partir de 49 €/mois (formule Basic).
Faut-il utiliser numéro long, numéro court ou expéditeur alphanumérique pour l'OTP ?
Si votre prestataire prend en charge l'expéditeur alphanumérique pour la France, c'est le meilleur choix, car votre marque apparaît directement dans le champ expéditeur et se distingue du spam. Les numéros courts sont chers à mettre en place et économiquement peu rentables pour la plupart des PME. Les numéros longs ressemblent à des SMS d'un particulier et réduisent la confiance, mais sont peu coûteux et rapidement disponibles.
Comment mettre en place une logique de fallback entre WhatsApp et SMS ?
La variante économiquement la plus attractive est : WhatsApp Authentication en premier, SMS comme fallback. L'ordre est géré par votre backend : il appelle le canal préféré via l'API, écoute le Webhook de confirmation de délivrabilité et envoie le SMS à la suite en cas de statut « failed » ou « undeliverable » ou d'absence de confirmation. Vous gardez ainsi le contrôle total sur les délais d'attente et l'ordre.
Quelle est la base légale pour l'envoi OTP selon le RGPD ?
En règle générale, l'article 6, paragraphe 1, point b) du RGPD (exécution du contrat) s'applique, car l'authentification à deux facteurs fait partie du contrat entre l'éditeur SaaS et le client. Alternativement, le point f) (intérêt légitime) peut entrer en considération. Un consentement n'est pas requis. Vous avez besoin d'un contrat de traitement des données conformément à l'article 28 du RGPD avec votre prestataire d'envoi et devriez privilégier l'hébergement en UE.
Peut-on inclure un lien de connexion dans le SMS OTP ?
Non. Un SMS OTP ne doit contenir que le code et un bref avertissement de sécurité. Un lien cliquable dans le SMS OTP permet un scénario de phishing perfide : un faux écran de connexion demande le code, l'utilisateur le livre volontairement. La séparation claire du code et du point d'entrée de connexion fait partie du concept de sécurité et appartient à tout audit interne.
À quel volume de connexions vaut-il la peine de passer de SMS à WhatsApp Authentication ?
Le seuil de rentabilité se situe à environ 500 connexions par jour. Au-delà, le passage à WhatsApp Authentication (avec SMS comme fallback) en France génère des économies de plusieurs centaines d'euros par mois sur les coûts d'envoi. En dessous, l'effort de configuration supplémentaire pour l'Authentication Template est difficilement justifiable. À volume très élevé et en envoi purement WhatsApp, des économies d'environ 39 % par rapport à un envoi purement SMS sont réalistes.