desktop Project2024 ~ Present

MonitorDog - AI Security Monitoring Client

Project Details

Tech Stack

ElectronTypeScriptReactRust (Novice)Python (Mid-Novice)Cross-Platform BuildsFFI Integration with RustNode.jsOpenVinoTFLiteMediaPipeSentryTray ManagementTailwind CSSWebpackMSI & DEB Packaging (Installer)Digital Signing

My Role

Desktop Client Developer (Windows & Linux)

Access

Publicly Accessible

Overview

MonitorDog: Enterprise-Grade Endpoint Security Application

MonitorDog is a cross-platform enterprise desktop application designed to prevent the leakage of confidential data. It provides a comprehensive reporting, response, and management system, built using Electron, React, and TypeScript.

Real-Time AI-Based Monitoring

  • Utilizes TensorFlow.js, MediaPipe, and OpenVINO (via Node.js bindings or Python integration).
  • Analyzes webcam feeds to detect policy violations such as:
    • Unauthorized mobile phone usage
    • User absence
    • Multiple individuals in front of the screen

Automated Security Responses

  • Triggers a screen overlay lock on all connected monitors upon detection.
    • Logs security events with:
      • Screenshots
      • Webcam captures
      • System information
      • Running process details
    • Sends logs to a central server via REST API.

Multi-Window Architecture

  • Includes separate windows for:
    • Login
    • Settings
    • Overlay
    • Offscreen detection

Robust Authentication and Security

  • Multi-Factor Authentication (MFA)
  • Secure credential storage
  • Remote lock and control capabilities
  • Local preferences with remote sync

Deep System Integration

  • Auto-start on system boot
  • Handles OS events (shutdown, lock, sleep)
  • Uses native modules for:
    • Screen capture
    • Database access

🖥️ Platform Support

  • Windows: Packaged as MSI installer using WiX
  • Linux: Packaged as .deb installer

⚙️ Additional Capabilities

  • Auto-update mechanism
  • Error reporting with Sentry and manual logs
  • Code obfuscation and compilation via Bytenode
  • Model encryption for secure AI operations

Gallery

MonitorDog Login Screen

MonitorDog Login Screen

MonitorDog Overlay Lock Screen

MonitorDog Overlay Lock Screen

Key Features

  • Real-time AI Detection (No face, multi-face, mobile phone via OpenVINO/TF.js/MediaPipe).
  • Screen Overlay Lock (Per-monitor, triggered by detections or remote commands).
  • Authentication System With Face Verfication (Similar As FaceID).
  • Event Logging & Reporting (Captures screenshots, webcam images, system info, process lists; sends to backend API).
  • User Authentication (Email/Password, MFA via Firebase/backend API).
  • Secure Credential Storage (`keytar`/`safeStorage`).
  • Remote Lock Control (Admin/User initiated locks via backend).
  • User Profile & Settings Management (Local persistence, remote sync).
  • System Integration (OS shutdown/lock/sleep events, process monitoring, auto-startup, system events monitoring).
  • Multi-Platform Support (Windows MSI/Wix, Linux Deb installers).
  • MSI Signing & Code Signing (EV Code Signing Certificate).
  • Custom Installer Creation (Wix for Windows, Deb for Linux).
  • Auto-Update Functionality (Via Electron Release Server).
  • Offline Capabilities (Local SQLite DB for FaceID persistence).
  • Error Reporting (Sentry integration, manual reporting with logs via `electron-log`).
  • Performance Optimization (Code obfuscation/bytecode with Bytenode, Webpack optimizations).
  • AI Models' Security Management.
  • Screen Recording (For temporary access cases).
  • Network Reachability Monitoring.
  • Hardware & Software Info Collection.
  • Python Integration (`python-manager` for specific AI tasks).
  • Printing Event Monitoring (Windows Event Log integration).
  • OS Format Attempt Prevention (Windows script execution & monitoring).

Lessons Learned