Der Chat-Assistent,
der sich einbetten lässt.
Ein konfigurierbares, anonymes Chat-Widget für deine Website — serverseitig an die passende Pipeline gebunden, gehärtet nach unserer Sicherheits-Baseline. Diese Seite steht für eine echte Kundenwebsite und bindet das Widget mit dem exakten Produktions-Snippet ein.
Live auf dieser Seite
Der Launcher wartet unten rechts ↘
Klicke auf den lila Button in der Ecke, um den echten Chat zu öffnen — kein Mock, sondern das produktive Widget, das über einen anonymen, cookiefreien Cross-Origin-Embed streamt.
Warum diese Seite existiert
Der vollständige Produktions-Sicherheitspfad.
Diese Seite wird von ihrer EIGENEN Origin ausgeliefert (nicht der des Gateways), damit der komplette Einbettungs- und Sicherheitsfluss geprüft wird — keine Same-Origin-Abkürzung.
Cross-Origin-Embed via frame-ancestors
Die Origin dieser Seite unterscheidet sich von der des Gateways. Das
Widget-iframe wird über GET /v1/frame mit einer
mandantenspezifischen Content-Security-Policy ausgeliefert, deren
frame-ancestors exakt diese Origin listet — nur lizenzierte
Seiten dürfen einbetten.
Anonyme Session, KEINE Cookies
Das Widget mintet eine Session über POST /v1/sessions aus dem
Gateway-Origin-iframe heraus. Die Conversation-ID wird serverseitig
vergeben; nichts wird in Cookies gespeichert und keine Besucheridentität
erfasst.
DOMPurify-gesäubertes SSE-Streaming
Die Modellausgabe streamt Token für Token über Server-Sent Events und wird vor dem Rendern gesäubert — Markup in der Antwort kann niemals in der Seite ausgeführt werden.
Einbindung
Ein Snippet. Zwei Attribute.
Genau das Snippet, das eine Kundin in ihre Seite einfügt. Es gibt kein
data-widget-origin-Override: der Loader leitet die Widget-Origin
aus seinem eigenen <script src> ab. Der Launcher-Button
erscheint unten rechts — klick ihn, um den Chat zu öffnen.
<script async
src="https://api.chat.cloud.laizee.ai/v1/loader.js"
data-widget-id="wgt_c0a26991cce64de794403855d16bc684"></script>
-
Loader vom Gateway.
/v1/loader.jsliefert das gebaute Loader-Bundle von der Platte. Führe vor dem Start des Stackspnpm buildaus, sonst liefert der Loader-Request 503 und es erscheint kein Button. -
Beobachten in den DevTools. Siehe
infra/demo/README.md, um jede Eigenschaft (CSP, keine Cookies, SSE) im Detail zu prüfen.