VigilMind is a comprehensive parental control solution designed to monitor and manage children's digital activity across desktop applications and web browsing. It leverages AI to analyze content and enforce parental guidelines in real-time.
The project consists of three main components:
- Big-Brother (Backend & Desktop Monitor):
- A Flask-based server that handles API requests, manages the MongoDB database, and performs AI analysis using OpenAI.
- Includes a Desktop Monitoring script that tracks active windows, takes screenshots of unknown applications, and terminates those that violate guidelines.
- Parent_Dashboard (Frontend):
- A React-based web interface for parents to configure settings, view activity logs, review blocked applications, and handle appeals.
- browser-eyes (Browser Extension):
- A browser extension that monitors web content and integrates with the backend for analysis.
Before setting up, ensure you have the following installed:
- Node.js (v16 or higher) & npm
- Python (v3.8 or higher)
- MongoDB (Local instance or Atlas URI)
- Navigate to the
Big-Brotherdirectory. - Create a
.envfile with the following configuration:OPENAI_API_KEY=your_openai_key MONGO_URI=mongodb://localhost:27017/ PARENT_EMAIL=parent@example.com EMAIL_PASSWORD=your_app_password HOST=127.0.0.1 PORT=5000
- Install Python dependencies:
pip install flask flask-cors pymongo openai psutil pillow pywin32 win10toast youtube-transcript-api agents pydantic
- Start the backend server:
python new_server.py
- Navigate to the
Parent_Dashboarddirectory. - Install dependencies:
npm install
- Start the development server:
The dashboard will be available at
npm start
http://localhost:3000.
- Navigate to the
browser-eyesdirectory. - Install dependencies:
npm install
- Build the extension:
npm run build
- Load the extension in your browser:
- Chrome/Edge: Go to Extensions > Manage Extensions. Enable "Developer mode". Click "Load unpacked" and select the
distfolder insidebrowser-eyes.
- Chrome/Edge: Go to Extensions > Manage Extensions. Enable "Developer mode". Click "Load unpacked" and select the
To enable desktop application monitoring:
- Open a new terminal as Administrator.
- Navigate to
Big-Brother/System_Monitoring. - Run the monitor script:
python active_window_test.py
- Dashboard: Use the Parent Dashboard to set monitoring guidelines and review blocked content.
- Monitoring: The Desktop Monitor runs in the background, checking active windows. If a non-whitelisted app is detected, it captures a screenshot for AI analysis.
- Alerts: If an app violates guidelines, it is terminated, and a notification is shown.
- Appeals: Children can appeal blocks, which parents can review in the dashboard.
- Desktop Monitoring only works on Single desktop setups and not a multi monitor setup.
- Agent Child Assistant: Rather than simply blocking the child, the agent can assist the child in finding alternatives and provide a safer browsing experience.
- Desktop Notification when parent approves
- Time Analysis
- Safer gaurdrails against prompt engineering