How yashwaghh/ai_legal_help works
ClearClause is a browser-based legal-information assistant for text-based PDFs. Its main workflow is to upload a PDF for a plain-language briefing or document-grounded question, or upload two versions for a deterministic diff followed by an AI explanation; results include checked citations and can be downloaded. FastAPI routes coordinate extraction and analysis. In public mode, middleware verifies account and app credentials and reserves weighted quotas before protected requests proceed. The README documents Firebase, Firestore, and Vertex AI integrations; source excerpts do not expose every internal implementation detail.
Main entry points: main.py API routes · app.js Web interface · security.py Request middleware · ai.py Briefing generation
Components 17
Browser experience
- Web interface
app/static/app.js - Page template
app/templates/index.html
API and documents
- API routes
app/main.py - PDF extraction
app/documents.py - Response schemas
app/schemas.py
Analysis
- Briefing generation
app/ai.py - Grounded Q&A
app/ai.py - Version comparison
app/ai.py - Citation validation
app/documents.py
Request security
- Request middleware
app/security.py - Identity verification
app/security.py - Quota reservation
app/security.py
Other components
- User
- Gemini on Vertex AI
- Firebase Authentication
- Firebase App Check
- Quota records
Connections 27
- User → Web interface: uses
- Web interface → Page template: loads page
- Web interface → API routes: uploads and queries
- API routes → Page template: serves
- Request middleware → API routes: guards requests
- Request middleware → Identity verification: checks credentials
- Identity verification → Firebase Authentication: verifies ID token
- Request middleware → Firebase App Check: verifies app token
- Request middleware → Quota reservation: reserves units
- Quota reservation → Quota records: reads and writes
- Quota reservation → Quota records: persists quota events
- API routes → PDF extraction: extracts PDF text
- API routes → Briefing generation: requests briefing
- API routes → Grounded Q&A: requests answer
- API routes → Version comparison: requests comparison
- Briefing generation → Gemini on Vertex AI: generates findings
- Grounded Q&A → Gemini on Vertex AI: generates answer
- Version comparison → Gemini on Vertex AI: summarizes diff
- Briefing generation → Citation validation: checks citations
- Grounded Q&A → Citation validation: checks citations
- Version comparison → Citation validation: checks citations
- Briefing generation → Response schemas: validates response
- Grounded Q&A → Response schemas: validates response
- Version comparison → Response schemas: validates response
- API routes → Response schemas: returns typed results
- Web interface → Firebase Authentication: signs in users
- Web interface → Firebase App Check: obtains app token