Zum Inhalt springen

Identitätsprüfung

Ein sicherer Chatbot für deine eingeloggten Nutzer

Dein Server signiert die ID des eingeloggten Nutzers mit einem Secret, das nur du und intoCHAT kennen. Dann weiß der Agent, wer chattet, deine Aktionen können die Daten genau dieses Nutzers abrufen, und du kannst den Chat auf eingeloggte Nutzer beschränken.

Beispiel: Eine eingeloggte Kundin fragt nach ihrem eigenen Konto

Besucher: Wie viele Plätze habe ich in meinem Tarif noch frei?

Agent: Hallo Ada! Ich habe in deinem Konto nachgesehen: Du hast den Team-Tarif und nutzt 7 von 10 Plätzen, also sind 3 frei. Möchtest du wissen, wie du jemanden einlädst?

Besucher: Nein danke, das war alles.

Ein Chat-Widget allein weiß nicht, wer schreibt

In deiner App oder deinem Kundenportal fragen Leute nach ihrem eigenen Konto: nach ihrem Tarif, ihren Rechnungen, ihren Bestellungen. Ein einfaches Chat-Widget weiß nicht, wer da schreibt. Gibt die Seite einfach eine Nutzer-ID oder eine E-Mail-Adresse weiter, kann jeder sie im Browser ändern und nach dem Konto eines anderen fragen. Also lehnt der Agent entweder alles Persönliche ab oder wird zum Risiko. Die Identitätsprüfung löst das mit einer Signatur, die dein Server erzeugt. Einer Nutzer-ID ohne gültige Signatur wird nicht vertraut, also kann sich niemand als ein anderer Nutzer ausgeben.

Was dir die Identitätsprüfung bringt

Ein Secret pro Agent, eine Zeile Servercode und ein Aufruf auf der Seite.

  • Niemand kann sich als anderer Nutzer ausgeben

    Dein Server signiert die Nutzer-ID mit HMAC-SHA256, und der Server von intoCHAT prüft die Signatur bei jeder Nachricht. Wer die ID im Browser ändert, chattet einfach als nicht verifizierter Besucher.

  • Aktionen mit den eigenen Daten des Nutzers

    Serverseitige API-Aktionen können {{user.id}}, {{user.email}}, {{user.name}} und {{user.metadata.<key>}} nutzen. intoCHAT füllt sie auf seinen Servern aus, nur aus der geprüften Identität. Die KI sieht und wählt sie nie.

  • Chat nur für eingeloggte Nutzer

    Schalte Only verified visitors can chat ein, und das Widget bittet Besucher, sich anzumelden, statt das Eingabefeld zu zeigen. Auch die Chat-API lehnt Nachrichten ohne gültige Identität ab.

  • Wissen, mit wem du gesprochen hast

    Verifizierte Gespräche zeigen Verified und die Nutzer-ID, dazu Name und E-Mail, die deine Seite übergeben hat. Jeder verifizierte Besucher wird als Kontakt des Agenten gespeichert, nur über die Nutzer-ID zugeordnet.

  • Die KI erfährt so wenig wie möglich

    Die KI erfährt, dass der Besucher verifiziert ist, und seinen Namen, damit sie ihn begrüßen kann. E-Mail-Adresse, Nutzer-ID und Metadaten bekommt sie nie, kann sie also weder wiederholen noch sich zum Verraten überreden lassen.

So richtest du es ein

  1. Ein Secret erzeugen

    Öffne deinen Agenten, geh zum Tab Share und klick auf der Karte Identity verification auf Generate secret. Speichere das Secret auf deinem Server, zum Beispiel in einer Umgebungsvariable. In dein HTML oder JavaScript gehört es nie.

  2. Die Nutzer-ID auf deinem Server signieren

    Berechne für den eingeloggten Nutzer den userHash: den HMAC-SHA256 der Nutzer-ID mit dem Secret als Schlüssel, in Kleinbuchstaben-Hex. Das ist eine Zeile in Node.js, PHP oder Python. Gib ID und Hash in die Seite aus.

  3. IntoChat.identify auf der Seite aufrufen

    Ruf nach dem Script-Tag IntoChat.identify mit userId und userHash auf, optional mit Name, E-Mail und Metadaten, bei jedem Seitenaufruf, solange der Nutzer eingeloggt ist. Das Widget schickt die Identität mit jeder Nachricht mit.

  4. IntoChat.reset beim Abmelden aufrufen

    Meldet sich der Nutzer ab, vergisst IntoChat.reset die Identität und startet einen neuen Chat, damit die nächste Person in diesem Browser das vorherige Gespräch nicht sieht. Wird ein anderer Nutzer identifiziert, startet von selbst ein neuer Chat.

Die Identitätsprüfung im Detail

  • Eine normale HMAC-Signatur

    userHash ist der HMAC-SHA256 genau des Texts, den du als userId übergibst, mit dem Secret als Schlüssel, in Kleinbuchstaben-Hex. Die Doku zeigt es in Node.js, PHP und Python. Du brauchst keine zusätzliche Bibliothek und keinen Dienst.

  • Platzhalter, die der Server ausfüllt

    Für einen nicht verifizierten Besucher bleiben die {{user.*}}-Platzhalter leer, und leere Felder werden aus der Anfrage weggelassen. Selbst wenn die KI etwas schreibt, das wie {{user.id}} aussieht, wird es als reiner Text gesendet.

  • Auch clientseitige Aktionen kennen den Nutzer

    Ein Handler für clientseitige Aktionen auf deiner Seite bekommt den Besucher als context.user. Weil seine Anfrage im Browser des Besuchers entsteht, bleiben die {{user.*}}-Platzhalter dort leer.

  • Verifiziert in Exporten und Webhooks

    Der CSV-Export der Gespräche hat eine Spalte Verified user ID, und die Webhooks für Leads, Formulare und Buchungen enthalten ein identity-Objekt. So wissen deine Systeme, welcher Nutzer es war.

  • Als eingeloggter Besucher testen

    Klapp im Playground Test as a signed-in visitor auf und gib eine Nutzer-ID, einen Namen, eine E-Mail und Metadaten ein. Deine Nachrichten zählen ohne Signatur als verifiziert. Nutzen können das nur Inhaber, Admins und Editors.

  • Ein Secret, das nur Admins verwalten

    Nur Inhaber und Admins können das Secret erzeugen, anzeigen oder rotieren; es wird verschlüsselt gespeichert. Editors sehen, ob eines gesetzt ist, und seine letzten vier Zeichen. Rotate macht das alte Secret sofort ungültig.

  • Abrechnungsfragen für verifizierte Nutzer

    In Pro und Enterprise zeigt der Agent mit der Stripe-Abrechnung als Self-Service verifizierten Besuchern ihre Rechnungen und ihr Abo aus deinem Stripe-Konto. Das funktioniert nur für Besucher, die deine Website anmeldet.

  • In jedem Plan

    Identitätsprüfung und Only verified visitors can chat gibt es in jedem Plan, auch in Free. Du brauchst dafür die Chat-Blase aus dem Script-Tag, weil die Identität von deiner Seite kommt.

Häufige Fragen

Was ist eine Identitätsprüfung für Chatbots?

Damit sagt deine Website dem Chatbot, wer ein eingeloggter Besucher ist, und zwar fälschungssicher. Dein Server signiert die ID des Nutzers mit einem Secret, das nur du und intoCHAT kennen, deine Seite übergibt ID und Signatur an das Widget, und intoCHAT prüft die Signatur bei jeder Nachricht.

Wie erzeuge ich den User Hash?

Berechne den HMAC-SHA256 der Nutzer-ID mit dem Secret des Agenten als Schlüssel und schreib ihn als Hexadezimalwert in Kleinbuchstaben. Signiere genau den Text, den du als userId übergibst. Mach das auf deinem Server, nie im Browser, und übergib dann userId und userHash an IntoChat.identify.

Kann ich den Chat auf eingeloggte Nutzer beschränken?

Ja. Schalte auf der Karte Identity verification Only verified visitors can chat ein. Besucher ohne gültige Signatur sehen einen kurzen Hinweis in der Sprache des Widgets, dass sie sich anmelden sollen, und die Chat-API lehnt ihre Nachrichten mit dem Grund identity_required ab. Dein eigener Playground funktioniert weiter.

Was weiß die KI über den Nutzer?

Nur, dass der Besucher eingeloggt und verifiziert ist, und den Namen, den deine Seite übergeben hat. Den darf sie zur Begrüßung nutzen. E-Mail-Adresse, Nutzer-ID und Metadaten bekommt sie nie. Serverseitige Aktionen nutzen diese Werte, von intoCHAT eingesetzt, sodass die KI sie weder vorlesen noch durch die ID eines anderen ersetzen kann.

Werden Name, E-Mail und Metadaten auch signiert?

Nein, signiert wird nur die Nutzer-ID. Name, E-Mail und Metadaten sind das, was deine Seite neben einer gültigen Signatur übergibt, also könnte ein eingeloggter Nutzer seine eigene Kopie im Browser ändern. Schlag alles Wichtige, etwa Bestellungen, Rechnungen oder Berechtigungen, auf deiner Seite über {{user.id}} nach.

Funktioniert das mit dem Inline-iframe, dem Chat-Link oder der Help Page?

Nein. Die Identität kommt über das JavaScript SDK von deiner Seite, deshalb braucht sie die Chat-Blase aus dem Script-Tag. Inline-iframe, Share-Link und Help Page können niemanden identifizieren; ist Only verified visitors can chat an, zeigen sie nur den Hinweis zum Anmelden.

Was passiert bei einer falschen Signatur?

Der Besucher sieht nie eine Fehlermeldung. Er chattet einfach als nicht verifizierter Besucher, und die {{user.*}}-Platzhalter bleiben leer. Ist Only verified visitors can chat an, sieht er stattdessen den Hinweis zum Anmelden. Nach dem Rotieren des Secrets gilt jeder als nicht verifiziert, bis dein Server mit dem neuen signiert.

Welchen Plan brauche ich?

Identitätsprüfung, Only verified visitors can chat und die {{user.*}}-Platzhalter gibt es in jedem Plan, auch in Free. Verifizierte Besucher werden zu Kontakten, bis zum Limit deines Plans pro Agent: 100 in Free, 5.000 in Starter, 25.000 in Pro. Die Stripe-Abrechnung als Self-Service für verifizierte Besucher gibt es in Pro und Enterprise.

Lass deinen Agenten wissen, mit wem er spricht

Erstelle deinen Agenten kostenlos, erzeuge auf dem Tab Share ein Secret und probier Test as a signed-in visitor im Playground aus, bevor du eine Zeile auf deinem Server ergänzt.

Agent kostenlos erstellen

Kostenloser Plan, keine Kreditkarte nötig.