Abstract
The AI Concierge is one production AI system operated across the iSimplifyMe network: a single Bedrock-backed route that serves every tenant widget in the fleet — including regulated medical practices — from per-tenant configuration. Each tenant carries its own persona, knowledge base, usage budget, and escalation rules on shared, metered infrastructure. This dossier documents the isolation model, the guardrails, and the operating numbers.
Problem
Embedding a chat widget is the easy part. Operating a conversational AI surface across a fleet of properties — where one tenant is a medical practice with strict retention obligations and the next is a retail brand — is an infrastructure problem: isolation, spend control, escalation, and attribution all have to hold per tenant, on shared plumbing.
Off-the-shelf tools solve the widget and stop there. The operating layer is what decides whether the system can sit anywhere near a regulated client.
Approach
One route, resolved per tenant
Every widget in the fleet calls the same central API route. That route resolves the tenant from the request's domain header, loads the tenant's knowledge.json and persona.json from a tenant-scoped S3 prefix, and assembles the system prompt server-side, per request, before any model call.
Once the tenant resolves, its files are schema-validated on load and cached in memory for five minutes. Sessions live in DynamoDB with a thirty-minute TTL, responses stream to the widget over SSE, and inference runs on Claude via AWS Bedrock.
Input discipline
A regex input classifier screens every visitor message before it reaches the model: sixteen documented injection and jailbreak patterns, a 500-character ceiling, and a control-character screen. An injection_resistance block is prepended to every tenant system prompt.
Usage governance
The public widget is capped at 1,000 messages per tenant per month, enforced with atomic counters and Slack alerts at 50, 75, and 90 percent of budget. A per-visitor throttle allows twenty messages a day, keyed to an HMAC-hashed IP that exists only to correlate one visitor's activity within a day. Caps fail open on infrastructure errors, so a database fault cannot take a tenant's widget down.
Regulated tenants
Tenant profiles carry a medical flag; seven production tenants run with it set. For flagged tenants, the multi-tenant lead store drops the free-text fields that can carry health narratives — the conversation transcript and arbitrary custom fields — from the stored record, while structured contact identity is retained so the lead stays actionable. The practice's own notification email still receives the full submission.
Escalation is configured per tenant. Each persona can define emergency signature phrases the model emits when a conversation reads as urgent; the route scans the reply stream and, on first match, sends a structured emergency event that pins the tenant's human-contact action in the widget before the reply finishes rendering.
Attribution, end to end
Concierge leads carry the same first-touch attribution as every other lead in the fleet. A pixel writes a thirty-day first-touch cookie with UTM, click-ID, AI-referrer, and referrer precedence; a CloudFront edge function stamps a one-hour AI-referrer cookie for eight AI answer engines.
The honest part: until 2026-07-27, every concierge lead in the store recorded direct, because the widget's server-side proxy hop forwarded no cookies and the signal never arrived. The fix ships attribution in the chat body itself. Earlier leads are deliberately left unattributed rather than backfilled — that date is the measurement epoch, and invented sources would poison every number downstream.
Status
- Twenty tenant configurations are provisioned in the per-tenant store; seven production tenants carry the medical flag.
- The shared lead register holds 245 captured leads across eighteen tenants since April 2026. Of those, 87 arrived through concierge surfaces — including leads produced by the urgent and emergency capture paths.
- The domain-to-tenant map is still a hardcoded table; a store-backed replacement is planned.
Links
- Related → Prism Intelligence · Leads Pipeline · Sentinel