How jaindhruv1923/kavach works
KAVACH is a security-governed agentic DevOps platform. A developer submits a request through the dashboard or API; the backend orchestrator plans it, retrieves repository context, checks security and impact, generates code, validates it, and records workflow state for review or completion. Separate API capabilities support repository indexing/search, change-impact reports, SBOM generation, and security tools. The graph reflects the README’s major capabilities; several subsystem links are documented rather than verified from sampled implementation, so uncertain call relationships are omitted.
Main entry points: orchestrator.py Workflow Orchestrator · main.py FastAPI API · server.py MCP Server · analyzer.py Impact Analyzer
Components 24
Interfaces
- Dashboard
kavach/frontend/app.js - FastAPI API
kavach/backend/app/main.py - MCP Server
kavach/backend/app/mcp/server.py
Agent Workflow
- Workflow Orchestrator
kavach/backend/app/agent/orchestrator.py - Request Planner
kavach/backend/app/agent/planner.py - Run State
kavach/backend/app/agent/state.py
Repository Context
- Repository Ingestion
kavach/backend/app/rag/ingest.py - Vector Index
kavach/backend/app/rag/embed_store.py
Security Governance
- Sensitive Data Scan
kavach/backend/app/security/detector.py - Risk Policy
kavach/backend/app/security/policy_engine.py - Injection Shield
kavach/backend/app/security/injection_shield.py - Package Firewall
kavach/backend/app/security/package_firewall.py - SBOM Generator
kavach/backend/app/security/sbom_generator.py - Audit Redaction
kavach/backend/app/security/audit_redaction.py
Impact and Generation
- Impact Analyzer
kavach/backend/app/impact/analyzer.py - Dependency Graph
kavach/backend/app/impact/dependency_graph.py - Impact Evaluator
kavach/backend/app/impact/evaluator.py - Code Generator
kavach/backend/app/generation/generator.py - LLM Client
kavach/backend/app/generation/llm_client.py - Output Validator
kavach/backend/app/generation/validator.py
Other components
- Developer
- Gemini API
- Qdrant
- Governed Result
Connections 27
- Developer → Dashboard: submits request
- Dashboard → FastAPI API: calls API
- FastAPI API → Workflow Orchestrator: runs workflow
- FastAPI API → Repository Ingestion: ingests repository
- FastAPI API → Vector Index: searches repository
- FastAPI API → Impact Analyzer: analyzes change
- FastAPI API → SBOM Generator: generates SBOM
- Workflow Orchestrator → Request Planner: plans request
- Workflow Orchestrator → Vector Index: retrieves context
- Workflow Orchestrator → Sensitive Data Scan: scans content
- Workflow Orchestrator → Injection Shield: checks context
- Workflow Orchestrator → Risk Policy: evaluates risk
- Workflow Orchestrator → Impact Analyzer: analyzes impact
- Workflow Orchestrator → Code Generator: generates code
- Workflow Orchestrator → Output Validator: validates output
- Workflow Orchestrator → Run State: saves run
- Repository Ingestion → Vector Index: indexes chunks
- Vector Index → Qdrant: stores vectors
- Impact Analyzer → Dependency Graph: builds graph
- Impact Analyzer → Impact Evaluator: ranks effects
- Code Generator → LLM Client: requests completion
- LLM Client → Gemini API: sends prompt
- Workflow Orchestrator → Governed Result: completes workflow
- MCP Server → Sensitive Data Scan: scans text
- MCP Server → Injection Shield: checks prompt
- MCP Server → Package Firewall: verifies packages
- MCP Server → SBOM Generator: generates SBOM