Quartermaster

Quartermaster joins your HRIS, identity provider, code platform, chat, and billing — in a single federated SQL query — to find zombie accounts, ghost seats, shadow IT, and compliance drift.

The agent (Claude Sonnet 4.6 over MCP) drives a conversational interface, narrates findings, and drafts remediation. The SQL does the joins. Everything runs on your machine. PII never leaves.

5
sources federated
1.4s
query execution
$4,820/mo
waste surfaced
0
PII bytes leaked

Architecture

A Next.js frontend talks to API routes over HTTP + SSE. Those routes call Coral (Apache DataFusion over MCP stdio) for federated SQL and Claude for authoring, narration, and remediation. Coral caches source rows locally and joins them at query time.

Full system — browser → API → Coral + Claude → sources

Coral federation

The core trick: five sources, one query. Coral federates over MCP and joins on a normalized LOWER(email) key — no warehouse, no ETL, no data movement.

Five sources joined on email in one federated SELECT

The five audits

Five named, reproducible audits. Each is a SQL template plus the source rows it touched — no black box.

QM-01Security

Zombie Account Hunter

Inactive employees still holding active accounts or admin roles.

Doktagithubslack
QM-02Security

Permission Drift

Active employees with elevated permissions unused 90+ days.

oktagithub
QM-03Spend

Ghost-Seat Spend

Paid seats with zero activity in 30 days, quantified in $/mo.

stripeoktalinear
QM-04Spend

Shadow-IT Detector

Off-list Stripe charges correlated with Slack mentions.

stripeslack
QM-05Compliance

Compliance Ledger

SOC2 evidence pack assembled per terminated employee.

Doktagithubslackstripe

QM Copilot

Chat that compiles natural language to federated SQL, grounded on Coral's schema catalog. Invalid SQL is fed back to Claude and recompiled — up to three retries — before it ever executes.

NL → validated SQL → execute → narrate, streamed over SSE

Continuous Mode

Quartermaster polls sources on a tick, diffs results against a local cache, and streams only net-new findings into the Cockpit's live feed.

Tick → diff → emit net-new findings over SSE

Blast Radius

For any account, parallel Coral reachability queries build an interactive force-directed graph of every system it touches — repos, channels, secrets, services.

One account → parallel reachability queries → graph

MCP server

Quartermaster's own audits are exposed as an MCP server — Claude Code can call run_audit, get_findings, and draft_remediation as tools. The audit engine is both a product and a primitive.

Quickstart

No tokens needed — fixture mode ships canned source data so the full demo runs offline:

bash
$QM_FIXTURES=on pnpm demo

Then open the Risk Cockpit and toggle Continuous Mode.