Developer track
How the embed works
The copilot never talks to your data directly, and it never trusts the browser. Every request carries a short-lived token your backend signs for the logged-in user; NAVI's gateway verifies it at the edge before anything reaches your instance.
txt
Your user (browser + widget)
│ signed JWT
▼
NAVI Gateway (verifies every request)
│ routed, per-tenant
▼
Your instance (the copilot)
Your backend signs the token at page load (→ browser) and, optionally,
answers the gateway's token-exchange to grant scoped access to that user's data.
So there are exactly three things your side owns: a key pair, a token your backend signs, and two snippets in your pages. Optionally, a token-exchange endpoint if the copilot needs to read each user's private data.