Website Embed
QI Hub
Put your exchange assistant on your own website. Visitors chat under your brand, the
assistant tells them Summit QI Services is the Qualified Intermediary, and every
lead, escalation and handoff lands in your console.
Embed key
New key issued — copy it into your site now
pk_live_summit_9k42dv81mze07qtx3cfw
Shown in full this once; afterwards the console displays a masked prefix. Your
previous key keeps working for 24 hours so the widget on your site never breaks
mid-cutover. The key is a public identifier, not a secret — the origin list below
is what keeps it yours. Issue, rotate and revoke are each audit-logged.
| Key | Status | Last seen | Action |
|---|---|---|---|
|
pk_live_summit_9k42…3cfw
|
Active | 2 min ago · summitqi.com | |
|
pk_live_summit_7h2x…p9d1
|
Rotating out · 22h left | 4 min ago · summitqi.com | |
|
pk_live_summit_2a91…k44e
|
Revoked | — |
Revoking a key stops the widget on your site immediately — visitors see your
contact form, never an error. That is the kill switch, and it works without a
deploy on either side.
Allowed origins
3 origins
The widget loads only on the sites listed here. Requests from anywhere else are
refused, and the refusal reveals nothing about your configuration.
https://summitqi.com
Serving
https://www.summitqi.com
Serving
Test result: the origin answers, but its own security policy
blocks the inline panel. Nothing to fix on our side — visitors there get the
popup automatically, from the same snippet. If your web team relaxes the policy,
retest and the inline panel takes over.
https://summitqi.com/exchange-services
Enter a scheme and host only — remove “/exchange-services”. The
widget then works on every page of that site.
One entry per exact host: no paths, and no wildcards below your registrable domain
(“*.summitqi.com” won't save). List www and the apex separately.
Test checks that the origin answers and whether its security policy allows
the inline panel.
How the assistant appears
Inline panel
A launcher chip opens a chat panel on your page. Recommended for most sites.
Popup
The chip opens a branded window on a page we host. No frame on your site.
Redirect
Any link or button on your site sends the visitor to your branded assistant page.
If a visitor's browser or your site's security settings prevent the inline panel,
the widget opens as a popup instead — same key, same conversation, nothing for
your web team to change. On phones the assistant always opens full-screen.
Install on your site
<script src="https://embed.open1031.ai/v1/neela.js"
data-embed-key="pk_live_summit_9k42…3cfw"
async></script>
Paste once, before </body>. This one snippet
carries every mode — changing the mode above changes what visitors get, with no
code change on your site. The preview on the right renders from this key. The key
shows masked after first view; Reveal and Copy snippet insert your stored key.
Preview
Live key
Neela
Summit QI Services · exchange assistant
You're chatting with an AI assistant, not a person.
Hi — I'm Neela, Summit QI Services' exchange assistant. What are you working on?
AI assistant · powered by Open1031
Not tax or legal advice. Consult your CPA or attorney.
Summit QI Services is the Qualified Intermediary of record.
Rendered with your active key, greeting and brand color — what you see here is what
a visitor gets. The "powered by Open1031" line and the disclosures are part of the
product and appear in every configuration.
Assistant & branding
Tone
Plain-spoken
Formal
Concise
These three are the full set. The assistant's behavior, disclosures and guardrails
are managed by Open1031 — there is no custom-instructions field.
Greeting
Standard welcome (default)
Renders as: "Hi — I'm Neela, Summit QI Services' exchange assistant. What are you
working on?" Choose from set greetings — your firm name fills in from your
organization profile. Greetings are display copy; nothing here is sent to the
assistant.
Accent color
#0891B2
From Branding
Pulled from your organization branding — change it under Growth › Branding and the
widget follows. Text and button colors are auto-adjusted for readability.
Qualified Intermediary of record
Summit QI Services
From your organization profile. The assistant always names this entity — not
Open1031 — as the QI, in chat, before every handoff, and in the widget footer.
States served
TX
GA
NC
TN
Asked about a state not listed here, the assistant says so and offers your contact
form rather than guessing at bonding or escrow rules.
Voice
Text chat only
Voice isn't available for website embeds.
Usage · August
Plan: 1,000 conversations/mo
872
of 1,000 conversations
81
Leads
17
Handoffs
9
Escalations
On pace to reach the limit around Sep 26. At the limit the widget stays up and
offers your contact form instead of chat — your website never shows an error box,
and your visitors never see a billing message. A higher cap is on the Plan &
usage page.
Counts come from embed sessions: conversations, leads, handoffs and escalations.
Conversation text is never stored here or shown here. Figures above are synthetic
sample data, not real visitor activity.
Recent embed activity
Key rotated by Maya Chen
Lead captured on summitqi.com
Origin test: preview.summitqi.com
Handoff completed → EX-2026-1418
Build contract — QI Hub embed console (issue 2957 · ADR-054 §§3, 6, 9)
1 · The embed key is a public tenant identifier, and the server treats it that
way. GET /v1/public/embed/:publicKey/config resolves branding,
persona, QI-of-record name, disclosures and mode via a SECURITY DEFINER RPC mirroring
get_public_org_by_slug. Another org's key never resolves here, and probing an
unknown key returns 404, not 403. QI-of-record resolves from the org record — never
PLATFORM_QI_OF_RECORD_NAME.2 · Rotation is additive; revocation degrades, never breaks. A rotated key leaves the prior key valid for 24 hours (the show-once-plus-overlap idiom shared with CRM intake credentials). The new key is shown in full exactly once. A revoked, over-cap or suspended tenant's widget renders the branded contact form — a paying customer's public website never shows an error box, and prospects never see a billing state.
3 · The origin allowlist drives the actual boundary. Per-request CORS reflection on
/v1/embed/* and the per-tenant frame-ancestors on
the frame document — never a wildcard, never appended to the platform-wide
CORS_ORIGINS. Validation is drawn above as states: a path is rejected inline
with the fix named; wildcards below the registrable domain don't save; www is listed
explicitly. Test performs a live reachability and framing-policy check, and a
framing-blocked origin is an amber outcome with the popup fallback explained — not an
error.4 · Tenants narrow the assistant; they never widen it. Tone is a three-preset enumeration and the greeting is a preset whose firm name resolves from the org profile. No free-text prompt field exists anywhere in this UI — that absence is ADR-054 §6. Disclosure copy is not tenant-editable. States-served feeds the policy envelope: outside the list the assistant declines and offers the contact form.
5 · Voice is off. The embedded surface is text-only; the toggle is disabled and the explanation stays in product terms.
6 · Every write here is audited with the real org id. Key issue/rotate/revoke, origin changes, persona and mode changes each produce an audit row attributed to Summit QI's org and the acting admin — exportable for the tenant's own examiners.
7 · Usage meters against
resolveEmbedEntitlement(org_id) —
conversations, leads, handoffs and escalations against the plan cap, with the near-cap
pace warning drawn above. Transcript content is never logged or shown here; lengths and
counts only.All names, keys, origins and figures on this surface are synthetic demo data. Summit QI Services is a fictional firm. The widget states this console configures are drawn in the companion file,
surfaces/neela-embed-widget.html.