We aggregate thousands of jobs directly from company career pages and scan each one against 54 fraud signals. No spam, no scams, no sponsored results.
We scan thousands of jobs from company career pages every 4 hours so every listing you see is verified safe.
Every 4 hours, we fetch jobs directly from 120+ company career pages on Greenhouse, Lever, Ashby, and more — plus Adzuna, USAJobs, and RemoteOK.
Each listing is scanned against 54 fraud detection signals — upfront fees, identity harvesting, MLM language, ghost job indicators, and more. In under 10ms.
Click through directly to the company's career page. No middleman, no sponsored results. Every listing shows its safety score and signal breakdown.
Every design decision prioritizes accuracy — because false positives cost people jobs, and false negatives cost people money.
50+ independent signals spanning red flags, structural patterns, ghost job indicators, linguistic markers, and positive trust signals — each calibrated against a dataset of 1,500+ real postings.
Confidence grows with accumulated evidence rather than binary rules. Multiple weak signals combine correctly, and contradictory positive signals reduce false alarms — like a trained investigator would reason.
Detection improves continuously based on user-reported outcomes. Scam tactics that evade today's detectors get caught faster tomorrow as the system adapts.
Regex-based signals complete in under 10ms per posting, making it viable to scan hundreds of listings during a job search session without perceptible delay.
Jobs come directly from company career pages via Greenhouse, Lever, and Ashby APIs — the same source hiring.cafe and Indeed pull from, but verified safe before you see them.
Analyze postings inline as you browse. Risk badges appear directly on job listing cards — no copy-paste needed. Works on Chrome, Firefox, and Edge.
Paste a job description below and get an instant client-side scam analysis. No data is sent to any server.
Every signal is hand-crafted, independently weighted, and continuously validated against known scam patterns.
Built with rigor, tested against reality.
Installable via pip. Works as a CLI, Python library, or REST API.
$ pip install sentinel # or install from source $ git clone https://github.com/ericrihm/JobSentinel $ cd JobSentinel && pip install -e .
# Scan a single URL $ sentinel scan "https://linkedin.com/jobs/view/..." # Analyze a text file $ sentinel analyze posting.txt # Batch scan from a list $ sentinel batch urls.txt --output results.json
from sentinel import Sentinel s = Sentinel() result = s.analyze(url="https://...") print(result.score) # 78 print(result.verdict) # HIGH_RISK print(result.signals) # [...signals...]
✓ JobSentinel v0.9.0 Analyzing: linkedin.com/jobs/view/... Score: 78 / 100 (HIGH RISK) Signals: 6 triggered ● upfront_payment (+35) ● ssn_early (+40) ● urgency_pressure (+22) ✓ structured_process (-12)
MIT licensed. Built in the open, improved by the community.
Add new signals, improve scrapers, report false positives. See CONTRIBUTING.md to get started.
ContributeFound a missed scam pattern or a false positive? Open an issue with the posting (redacted) and we'll fix it.
Open Issue