QuickTrust is an open-source, agent-first GRC (Governance, Risk, and Compliance) platform. It uses AI agents to automate compliance workflows that traditionally require expensive tools like Vanta or Drata.
| Layer | Technology |
|---|---|
| Frontend | Next.js 15, React 19, Tailwind CSS, shadcn/ui |
| Backend API | FastAPI, Python 3.12, SQLAlchemy 2.0 (async) |
| Database | PostgreSQL 16 + pgvector |
| Auth | Keycloak 26 (OIDC/PKCE) |
| Cache | Redis 7 |
| Object Storage | MinIO |
| AI Agent | LangGraph + LiteLLM |
| Reverse Proxy | Traefik v3 |
| Containerization | Docker Compose |
Browser ─── Next.js (3000) ─── FastAPI (8000) ─── PostgreSQL (5432)
│ │ │
│ ├──── Redis (6379) │
│ ├──── MinIO (9000) │
│ └──── LangGraph │
│ (AI Agent) │
└──── Keycloak (8080) ────────────────────┘
START
→ load_framework_requirements (DB query)
→ match_templates_to_requirements (DB + scoring)
→ customize_controls (LLM: tailor to company context)
→ deduplicate_controls (pure logic)
→ suggest_owners (LLM: map to departments)
→ finalize_output (write to DB as draft)
END
- Async-first: All DB access uses SQLAlchemy async sessions + asyncpg
- Agent background execution: Agents run as
asyncio.create_task()— simple for dev, can be upgraded to Celery for production - LLM fallback: Agent nodes gracefully degrade to template substitution if no LLM API key is configured
- PKCE auth: Frontend uses Keycloak's PKCE flow (no client secret in browser)
- Org-scoped data: Controls, evidence, and agent runs are scoped to organizations via
org_idforeign keys
15 core tables:
organizations— multi-tenant rootusers— linked to Keycloak identitiesframeworks→framework_domains→framework_requirements→control_objectivescontrol_templates→control_template_framework_mappingsevidence_templates→control_template_evidence_templates(junction)controls→control_framework_mappingsevidence— linked to controlsagent_runs— tracks AI agent executionaudit_logs— append-only audit trail
backend/
app/
api/v1/ — FastAPI routers
core/ — Database, auth, dependencies
models/ — SQLAlchemy models
schemas/ — Pydantic schemas
services/ — Business logic
agents/ — LangGraph agent definitions
seeds/ — Seed data scripts
tests/ — Pytest suite
frontend/
src/
app/ — Next.js App Router pages
components/ — UI components
hooks/ — React Query hooks
lib/ — API client, auth, types
providers/ — Context providers