QI Hub Growth Website Embed
Widget live on summitqi.com
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
Issued today by Maya Chen
Active 2 min ago · summitqi.com
pk_live_summit_7h2x…p9d1
Issued Jun 12 by Maya Chen
Rotating out · 22h left 4 min ago · summitqi.com
pk_live_summit_2a91…k44e
Revoked May 3 by Maya Chen
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
Widget last seen 2 minutes ago
Serving
https://www.summitqi.com
Listed explicitly — www is never assumed from the apex
Serving
https://preview.summitqi.com
Added Aug 27 · tested just now
Popup only
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
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.
Ask about your 1031
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
Previous key valid until tomorrow 09:12 · audit-logged
Just now
Lead captured on summitqi.com
Routed to your intake queue with conversation summary
1 hr ago
Origin test: preview.summitqi.com
Inline panel blocked by the site's policy · popup serves there
Today
Handoff completed → EX-2026-1418
Exchange opened with Summit QI as intermediary · KYC pending
Yesterday
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.