Vorher passiert nichts
Kein Widget, keine Anfrage. Ihr Banner ruft window.arizo('consent') auf, oder das Tag trägt data-consent="granted". Wer beides vergisst, sieht nichts — ein sichtbarer Fehler statt eines unsichtbaren.
Ein Script-Tag, kein Build-Schritt, kein Paket. Funktioniert in Webflow, WordPress oder purem HTML.
<script async src="https://arizo.ch/widget.js" data-key="arizo_pk_live_…"></script>
<script async
src="https://arizo.ch/widget.js"
data-key="arizo_pk_live_…"
data-surface="app"
data-email="{{ user.email }}"
data-identity-token="{{ identityToken }}"></script>const expiresAt = Math.floor(Date.now() / 1000) + 600
const payload = ["v1", WIDGET_PUBLIC_KEY, email, expiresAt].join("\n")
const signature = crypto.createHmac("sha256", tenantSecret)
.update(payload).digest("base64url")
const identityToken = `v1.${expiresAt}.${signature}`Kein Widget, keine Anfrage. Ihr Banner ruft window.arizo('consent') auf, oder das Tag trägt data-consent="granted". Wer beides vergisst, sieht nichts — ein sichtbarer Fehler statt eines unsichtbaren.
Ohne kurzlebiges, mandantengebundenes Token könnte jede Besucherin jede Adresse angeben und sich in eine fremde Gesprächshistorie schreiben. Eine getippte Adresse gilt als Antwortweg, nie als Identität.
window.arizo('theme', 'dark') schaltet das offene Fenster sofort um, ohne Neuladen — damit das Gespräch nicht verloren geht. Sagt Ihre Seite nichts, folgt Arizo der Einstellung der Besucherin.
Er steht im Quelltext jeder Seite, die ihn einbindet. Erlaubte Domains und die Frame-Policy begrenzen, wo der Browser den Chat zeigt; serverseitige Limits begrenzen gefälschte HTTP-Aufrufe.