For security leaders · 15 min

The CISO Demo

Eight steps. No slides. Real product, real data (or synthetic via a public demo key). Built so a security leader can hand this URL to a peer and walk through it solo.

Want it as a PDF for offline reading? Demo script (GitHub) · Architecture one-pager

~90s

1. The autonomous lead-in scan

"Three weeks ago Anthropic shipped Claude as a single agent across M365. That commoditises AI inside one customer's tenant. What it doesn't address is the layer above — managing other people's tenants at scale. That's what TenantIQ does."

Expect: CISO question: "Does this hit our tenant?" → A: "Public DNS + Microsoft's openid-configuration only. Read-only, no credentials."

~3m

2. Live agent feed — autonomous + safe

"Every autonomous action across this org's tenants in the last 24h. Append-only `agent_actions` table, JWT-scoped to the org. Sub-second push via a Cloudflare Durable Object."
  • Open /agents (admin only)
  • Walk through. 3 row types: autonomous-auditor email, auto-remediator pending-approval (dry-run), auto-remediator rollback (anomaly-detected).
  • Click. Approve on a pending row → toast → live re-enqueue → new row in <5s.

Expect: "How do I stop a runaway agent?" → A: per-tenant mode flag, daily cap of 5, source-pinned recipes (PR not runtime).

~2m

3. Time-traveling agent — incident response

"What did our CA policies look like at 3am Tuesday? Most tools say 'check your snapshots.' We rebuild the state."

Expect: "What if snapshots have gaps?" → A: we say so explicitly — "No snapshot before this timestamp." We don't fabricate state.

~2m

4. CIS depth + per-tenant overrides

"121 controls, 31+ wired to live Graph. The override engine is the differentiator — risk-acceptance is auditor-grade, per tenant, ScubaGear-style."
  • Open /security/cis
  • Expand. a finding → show the AI explainer card (Claude with tenant context, 4–6 sentence remediation).

Expect: "Does Claude decide to mutate state?" → A: never. Claude explains; deterministic code acts.

~30s

5. Cross-tenant rollups — the MSP scope

"Anonymized aggregate across every MSP running TenantIQ. Same `agent_actions` table, just rolled up. Transparency + distribution."

Expect: Subtle: this URL is screenshot-shareable. CISOs forward it to peer CISOs.

~90s

6. External MCP — the composer

"This is the strategic move. We ship our own MCP server, but we're also an MCP client. Microsoft Graph MCP, GitHub MCP, Moody's MCP — TenantIQ's AI Agent calls them alongside ours. We don't compete with the MCP ecosystem; we orchestrate it."

Expect: "Where does the auth go?" → A: per-server Bearer, encrypted at rest, never returned in API responses (`hasBearer: bool` only).

~2m

7. Outside the dashboard — Claude Desktop

"Same data, the conversation surface your team already lives in. Two surfaces, one source of truth, role gating enforced server-side. No jailbreak in Claude config can grant write access."
  • Switch to. Claude Desktop with MCP server `tenantiq` configured + demo bearer `tiq_demo_visitor_2026`.
  • Type. "Show me the CIS posture for the Acme tenant" → Claude calls get_cis_posture, narrates the score.
  • Optional. "Run the onboarding template on Globex" → Claude pulls onboard_tenant prompt + calls apply_skill_template.

Expect: This is the close — they will ask "How do I get this for my org?" That is the cue for step 8.

~1m

8. The ask

"What I want: a 14-day pilot on three of your tenants, dry-run mode only. Zero Graph mutations. We populate /agents and /security/timewarp with real data. You decide if the autonomous narrative is what your team needs. If yes, you flip the per-tenant mode flag — per tenant, your call, reversible any time."
  • Open /compare
  • Show. the first table only — vs horizontal AI assistants. Every row a wedge.

Expect: Two questions to land: which 3 tenants, and which admin to invite first.

Anticipated questions

"What if your AI hallucinates a recipe?"
Recipes are source-pinned. Code, not data. Adding one is a PR. AI explains; deterministic code acts.
"How do I stop a runaway agent right now?"
Three layers. (1) Per-tenant autofix:mode KV flag — flip to dry-run instantly via API. (2) Daily cap of 5 enqueues per tenant per 24h, KV-enforced, can't be bypassed. (3) Source-pinned recipes — adding new ones requires a code commit.
"How do I get out?"
Account-deletion cascade — 33 tables, contract test in CI. GDPR Art. 17 + M365 Cert C7. Single API call.
"Pen test? SOC 2 Type II?"
Pen test targeting Q3 2026. SOC 2 Type II in flight, H2 2026 — honest about not done yet.

Stop juggling admin portals.
Start controlling your tenants.

14-day free trial. No credit card required.