A web-based forensic analysis platform for Call Detail Records (CDR) designed to assist telecom-based criminal investigations. The platform ingests telecom operator CDR exports, normalizes them into a canonical schema, and generates actionable intelligence through network analysis, anomaly detection, tower movement reconstruction, behavioral profiling, and court-oriented forensic reports.
Developed as an academic/internship project at Madan Mohan Malaviya University of Technology (MMMUT), Gorakhpur.
- Case Management (Case/FIR based investigation)
- CDR CSV Upload & Normalization
- SHA-256 Chain of Custody
- Evidence Logging
- Communication Network Graph
- Network Centrality Analysis
- Community Detection
- Rule-Based Anomaly Detection
- Behaviour Profiling
- Cell Tower Movement Reconstruction
- Cell Tower Geolocation
- Cell Site Activity Analysis
- IMEI / SIM Swap Detection
- Cross Analysis
- Unified Timeline
- Court-Oriented Forensic PDF Reports
- CSV Export
- Structured Query Engine
Complete investigation dashboard showing available analytical modules.
Upload and normalize telecom operator CDR files.
Visualize relationships between mobile numbers using Cytoscape.js.
Analyze communication behaviour, duration, frequency and activity distribution.
Visualize suspect movement reconstructed from connected cell towers.
Analyze activity observed on individual cell towers.
Detect handset sharing and SIM swapping using IMEI relationships.
Automatically detect suspicious communication behaviour.
| Layer | Technologies |
|---|---|
| Backend | FastAPI, SQLAlchemy, SQLite, Pandas, NumPy |
| Analysis | NetworkX |
| Frontend | HTML, CSS, JavaScript |
| Visualization | Cytoscape.js, Chart.js |
| Maps | Leaflet, OpenStreetMap |
| Reporting | ReportLab |
| Hashing | SHA-256 |
MMMUT Project/
│
├── backend/
│ ├── api/
│ ├── models/
│ ├── services/
│ │ ├── analysis.py
│ │ ├── enrichment.py
│ │ ├── geolocation.py
│ │ ├── ingestion.py
│ │ └── report.py
│ ├── main.py
│ └── requirements.txt
│
├── frontend/
│ ├── app.js
│ ├── index.html
│ └── styles.css
│
├── sample_data/
│
├── screenshots/
│
└── README.md
Create Investigation Case
│
▼
Upload CDR CSV
│
▼
Normalize & Validate Records
│
▼
Generate Investigation Intelligence
│
┌──────────┼────────────┐
│ │ │
▼ ▼ ▼
Network Behaviour Movement
Graph Profile Map
│ │ │
└──────────┼────────────┘
│
▼
Anomaly Detection
│
▼
Generate PDF Report
│
▼
Court Presentation
git clone https://github.com/yashnishad-0923/CDR-Analyzer
cd backendpython -m venv venvvenv\Scripts\activatesource venv/bin/activatepip install -r requirements.txtpython main.pyOpen
http://localhost:8001
- Create a new investigation case.
- Upload a CDR CSV.
- (Optional) Upload Cell Tower Reference CSV.
- Explore:
- Communication Network
- Behaviour Profile
- Movement Analysis
- Cell Activity
- IMEI Analysis
- Cross Analysis
- Generate a customizable forensic PDF report.
- Export normalized data if required.
Interactive documentation is available at
http://localhost:8001/docs
- POST
/cases - GET
/cases - GET
/cases/{id} - DELETE
/cases/{id}
- POST
/upload/cdr - POST
/upload/towers
- GET
/case/{id}/timeline - GET
/case/{id}/graph-metrics - GET
/case/{id}/anomalies - GET
/case/{id}/subject/{id}/profile - GET
/case/{id}/subject/{id}/movement - GET
/case/{id}/cells - GET
/case/{id}/cell/{id}/activity - GET
/case/{id}/cross-analysis - GET
/case/{id}/imei-graph
- GET
/report/pdf - POST
/report/pdf
- GET
/export/csv
- GET
/case/{id}/custody-log
Generated forensic reports include an electronic evidence certificate under:
- Section 63 — Bharatiya Sakshya Adhiniyam, 2023
which replaces
- Section 65B, Indian Evidence Act, 1872
The platform maintains evidence integrity using a SHA-256 based chain of custody suitable for digital forensic documentation.
- Sudhanshu Pandey(https://github.com/shudhansue048-wq)
- Yash Nishad(https://github.com/yashnishad-0923)
- Varun Agrahari(https://github.com/kumar-varun024)
Mr. Aman Mishra
Research Scholar
Department of Computer Science & Engineering
MMMUT, Gorakhpur
This project is developed solely for academic, educational and authorized forensic investigation purposes. It is intended to demonstrate digital forensic analysis techniques and should only be used with appropriate legal authorization.








