How adityarawat00189/footprint-zero works
FootprintZero scans a user’s breach and data-broker exposure, ranks privacy risk, drafts statutory erasure notices, pauses for user approval or revision, then dispatches notices and tracks deadlines for follow-up escalation. The React client supports dashboard, approval, and case-tracking workflows; the Express service persists users, exposures, cases, and audit records, while a Python LangGraph service performs discovery, risk scoring, drafting, and follow-up. The README documents the full pipeline; unsampled UI and backend details are represented only at subsystem level.
Main entry points: build_graph.py Pipeline orchestration · App.jsx Web app routing · server.js REST routes · agentServiceClient.js Agent service client
Components 27
User application
- Web app routing
client/src/App.jsx - Sign-in session
client/src/context/AuthContext.jsx - Exposure dashboard
client/src/pages/DashboardPage.jsx - Approval queue
client/src/pages/ApprovalQueuePage.jsx - Case tracker
client/src/pages/CaseTrackerPage.jsx - API client
client/src/api/axiosClient.js
Application service
- REST routes
server/src/server.js - JWT authorization
server/src/middleware/auth.js - Exposure scanning
server/src/controllers/exposureController.js - Case and approval handling
server/src/controllers/caseController.js - Agent service client
server/src/services/agentServiceClient.js
Privacy agent pipeline
- Agent HTTP endpoints
agent-service/main.py - Pipeline orchestration
agent-service/graph/build_graph.py - Breach and broker discovery
agent-service/agents/discovery_agent.py - HIBP scanner
agent-service/tools/hibp_tool.py - Broker registry lookup
agent-service/tools/broker_db_tool.py - Risk ranking
agent-service/agents/risk_ranking_agent.py - Legal notice drafting
agent-service/agents/legal_drafting_agent.py - Legal citation retrieval
agent-service/rag/vector_store.py - Statutory clauses
agent-service/rag/legal_templates/clauses.py - Notice execution
agent-service/agents/executor_agent.py - Deadline escalation
agent-service/agents/followup_agent.py - Pipeline case state
agent-service/graph/state.py
Persistence and deadlines
- MongoDB records
server/src/config/db.js - Statutory scheduler
server/src/services/cronService.js - User, exposure, case records
server/src/models/Case.js
Other components
- Privacy user
Connections 30
- Privacy user → Web app routing: uses
README.md - Web app routing → Sign-in session: provides session
client/src/App.jsx - Web app routing → Exposure dashboard: routes to
client/src/App.jsx - Web app routing → Approval queue: routes to
client/src/App.jsx - Web app routing → Case tracker: routes to
client/src/App.jsx - Sign-in session → API client: requests through
client/src/context/AuthContext.jsx - Exposure dashboard → API client: requests through
client/src/pages/DashboardPage.jsx - API client → REST routes: calls REST API
README.md - REST routes → JWT authorization: protects routes
- REST routes → Exposure scanning: routes scan requests
- REST routes → Case and approval handling: routes case requests
- Exposure scanning → Agent service client: scans via
server/src/controllers/exposureController.js - Case and approval handling → Agent service client: starts and resumes
server/src/controllers/caseController.js - Agent service client → Agent HTTP endpoints: calls service
- Agent HTTP endpoints → Pipeline orchestration: invokes pipeline
agent-service/main.py - Pipeline orchestration → Breach and broker discovery: dispatches first
agent-service/graph/build_graph.py - Pipeline orchestration → Risk ranking: dispatches after discovery
agent-service/graph/build_graph.py - Pipeline orchestration → Legal notice drafting: dispatches after ranking
agent-service/graph/build_graph.py - Pipeline orchestration → Notice execution: dispatches on approval
agent-service/graph/build_graph.py - Pipeline orchestration → Deadline escalation: registers follow-up
agent-service/graph/build_graph.py - Breach and broker discovery → HIBP scanner: queries breaches
agent-service/agents/discovery_agent.py - Breach and broker discovery → Broker registry lookup: queries brokers
agent-service/agents/discovery_agent.py - Legal notice drafting → Legal citation retrieval: retrieves authorities
agent-service/agents/legal_drafting_agent.py - Legal citation retrieval → Statutory clauses: loads clauses
agent-service/rag/vector_store.py - Pipeline orchestration → Pipeline case state: uses shared state
agent-service/graph/build_graph.py - Exposure scanning → User, exposure, case records: writes exposures
server/src/controllers/exposureController.js - Case and approval handling → User, exposure, case records: reads and writes cases
server/src/controllers/caseController.js - Statutory scheduler → Agent service client: requests follow-up
server/src/services/cronService.js - Statutory scheduler → User, exposure, case records: audits overdue cases
server/src/services/cronService.js - User, exposure, case records → MongoDB records: persists records