# ScamShield Nigeria (FraudGuard AI)
A machine learning-powered web app that detects fraudulent SMS messages, fake bank alerts, BVN/NIN threats, and scam job/investment offers targeting Nigerians. Built with Python, scikit-learn, and Streamlit.
## Problem
Nigerians receive scam SMS messages daily — fake bank credit alerts, BVN/NIN restriction threats, and job/investment scams. Most people have no quick way to verify whether a message is genuinely risky before responding, calling, or clicking a link. ScamShield Nigeria gives an instant, evidence-based risk assessment for any pasted message.
## Features
- **Fraud Risk Scoring** — every message gets a 0–100% scam probability, color-coded (green/amber/red)
- **Known-Scammer Number Lookup** — messages containing a previously reported phone number are instantly flagged, independent of the ML model's judgment
- **Explainable AI** — shows the actual words the trained model weighted most heavily toward "scam," not just a fixed keyword list
- **Scam-Type Pattern Matching** — identifies which known Nigerian scam category a message resembles (BVN/NIN threat, fake credit alert, job scam, lottery scam) or confirms a legitimate transaction pattern
- **Red-Flag Keyword Extraction** — highlights specific warning signs (urgency language, phone numbers, links)
- **Bulk Scan** — paste multiple messages at once (e.g. a forwarded chain) and get a scored table
- **Context-Aware Safety Recommendations** — different guidance depending on risk level
- **System Insights Dashboard** — live model accuracy, precision, recall, and dataset breakdown
## Tech Stack
- Python 3.10+
- scikit-learn (Logistic Regression classifier, TF-IDF vectorization)
- Streamlit (web interface)
- pandas, numpy, nltk, joblib
## Project Structure
fraud_sms_app/
├── data/
│ ├── spam_raw.csv # Kaggle SMS Spam Collection dataset
│ ├── spam_nigerian_augmented.csv # Combined + cleaned training data
│ └── known_scammers.csv # Locally reported scam numbers
├── models/ …