Under the hood
Nothing here is a wrapper around a single API call. The ordering of the pipeline is the product: redaction first because nothing downstream may see raw personal data, the rule tier second because the warning budget is the number that decides whether the earpiece is worth wearing, and the model tier detached so it can never delay the two stages in front of it.
| Transcription | AssemblyAI Universal-Streaming v3 over WebSocket, universal-3-5-pro |
|---|
| Speaker separation | Streaming diarization with per-word labels, up to 10 speakers |
|---|
| Rule tier | Deterministic pattern engine, 9 FINRA and SEC rules, 0 ms measured |
|---|
| Contextual tier | Groq, AssemblyAI LLM Gateway, or Anthropic — whichever key is present |
|---|
| Redaction | Local and deterministic, runs before storage, display, or inference |
|---|
| Transport | FastAPI with a session WebSocket, one container serving app and interface |
|---|
| Audit record | Append-only JSONL, speaker-attributed, PII-free, regulation cited |
|---|
| Test coverage | 130 automated tests, no network calls required |
|---|