MIT License • Code of Conduct • Contributing Guidelines • Security Policy
ScamShield is an advanced, real-time AI/ML platform designed to protect job seekers from fraudulent employment opportunities. By actively auditing job descriptions, verifying URLs and corporate registrations, and analyzing recruiter contact channels, ScamShield calculates a comprehensive Trust Score (0-100%) before applicants submit their sensitive data.
Click the image above to watch a full demonstration of ScamShield in action.
- Real-Time Threat Detection: Instantaneous analysis of job postings to identify potential scams.
- Smart URL Scraping: Automatically fetches and populates job details (title, company, description) from major job boards for seamless analysis.
- 5-Pillar Trust Engine: Employs a multi-faceted verification pipeline incorporating machine learning and heuristic risk metrics.
- Premium Visual Dashboard: A sleek, responsive user interface featuring a dynamic horizontal pipeline tracker, theme toggling (Obsidian Dark / Alabaster Light), and detailed trust telemetry.
ScamShield evaluates job postings using a 7-Stage Horizontal Verification Pipeline:
graph LR
A[Ingested] --> B[NLP Text]
B --> C[URL Scan]
C --> D[Company Check]
D --> E[Recruiter Check]
E --> F[Trust Score]
F --> G[Decision]
The system verifies credibility across 5 Trust Pillars:
- 🧠 NLP Text Analysis:
- Evaluates semantics using a high-performance machine learning text classifier.
- Audits vocabulary density and detects clickbait signals (e.g., excessive exclamation marks).
- Analyzes lexical complexity via the Flesch Reading Ease index to expose convoluted, machine-generated templates.
- 🔗 URL Phishing Scan:
- Inspects embedded links for secure SSL protocols (
https://vshttp://). - Audits domains against suspicious free hosting providers (e.g., WordPress, Wix) and URL shorteners (e.g., bit.ly).
- Inspects embedded links for secure SSL protocols (
- 🏢 Company Verification:
- Validates description completeness to flag exceptionally brief or missing company profiles.
- Audits company names against official corporate registry structures (identifying standard suffixes like Ltd, Inc, LLP, Pvt).
- 🛡️ Recruiter Behavior Check:
- Scans for embedded personal emails and phone numbers in the description text.
- Distinguishes between public free email providers (e.g.,
@gmail.com) and validated corporate domains. - Cross-references job locations against historical regional fraud ratios.
- Flags pressure tactics and urgency terms (e.g., "URGENT", "IMMEDIATE").
- 🎯 Trust Score Engine:
- Integrates machine learning probabilities and heuristic risk metrics to compute a credibility rating (0 to 100%).
- 🟢 80% - 100%: High Trust (Verified Safe / Approved)
- 🟡 50% - 79%: Neutral Risk (Verification Advised)
- 🔴 Below 50%: Low Trust (Scam Vulnerability Alert / Application Blocked)
Our core prediction models have been meticulously engineered to maximize prediction accuracy and minimize false-positive warning triggers.
- Text Classifier (NLP): Upgraded to
TfidfVectorizer(10,000 max features) combined with anSGDClassifier(loss='log_loss'). Trained on balanced sets usingSMOTE, filtering vocabulary noise and raising the individual text F1-score to 80.97%. - Tabular Classifier: Utilizes a powerful
RandomForestClassifier(100 estimators) to naturally model non-linear correlations (e.g., location threat ratios, character lengths, Flesch scores) without scaling bias, achieving an individual tabular F1-score of 56.32%. - Ensemble Fusion (Soft Voting): Combines model outputs using a weighted soft-voting algorithm (
0.5 * Text Risk + 0.5 * Tabular Risk) combined with a heuristic check penalty.
Overall Ensemble Performance:
- Accuracy: 98.11%
- Precision: 89.86% (Significantly reducing false alarm flags)
- Recall: 80.52%
- F1 Score: 84.93%
Ensure you have Python 3.12+ installed. Install the required dependencies:
pip install -r requirements.txt(Or install manually: pip install flask pandas numpy scikit-learn imbalanced-learn joblib textstat beautifulsoup4 nltk python-docx)
Train and serialize the TF-IDF vectorizers and Random Forest classifiers on the provided balanced dataset.
python train_model.pyThis step outputs accuracy metrics and saves the binary model files (tfidf_vectorizer.pkl, clf_log.pkl, clf_num.pkl, numeric_features.pkl) into the models/ directory.
Start the Flask development server:
python app.pyNavigate to http://127.0.0.1:5000 in your web browser to access the ScamShield dashboard.
We welcome contributions to ScamShield! Please see our Contributing Guidelines for more details on how to get started, report bugs, or submit pull requests.
This project is licensed under the MIT License.

