Aller au contenu

Vérification d'identité

Un chatbot sécurisé pour vos utilisateurs connectés

Votre serveur signe l'identifiant de l'utilisateur connecté avec un secret que seuls vous et intoCHAT connaissez. L'agent sait alors qui écrit, vos actions peuvent consulter les données de cet utilisateur, et vous pouvez réserver le chat aux utilisateurs connectés.

Exemple : une cliente connectée pose une question sur son compte

Visiteur: Combien de places me reste-t-il dans mon offre ?

Agent: Bonjour Ada ! J'ai vérifié votre compte : vous avez l'offre Team et utilisez 7 places sur 10, il en reste donc 3. Voulez-vous savoir comment inviter quelqu'un ?

Visiteur: Non merci, c'est tout ce qu'il me fallait.

Un widget de chat seul ne sait pas qui écrit

Dans votre application ou votre espace client, les gens posent des questions sur leur propre compte : leur offre, leurs factures, leurs commandes. Un simple widget de chat ne sait pas qui écrit. Si la page transmet seulement un identifiant ou une adresse e-mail, n'importe qui peut la modifier dans le navigateur et demander le compte de quelqu'un d'autre. L'agent refuse alors tout ce qui est personnel, ou devient un risque. La vérification d'identité règle ce problème avec une signature créée par votre serveur. Un identifiant sans signature valide n'est pas pris en compte, donc personne ne peut se faire passer pour un autre utilisateur.

Ce que vous apporte la vérification d'identité

Un secret par agent, une ligne de code serveur et un appel dans la page.

  • Personne ne peut se faire passer pour un autre

    Votre serveur signe l'identifiant en HMAC-SHA256 et le serveur d'intoCHAT vérifie la signature à chaque message. Un visiteur qui modifie l'identifiant dans le navigateur discute simplement comme visiteur non vérifié.

  • Des actions avec les données de l'utilisateur

    Les actions API côté serveur peuvent utiliser {{user.id}}, {{user.email}}, {{user.name}} et {{user.metadata.<key>}}. intoCHAT les remplit sur ses serveurs, à partir de l'identité vérifiée uniquement. L'IA ne les voit ni ne les choisit jamais.

  • Le chat réservé aux utilisateurs connectés

    Activez Only verified visitors can chat et le widget invite les visiteurs à se connecter au lieu d'afficher le champ de message. L'API de chat refuse aussi les messages sans identité valide.

  • Savoir à qui vous avez parlé

    Les conversations vérifiées affichent Verified et l'identifiant, avec le nom et l'e-mail transmis par votre page. Chaque visiteur vérifié est enregistré comme contact de l'agent, retrouvé par son identifiant uniquement.

  • L'IA en sait le moins possible

    L'IA apprend que le visiteur est vérifié et son nom, pour pouvoir le saluer. Elle ne reçoit jamais l'adresse e-mail, l'identifiant ni les métadonnées : elle ne peut donc ni les répéter ni être poussée à les révéler.

Comment la mettre en place

  1. Générez un secret

    Ouvrez votre agent, allez dans l'onglet Share et cliquez sur Generate secret dans la carte Identity verification. Conservez le secret sur votre serveur, par exemple dans une variable d'environnement. Il n'a jamais sa place dans votre HTML ou votre JavaScript.

  2. Signez l'identifiant sur votre serveur

    Pour l'utilisateur connecté, calculez userHash : le HMAC-SHA256 de l'identifiant, avec le secret comme clé, en hexadécimal minuscule. C'est une ligne en Node.js, PHP ou Python. Insérez l'identifiant et le hash dans la page.

  3. Appelez IntoChat.identify dans la page

    Après la balise script, appelez IntoChat.identify avec userId et userHash, et si vous le souhaitez le nom, l'e-mail et des métadonnées, à chaque chargement de page tant que l'utilisateur est connecté. Le widget envoie l'identité avec chaque message.

  4. Appelez IntoChat.reset à la déconnexion

    Quand l'utilisateur se déconnecte, IntoChat.reset oublie l'identité et démarre un nouveau chat, pour que la personne suivante sur ce navigateur ne voie pas la conversation précédente. Identifier un autre utilisateur démarre aussi un nouveau chat.

La vérification d'identité en détail

  • Une signature HMAC standard

    userHash est le HMAC-SHA256 exactement du texte que vous transmettez comme userId, avec le secret comme clé, en hexadécimal minuscule. La documentation le montre en Node.js, PHP et Python. Aucune bibliothèque ni service supplémentaire n'est nécessaire.

  • Des variables remplies par le serveur

    Pour un visiteur non vérifié, les variables {{user.*}} restent vides et les champs vides sont retirés de la requête. Même si l'IA écrit quelque chose qui ressemble à {{user.id}}, c'est envoyé comme simple texte.

  • Les actions côté client connaissent aussi l'utilisateur

    Un gestionnaire d'actions côté client sur votre page reçoit le visiteur dans context.user. Comme sa requête est construite dans le navigateur du visiteur, les variables {{user.*}} y restent vides.

  • Vérifié dans les exports et les webhooks

    L'export CSV des conversations comporte une colonne Verified user ID, et les webhooks des leads, formulaires et réservations incluent un objet identity : vos systèmes savent de quel utilisateur il s'agit.

  • Tester comme visiteur connecté

    Dans le Playground, dépliez Test as a signed-in visitor et saisissez un identifiant, un nom, un e-mail et des métadonnées. Vos messages comptent comme vérifiés, sans signature. Seuls le propriétaire, les admins et les editors peuvent l'utiliser.

  • Un secret géré par les admins seulement

    Seuls le propriétaire et les admins peuvent générer, afficher ou renouveler le secret, qui est stocké chiffré. Les editors voient s'il est défini et ses quatre derniers caractères. Rotate désactive l'ancien secret immédiatement.

  • Questions de facturation pour utilisateurs vérifiés

    Avec Pro et Enterprise, la facturation Stripe en libre-service permet à l'agent de montrer aux visiteurs vérifiés leurs factures et leur abonnement depuis votre compte Stripe. Elle ne fonctionne que pour les visiteurs connectés par votre site.

  • Dans toutes les offres

    La vérification d'identité et Only verified visitors can chat sont disponibles dans toutes les offres, Free comprise. Il faut la bulle de chat de la balise script, car l'identité vient de votre page.

Questions fréquentes

Qu'est-ce que la vérification d'identité d'un chatbot ?

Elle permet à votre site d'indiquer au chatbot qui est un visiteur connecté, d'une façon que personne ne peut falsifier. Votre serveur signe l'identifiant de l'utilisateur avec un secret que seuls vous et intoCHAT connaissez, votre page transmet l'identifiant et la signature au widget, et intoCHAT vérifie la signature à chaque message.

Comment créer le user hash ?

Calculez le HMAC-SHA256 de l'identifiant avec le secret de l'agent comme clé, et écrivez-le en hexadécimal minuscule. Signez exactement le texte que vous transmettez comme userId. Faites-le sur votre serveur, jamais dans le navigateur, puis passez userId et userHash à IntoChat.identify.

Puis-je réserver le chat aux utilisateurs connectés ?

Oui. Activez Only verified visitors can chat dans la carte Identity verification. Les visiteurs sans signature valide voient un court message les invitant à se connecter, dans la langue du widget, et l'API de chat refuse leurs messages avec le motif identity_required. Votre Playground continue de fonctionner.

Que sait l'IA de l'utilisateur ?

Seulement que le visiteur est connecté et vérifié, et le nom transmis par votre page, qu'elle peut utiliser pour le saluer. Elle ne reçoit jamais l'adresse e-mail, l'identifiant ni les métadonnées. Les actions côté serveur utilisent ces valeurs, insérées par intoCHAT : l'IA ne peut ni les lire à voix haute ni les remplacer par l'identifiant d'un autre.

Le nom, l'e-mail et les métadonnées sont-ils signés aussi ?

Non, seul l'identifiant est signé. Le nom, l'e-mail et les métadonnées sont ce que votre page transmet avec une signature valide : un utilisateur connecté pourrait donc modifier sa propre copie dans le navigateur. Recherchez tout ce qui compte, comme les commandes, les factures ou les droits, par {{user.id}} de votre côté.

Est-ce que ça marche avec l'iframe intégrée, le lien de chat ou la Help Page ?

Non. L'identité vient de votre page via le JavaScript SDK, il faut donc la bulle de chat de la balise script. L'iframe intégrée, le lien de partage et la Help Page ne peuvent identifier personne ; avec Only verified visitors can chat activé, ils affichent seulement le message de connexion.

Que se passe-t-il si la signature est fausse ?

Le visiteur ne voit jamais d'erreur. Il discute simplement comme visiteur non vérifié, et les variables {{user.*}} restent vides. Avec Only verified visitors can chat activé, il voit le message de connexion à la place. Après un renouvellement du secret, tout le monde est non vérifié jusqu'à ce que votre serveur signe avec le nouveau.

De quelle offre ai-je besoin ?

La vérification d'identité, Only verified visitors can chat et les variables {{user.*}} sont incluses dans toutes les offres, Free comprise. Les visiteurs vérifiés deviennent des contacts dans la limite par agent de votre offre : 100 avec Free, 5 000 avec Starter, 25 000 avec Pro. La facturation Stripe en libre-service pour les visiteurs vérifiés est incluse dans Pro et Enterprise.

Dites à votre agent à qui il parle

Créez votre agent gratuitement, générez un secret dans l'onglet Share et essayez Test as a signed-in visitor dans le Playground avant d'ajouter une ligne à votre serveur.

Créer votre agent gratuitement

Offre gratuite, sans carte bancaire.