AI compliance auditing for regulated phone calls
Testify is an AI call compliance auditing service for debt-collection and consumer-lending firms. Give it a recorded agent–customer call, by URL or upload, and it returns a compliance scorecard: every requirement in an FDCPA and TCPA rule set graded pass, fail or insufficient evidence, each verdict backed by a verbatim quote with the speaker and the second it was said. Failures roll up into a dollar-exposure summary and a court-ready evidence pack. It is aimed at compliance officers and QA leads who can currently review only a fraction of their calls.
We built it in a day for Track 3 of the AMD Developer Hackathon: ACT II, on the same service scaffold as RecipeReel and Legible. The code is MIT-licensed and public on GitHub.
Key features
- Never a fabricated pass — a requirement passes only when a real supporting quote exists in the transcript. Without one, the verdict is insufficient evidence and the item is flagged for human review.
- Quoted, timestamped evidence — each finding cites the exact words, the speaker (agent, customer or unknown) and start and end times.
- Speaker attribution without ML diarization — dual-channel recordings are split so channel 0 is the agent and channel 1 the customer; a mono call becomes a single unknown track.
- Dollar exposure only on failures — statutory exposure attaches to a rule only when it fails, and the risk rollup totals exposure, violations, critical failures and insufficient items.
- Swappable rule sets — a starter template covers six rules: mini-Miranda disclosure, caller identification, no threats or harassment, no false representations, right-party verification and the calling-time window. Any request can pass its own rule set.
- Evidence pack — a JSON export lists every rule with its verdict, severity, exposure, rationale and quotes, plus a disclaimer that it is automated screening, not a legal determination.
Architecture and tech stack
Pipeline
A job moves through reported stages: ingesting, extracting audio, transcribing, synthesizing, validating and done. Recordings are fetched with yt-dlp or httpx, or uploaded directly, then normalized to 16 kHz audio with FFmpeg. Whisper-large-v3 transcribes each channel into timestamped, speaker-tagged segments that merge into one transcript.
Grading and validation
Grading is a pure text task, so Testify uses text-only Gemma with no multimodal workaround. Gemma receives the transcript and rule set and returns one ComplianceScorecard through JSON-schema structured output at temperature 0. Post-processing then computes the risk rollup, keeps exposure only on failures, flags low-confidence and insufficient items for review and derives the overall verdict: compliant, violations found or needs review.
Service and compute
The FastAPI service runs an async in-process worker, streams progress over Server-Sent Events and stores jobs and audits in SQLite. Every stage is a pluggable provider with a mock implementation and a CPU fallback. Gemma is reached through one OpenAI-compatible code path: Google AI Studio, Fireworks AI, or vLLM on an AMD Instinct MI300X, where batch transcription is also designed to run through ROCm. Each scorecard records the transcriber, synthesizer, device, GPU and real-time factor used. Mock mode runs the whole pipeline offline from a bundled sample call, and all 13 tests pass in that mode.
Where it fits
Testify is a screening layer, not a verdict. It lets a compliance team check every call and spend human time on the flagged ones. The default rule set is illustrative and not legal advice; a real deployment supplies its own policy.
Related work
Testify is part of our AI integration and automation work. Other builds from the same hackathon are Legible, RecipeReel and Keystone.



