piperchat embed demo

This page embeds piperchat in an iframe with runtime theming. The host (this page) drives colors via postMessage. The iframe never exposes ciphertext.

Try it: change the colors above and click "Apply theme" — the chat re-skins instantly. Open this same page in two browser tabs to chat with yourself. (Identity stays in localStorage per origin.)

What's happening

  1. The iframe boots with embed mode (?embed=1) — sidebar and header chrome are hidden so the chat fits inside your UI.
  2. Initial colors come from URL params (?accent=…&theme=light).
  3. This page listens for piperchat:ready and then can send piperchat:set-theme messages at any time to re-skin.
  4. If you wanted to inject the user's identity from your auth layer, you'd postMessage({type:'piperchat:set-identity', ed25519_priv, x25519_priv, username, channel}) after piperchat:ready.