Flagship product
Live demo
Deployed with first client
Retrieval-augmented generation with the failure mode removed.
Ask a question of a document corpus and every assertion comes back carrying a quote — and every quote is
checked character-for-character against the source in code before anyone sees it.
A quote that doesn’t resolve is discarded, not softened. When the documents don’t cover the question,
“the documents don’t say” is a first-class answer rather than a plausible invention.
A LangGraph pipeline researches, drafts, verifies, criticises, then
stops for a human to sign — and the report records who signed and what was rejected.
Built as one domain-independent core with thin domain packs, so onboarding a new corpus — security, financial,
legal, clinical — is a pack rather than a fork. Ships as two containers and one Postgres, deployed
inside the customer’s own environment: documents are mounted read-only and
indexed by a local model, so they never leave the account.
In production with its first client — a managed CISO and GRC
practice that answers security questionnaires and audit evidence requests on behalf of its own clients.
The name stays private at their preference. Measured on a public corpus before that deployment:
0% fabrication and 100% correct refusal across the deliberately
unanswerable half of a 25-question gold set (n=25, NIST CSF 2.0).
LangGraph (HITL gate)
Claude — structured outputs
Hybrid RAG — pgvector + Postgres FTS + RRF
Local ONNX embeddings
Deterministic verification
PDF / Markdown / JSON reports
Solution build
15/15 executable tests
FactSpectra’s input-safety half
Turns sensitive multi-format customer exports — text, JSON, CSV, nested archives — into
realistic, training-safe synthetic data. Not redaction tokens, which
destroy the data’s value for AI training: format-preserving replacements
(Luhn-valid cards, dial-able phone shapes, never-issued SSN ranges) with
corpus-wide identity coherence — the same real person becomes the same
synthetic person in every file, format, and archive, with no raw PII at rest.
Fail-closed by architecture: an independent verifier re-scans every output, planted canary probes must never
survive, and anything uncertain lands in quarantine, never release.
Python (stdlib only)
HMAC-seeded determinism
Independent verifier
Canary probes
Audit manifest
Solution build
10/10 adversarial eval
Where FactSpectra started
Decides whether a supplier should dispute, accept, or escalate a retailer’s chargeback claim —
and backs every verdict with machine-verified evidence from the supplier’s own ERP and signed Bill of Lading records.
The architecture is the point: the LLM only extracts facts from the free-text notice under a quote-or-null contract;
a deterministic engine makes the money decision — reproducible, auditable, and identical with or without an API key.
When the records can’t settle it, the verdict is escalate-to-human with the reason recorded.
Python (stdlib core)
Claude — extraction only
Evidence integrity checks
Runs keyless
Executable eval
Solution build
Conversation analytics
Turns raw B2B call transcripts — support, sales, internal — into findings a leadership team can act on.
Theme discovery via embeddings + clustering, sentiment trends per call type, and the differentiator:
a cross-call narrative engine that reconstructs a customer's, incident's, or competitor's full story
across organizational silos. In the demonstration corpus it surfaced churn signals concentrated in a support silo no
account manager could see, and traced one outage's six-week commercial tail across 30 calls.
sentence-transformers
KMeans + silhouette
Claude (cluster naming)
Runs keyless
Python CLI