Start Here — Verify Mehr Guard in under 5 minutes.
| Action | Link |
|---|---|
| 🌐 Try Live Demo | raoof128.github.io |
| 🎬 Watch Video Demo | YouTube |
| 📱 Download Android APK | MehrGuard-2.0.36-debug.apk |
| 📖 Read Essay | ESSAY.md |
| 🔨 One-Command Build Test | ./scripts/judge-smoke.sh |
| ✅ Verify All Claims | ./judge/verify_all.sh |
| 📊 View Evidence Pack | docs/EVIDENCE.md |
| URL | Expected Verdict | Why |
|---|---|---|
https://google.com |
✅ SAFE | Legitimate domain |
https://paypa1-secure.tk/login |
🔴 MALICIOUS | Brand impersonation (paypal → paypa1) + risky TLD |
https://gооgle.com |
🔴 MALICIOUS | Homograph attack (Cyrillic 'о') |
https://bit.ly/xyz |
URL shortener hides destination | |
http://192.168.1.1/login |
IP address instead of domain |
💡 Tip: In the web demo, paste any URL in the input box and press Enter.
# Clone the repository
git clone https://github.com/Raoof128/Raoof128.github.io.git mehrguard
cd mehrguard
# Run ALL verification (2-3 minutes)
./judge/verify_all.sh
# Or run individual checks:
./judge/verify_offline.sh # Proves zero network calls
./judge/verify_performance.sh # Proves <5ms latency
./judge/verify_accuracy.sh # Proves 87 F1 score
./judge/verify_parity.sh # Proves cross-platform parityExpected Output:
✅ OFFLINE VERIFICATION PASSED
✅ PERFORMANCE VERIFICATION PASSED
✅ ACCURACY VERIFICATION PASSED
✅ PARITY VERIFICATION PASSED
Hidden feature for testing attack detection across all platforms.
| Platform | How to Activate | State |
|---|---|---|
| Android | Settings → 7-tap version number → Toggle "Red Team Mode" | Hidden by default |
| iOS | Settings → 7-tap version number → Toggle "Red Team Mode" | Hidden by default |
| Desktop | Header bar → Click "🕵️ Judge Mode" toggle (next to "Offline First") | Toggle ON/OFF |
| Web | Settings → Security Settings → "Enable Red Team Scenarios" toggle | Toggle ON/OFF |
What You'll See:
- 19 curated attack scenarios (homographs, IP obfuscation, TLD abuse, brand impersonation, URL shorteners, safe controls)
- One-tap testing of detection accuracy (bypasses camera, feeds URL directly to engine)
- Useful for demonstrating engine capabilities to judges without needing QR codes
Quick Demo Steps:
- Desktop: Click "Judge Mode" in header → Click any attack chip (e.g., "Cyrillic Apple")
- Web: Go to Settings → Enable "Red Team Scenarios" → Go to Scanner page → Chips appear at top → Click any chip
- Mobile: Settings → 7-tap version → Enable Red Team Mode → Chips appear in scanner
| Metric | Value | Evidence |
|---|---|---|
| Test Coverage | 89% | Kover Report |
| Total Tests | 1,248 | ./gradlew :common:desktopTest |
| Analysis Latency | <5ms P95 | BENCHMARKS.md |
| Detection Rate | 87 F1 | EVALUATION.md |
| False Positive Rate | <5% | AlexaTop100FPTest.kt |
| Shared Code | ~11,000 LOC | SHARED_CODE_REPORT.md |
| Platforms | 5 (Android, iOS, Desktop, JS, Wasm) | All build successfully |
| Languages | 18 | Full i18n support |
| Accessibility | Full | 197+ content descriptions, VoiceOver labels |
| App Version | 2.0.36 | KotlinConf 2025-2026 Submission |
If you have limited time, focus on these files:
| Priority | File | What It Shows |
|---|---|---|
| ⭐⭐⭐ | PhishingEngine.kt | Core detection logic, KMP architecture |
| ⭐⭐⭐ | EnsembleModel.kt | 3-model ML ensemble (LR + Boosting + Rules) |
| ⭐⭐ | HeuristicsEngine.kt | 25+ security heuristics |
| ⭐⭐ | PlatformAbstractions.kt | expect/actual pattern |
| ⭐ | ESSAY.md | Competition essay (322 words) |
| Requirement | Status | Location |
|---|---|---|
| ✅ Original work (not pre-existing) | PASS | CONTEST_START.md |
| ✅ Open-source license | PASS | LICENSE (Apache 2.0) |
| ✅ README.md with instructions | PASS | README.md |
| ✅ Essay (300+ words) | PASS | ESSAY.md (322 words) |
| ✅ Public GitHub repository | PASS | github.com/Raoof128/Raoof128.github.io |
| ✅ Not a library-only submission | PASS | Full apps on 5 platforms |
| ✅ Not a template/Hello World | PASS | ~26,000 LOC custom implementation |
- QRishing detection addresses a 587 attack increase
- Offline-first = privacy is architecture, not feature
- Ensemble ML = 3 models combined (not just API calling)
- Explainable = tells users WHY, not just WHAT
- 5 KMP targets: Android, iOS (3 arch), Desktop, JS, WasmJS
- 100% shared business logic (~11,000 LOC)
- Shared Compose UI components:
CommonBrainVisualizer,CameraPermissionScreen - Strategic expect/actual: 7 platform abstractions
- Parity tests: prove identical behavior across all targets
- Sealed classes, data classes, coroutines throughout
- Detekt zero-tolerance in CI
- 89% test coverage, 1,248 tests
- KDoc on all public APIs
Web uses optimized ML weights (~200KB vs ~500KB). Detection is still accurate—only thresholds differ slightly. See Platform Parity Note.
Use the web demo at raoof128.github.io—it uses the exact same detection engine compiled to JavaScript.
Yes! Run ./judge/verify_offline.sh to prove zero network calls. The analysis module has no HTTP client dependencies.
26 days (December 5-31, 2025). See CONTEST_START.md for timeline.
Author: Raouf (رئوف)
GitHub: @Raoof128
Location: Sydney, Australia
Thank you for reviewing Mehr Guard. Every claim in this document is backed by reproducible evidence.
🛡️ Scan smart. Stay protected.