How krushkadam/cloneguard works
CloneGuard is a local Streamlit desktop tool for checking call recordings. The user enrolls trusted voices, submits a recording, and receives voice-identity and Hinglish scam-pattern evidence combined into a risk score and verdict. The pipeline orchestrates transcription, claim resolution, voice comparison, pattern scanning, scoring, and incident recording; the UI also supports call generation, self-tests, incident history, PDF evidence, and spoken verdicts. The graph uses README capabilities and SOURCE INDEX references where implementation excerpts are incomplete; those unsampled links are documented rather than inferred from folder names.
Main entry points: pipeline.py Check orchestrator · app.py Streamlit app · generate.py Call generator · harness.py Self-test harness
Components 18
Local interface
- Streamlit app
app.py - Voice enrollment
app.py
Call analysis
- Check orchestrator
engine/pipeline.py - Speech transcription
gnani.py - Claim resolver
engine/claim.py - Voice comparison
engine/layer1.py - Embedding service
voiceprint.py - Hinglish pattern scan
engine/layer2.py - Pattern catalog
data/patterns.json - Composite verdict
engine/score.py
Demo and calibration
- Call generator
generator/generate.py - Scenario scripts
generator/scripts.py - Self-test harness
selftest/harness.py - Calibration scorecard
selftest/scorecard.py
Evidence and records
- Incident history
engine/pipeline.py - Check PDF report
reports/incident_pdf.py
Other components
- Desktop user
- Gnani cloud APIs
Connections 23
- Desktop user → Streamlit app: uses
README.md - Streamlit app → Check orchestrator: submits checks
app.py - Check orchestrator → Speech transcription: transcribes audio
engine/pipeline.py - Speech transcription → Gnani cloud APIs: calls Prisma
gnani.py - Check orchestrator → Hinglish pattern scan: scans transcript
engine/pipeline.py - Check orchestrator → Claim resolver: resolves identity
engine/pipeline.py - Check orchestrator → Voice comparison: compares voice
engine/pipeline.py - Voice comparison → Embedding service: gets embeddings
engine/layer1.py - Embedding service → Gnani cloud APIs: requests embedding
voiceprint.py - Check orchestrator → Pattern catalog: loads patterns
engine/pipeline.py - Check orchestrator → Composite verdict: scores evidence
engine/pipeline.py - Check orchestrator → Incident history: saves checks
engine/pipeline.py - Streamlit app → Voice enrollment: manages enrollment
app.py - Voice enrollment → Voice comparison: stores voiceprints
app.py - Streamlit app → Check PDF report: exports report
README.md - Streamlit app → Incident history: shows history
README.md - Call generator → Scenario scripts: uses scripts
generator/generate.py - Call generator → Gnani cloud APIs: generates speech
README.md - Desktop user → Call generator: requests demo calls
README.md - Self-test harness → Check orchestrator: runs scenarios
selftest/harness.py - Self-test harness → Call generator: creates hard case
selftest/harness.py - Self-test harness → Calibration scorecard: renders calibration
README.md - Streamlit app → Gnani cloud APIs: requests spoken verdict
README.md