Conclave Docs

The three products

Conclave, Capture, and VFTE — one mental model for the whole system.

Conclave is not one service — it's three cooperating products behind one trust boundary. Get this mental model and the rest of the docs fall into place.

ProductRepoRoleHolds
Conclaveconclave-shape-rotatorThe intelligence + control plane. The TEE where content lives. Owns UI, auth, workspaces, sharing, jobs.All meeting content + the user ↔ workspace graph
Capturecapture (ex-Recato)The meeting-capture + diarization microservice. Joins online meetings or streams a room mic; does acoustic diarization + ASR. Identity-free.Nothing persistent (stateless; audio by reference)
VFTEFPMThe voice-identity + consent layer. Turns audio into voiceprints, recognizes speakers scoped + consented, owns the consent plane. Product-agnostic.Voiceprints + consent edges (never audio or content)

The data flow, in one line

meeting → Capture (diarize: who spoke when, anonymously) → Conclave (finalize)
        → VFTE (recognize who, scoped + consented) → Conclave (enrich: summary / insights / KB)
        → user views / edits / shares   ·   subject is notified + controls their voice

Two graphs, one boundary

The reason this split matters: Conclave owns user ↔ workspace; VFTE owns voiceprint ↔ scope. They meet at exactly one opaque mapping — settings.fpm_workspace_for(workspace_id) — a scope id that VFTE attaches no meaning to. That opacity is what keeps VFTE a general identity layer any app can hook into, and it's why capture emitting {start, end, local_speaker} and nothing else is the load-bearing boundary of the whole system.

Why three products, not one. Separating capture (who spoke) from identity (who that is) from intelligence (what it means) is what lets consent live at the microphone and lets the operator stay blind to content. Collapse them and the privacy story collapses too.

Where to go next

Source: FEATURE-SPEC.md §0, discoveries/WORKSPACES-AND-VFT-GRAMMAR.md.

On this page