Skip to main content
RaoufResearchOS
English
Sydney, AustraliaCurrent Sydney Time—
Press Escape to close this window.
Mehr Guard

Defensive security

Mehr Guard

Mehr Guard is a privacy-first QR code and URL security scanner built with Kotlin Multiplatform. It detects phishing attacks, brand impersonation, and malicious redirects entirely on-device.

  • KMP
  • Security Tool
  • Android
  • iOS
  • Desktop
  • Web
Project IdentityStill

01 / Overview

Documented technology stack
  • 01Kotlin Multiplatform
  • 02Compose Multiplatform
  • 03SwiftUI
  • 04ML Kit
  • 05SQLDelight

Problem

QR codes are a common vector for phishing, but most scanners upload data to the cloud, compromising privacy. Users need a way to verify URLs without leaking their browsing history.

Solution Overview

  1. Built a 100% offline analysis engine using Kotlin Multiplatform
  2. Implemented an ensemble ML model with 25+ heuristic checks for threat detection
  3. Targeted 5 platforms (Android, iOS, JVM, JS, Wasm); ~100% of detection logic shared (~52% of the total codebase)
  4. Achieved <5ms latency for real-time scanning

02 / Evidence

Proof & Verification

  • F1 Score: 87% on red team corpus
  • Performance: <5ms P99 latency
  • 1,248+ automated tests plus a built-in red-team suite of 19 curated attack scenarios
  • Privacy: Verified 0 network calls via ./judge/verify_offline.sh
  • Code Sharing: ~100% of detection logic (~52% of total codebase)

03 / Methods

Build

Tech Stack

  • Kotlin Multiplatform
  • Compose Multiplatform
  • SwiftUI
  • ML Kit
  • SQLDelight
  • 5 Platform Targets (Android, iOS, JVM, JS, Wasm)
  • Ensemble ML Model (Logistic Regression + Gradient Boosting)
  • Brand-impersonation, homograph-attack & malicious-redirect detection
  • Heuristics Engine (25+ checks)
  • Built-in red-team suite (19 curated attack scenarios)

Secure

  • 100% Offline Analysis (Zero network calls)
  • On-device ML & Heuristics
  • No data collection
  • Privacy by Architecture

Search

Find a project, paper, write-up, or page.

30 / 41 · Search results

↑ ↓ Workspace NavigationEnter OpenEsc Close