Vai al contenuto

Verifica identità

Un chatbot sicuro per i tuoi utenti autenticati

Il tuo server firma l'ID dell'utente autenticato con un secret che conoscete solo tu e intoCHAT. Così l'agente sa chi sta scrivendo, le tue azioni possono leggere i dati di quell'utente e puoi riservare la chat agli utenti che hanno effettuato l'accesso.

Esempio: una cliente autenticata chiede del proprio account

Visitatore: Quanti posti mi restano nel mio piano?

Agente: Ciao Ada! Ho controllato il tuo account: hai il piano Team e usi 7 posti su 10, quindi 3 sono liberi. Vuoi sapere come invitare qualcuno?

Visitatore: No grazie, era tutto quello che mi serviva.

Un widget di chat da solo non sa chi sta scrivendo

Nella tua app o nel tuo portale clienti, le persone chiedono del proprio account: il piano, le fatture, gli ordini. Un semplice widget di chat non sa chi sta scrivendo. Se la pagina passa soltanto un ID utente o un indirizzo email, chiunque può modificarlo nel browser e chiedere dell'account di qualcun altro. Così l'agente rifiuta tutto ciò che è personale, oppure diventa un rischio. La verifica dell'identità risolve il problema con una firma creata dal tuo server. Un ID utente senza una firma valida non è considerato attendibile, quindi nessuno può fingersi un altro utente.

Cosa ti dà la verifica dell'identità

Un secret per agente, una riga di codice sul server e una chiamata nella pagina.

  • Nessuno può spacciarsi per un altro utente

    Il tuo server firma l'ID utente con HMAC-SHA256 e il server di intoCHAT verifica la firma a ogni messaggio. Chi modifica l'ID nel browser chatta semplicemente come visitatore non verificato.

  • Azioni con i dati dell'utente stesso

    Le azioni API lato server possono usare {{user.id}}, {{user.email}}, {{user.name}} e {{user.metadata.<key>}}. intoCHAT li compila sui suoi server, solo dall'identità verificata. L'AI non li vede e non li sceglie mai.

  • Chat solo per utenti autenticati

    Attiva Only verified visitors can chat e il widget chiede ai visitatori di accedere invece di mostrare il campo del messaggio. Anche l'API della chat rifiuta i messaggi senza un'identità valida.

  • Sapere con chi hai parlato

    Le conversazioni verificate mostrano Verified e l'ID utente, con il nome e l'email passati dalla tua pagina. Ogni visitatore verificato viene salvato come contatto dell'agente, associato solo tramite l'ID utente.

  • L'AI sa il meno possibile

    All'AI viene detto che il visitatore è verificato e il suo nome, così può salutarlo. Non riceve mai l'indirizzo email, l'ID utente o i metadati, quindi non può ripeterli né essere convinta a rivelarli.

Come configurarla

  1. Genera un secret

    Apri il tuo agente, vai alla scheda Share e clicca su Generate secret nella scheda Identity verification. Conserva il secret sul tuo server, per esempio in una variabile d'ambiente. Non va mai nel tuo HTML o JavaScript.

  2. Firma l'ID utente sul tuo server

    Per l'utente autenticato calcola lo userHash: l'HMAC-SHA256 dell'ID utente con il secret come chiave, in esadecimale minuscolo. È una riga in Node.js, PHP o Python. Inserisci l'ID e l'hash nella pagina.

  3. Chiama IntoChat.identify nella pagina

    Dopo lo script, chiama IntoChat.identify con userId e userHash, e se vuoi nome, email e metadati, a ogni caricamento di pagina finché l'utente è connesso. Il widget invia l'identità con ogni messaggio.

  4. Chiama IntoChat.reset all'uscita

    Quando l'utente esce, IntoChat.reset dimentica l'identità e avvia una nuova chat, così la persona successiva su quel browser non vede la conversazione precedente. Identificare un utente diverso avvia da solo una nuova chat.

La verifica dell'identità nel dettaglio

  • Una normale firma HMAC

    Lo userHash è l'HMAC-SHA256 esattamente del testo che passi come userId, con il secret come chiave, in esadecimale minuscolo. La documentazione lo mostra in Node.js, PHP e Python. Non servono librerie o servizi aggiuntivi.

  • Segnaposto compilati dal server

    Per un visitatore non verificato i segnaposto {{user.*}} restano vuoti e i campi vuoti vengono omessi dalla richiesta. Anche se l'AI scrive qualcosa che somiglia a {{user.id}}, viene inviato come testo semplice.

  • Anche le azioni lato client conoscono l'utente

    Un handler di azioni lato client nella tua pagina riceve il visitatore come context.user. Poiché la sua richiesta nasce nel browser del visitatore, lì i segnaposto {{user.*}} restano vuoti.

  • Verificato in esportazioni e webhook

    L'esportazione CSV delle conversazioni ha una colonna Verified user ID, e i webhook per lead, moduli e prenotazioni includono un oggetto identity, così i tuoi sistemi sanno di quale utente si trattava.

  • Prova come visitatore autenticato

    Nel Playground apri Test as a signed-in visitor e inserisci un ID utente, un nome, un'email e dei metadati. I tuoi messaggi contano come verificati senza firma. Possono usarlo solo il proprietario, gli admin e gli editor.

  • Un secret gestito solo dagli admin

    Solo il proprietario e gli admin possono generare, mostrare o ruotare il secret, che è salvato cifrato. Gli editor vedono se è impostato e i suoi ultimi quattro caratteri. Rotate disattiva subito il vecchio secret.

  • Domande sulla fatturazione per utenti verificati

    Con Pro ed Enterprise, la fatturazione Stripe in self-service permette all'agente di mostrare ai visitatori verificati fatture e abbonamento dal tuo account Stripe. Funziona solo per i visitatori che il tuo sito autentica.

  • In ogni piano

    La verifica dell'identità e Only verified visitors can chat sono disponibili in ogni piano, anche in Free. Serve la bolla di chat dello script, perché l'identità arriva dalla tua pagina.

Domande frequenti

Che cos'è la verifica dell'identità per un chatbot?

Permette al tuo sito di dire al chatbot chi è un visitatore autenticato, in un modo che nessuno può falsificare. Il tuo server firma l'ID dell'utente con un secret che conoscete solo tu e intoCHAT, la tua pagina passa ID e firma al widget e intoCHAT verifica la firma a ogni messaggio.

Come creo lo user hash?

Calcola l'HMAC-SHA256 dell'ID utente con il secret dell'agente come chiave e scrivilo in esadecimale minuscolo. Firma esattamente il testo che passi come userId. Fallo sul tuo server, mai nel browser, poi passa userId e userHash a IntoChat.identify.

Posso riservare la chat agli utenti autenticati?

Sì. Attiva Only verified visitors can chat nella scheda Identity verification. I visitatori senza una firma valida vedono un breve avviso che li invita ad accedere, nella lingua del widget, e l'API della chat rifiuta i loro messaggi con il motivo identity_required. Il tuo Playground continua a funzionare.

Che cosa sa l'AI dell'utente?

Solo che il visitatore ha effettuato l'accesso ed è verificato, e il nome passato dalla tua pagina, che può usare per salutarlo. Non riceve mai l'indirizzo email, l'ID utente o i metadati. Le azioni lato server usano questi valori, inseriti da intoCHAT, quindi l'AI non può leggerli ad alta voce né sostituirli con l'ID di un altro.

Anche nome, email e metadati vengono firmati?

No, viene firmato solo l'ID utente. Nome, email e metadati sono ciò che la tua pagina passa insieme a una firma valida, quindi un utente autenticato potrebbe modificare la propria copia nel browser. Cerca tutto ciò che conta, come ordini, fatture o permessi, tramite {{user.id}} dalla tua parte.

Funziona con l'iframe inline, il link della chat o la Help Page?

No. L'identità arriva dalla tua pagina tramite il JavaScript SDK, quindi serve la bolla di chat dello script. L'iframe inline, il link di condivisione e la Help Page non possono identificare nessuno; con Only verified visitors can chat attivo mostrano solo l'avviso di accesso.

Cosa succede se la firma è sbagliata?

Al visitatore non viene mai mostrato un errore. Chatta semplicemente come visitatore non verificato e i segnaposto {{user.*}} restano vuoti. Con Only verified visitors can chat attivo, vede invece l'avviso di accesso. Dopo la rotazione del secret, tutti risultano non verificati finché il tuo server non firma con quello nuovo.

Di quale piano ho bisogno?

La verifica dell'identità, Only verified visitors can chat e i segnaposto {{user.*}} sono in ogni piano, Free compreso. I visitatori verificati diventano contatti fino al limite per agente del tuo piano: 100 con Free, 5.000 con Starter, 25.000 con Pro. La fatturazione Stripe in self-service per visitatori verificati è inclusa in Pro ed Enterprise.

Fai sapere al tuo agente con chi sta parlando

Crea il tuo agente gratis, genera un secret nella scheda Share e prova Test as a signed-in visitor nel Playground prima di aggiungere una riga al tuo server.

Crea il tuo agente gratis

Piano gratuito, nessuna carta di credito.