Sentinel is a multi‑agent fraud intelligence platform that scores real‑time events, generates alerts and cases, and provides an analyst console for investigation. The AI model stack is branded Aegis.
- Ingests fraud‑relevant events (transactions, logins, device changes)
- Scores risk using multiple signals and fuses them into a final decision
- Produces alerts and cases for analyst workflows
- Visualizes activity in a web console (Command Center, Live Transactions, Cases, Graph, Timeline)
# From repo root
docker-compose up --buildServices:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:8000
# Backend
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
# Frontend (new terminal)
cd frontend
npm install
npm run devPOST /api/events— ingest an eventPOST /api/score— score an event through the Aegis pipelineGET /api/dashboard/feed— latest alerts for the UIGET /api/dashboard/metrics— KPIs for the Command CenterGET /api/cases/POST /api/cases— list/create casesPOST /api/demo/seed— generate demo alertsPOST /api/demo/reset— wipe demo data for the tenant
- Open Command Center and click Seed demo data.
- View alerts and risk scores in Live Transactions.
- Explore linked entities in Fraud Network.
- Open a case from the Cases page.
backend/— FastAPI app, scoring pipeline, servicesfrontend/— React console UIservices/— auth, scoring, ingestion, case managementdatabase/— SQLAlchemy models and DB wiringdocker-compose.yml— local stack (Postgres/Redis + app)
Environment variables (Docker uses docker-compose.yml):
DATABASE_URL— PostgreSQL connection stringMAFI_OPENAI_API_KEY— optional, for LLM explanationsMAFI_REDIS_ENABLED—true|false
Aegis is a multi‑agent risk system. It combines tabular, graph, behavioral, anomaly, and rule signals into a single decision. The LLM is used only for explanations, not scoring.
- If the UI shows stale data, click Reset demo data then Seed demo data.
- If reset fails, rebuild the backend container.
Proprietary / internal use.