Embedding Nive

Iframe embedding, CSP frame-ancestors and storage-partitioning notes.

Nive is embeddable. Every route renders inside a cross-origin iframe without console errors.

Minimal embed

<iframe
  src="https://nive-ai.co.in/code"
  width="100%"
  height="720"
  style="border:0;border-radius:12px"
  allow="clipboard-write; microphone"
  title="Nive AI"
></iframe>

What we do to make it work

  • frame-ancestors permits network and non-network schemes, so sandboxed and blob: parents work too.
  • X-Frame-Options is not sent — it cannot express the same policy.
  • Storage access is wrapped: when a browser partitions or blocks third-party storage, Nive falls back to in-memory state instead of throwing.
  • Theme and preset state are read after mount, so embedded copies never hydrate-mismatch.

Permissions to grant

FeatureRequired allow attribute
Voice Agentsmicrophone
Copy buttonsclipboard-write
Live previewNested sandboxed iframe — no extra permission needed
Sign-in inside an iframe depends on the parent browser's third-party storage rules. If users report being signed out on reload, open Nive in a new tab for the auth step.