Seeking Feedback: Real-Time Screen + Keystroke Monitoring for AI-Aware Anti-Cheating System (FYP)

byβ€’

🧠 Title:

Seeking Feedback: Real-Time Screen + Keystroke Monitoring for AI-Aware Anti-Cheating System (MVP FYP Project)

πŸ“ Post Body:

I’m a CS undergrad working on my Final Year Project, and I’d really appreciate some constructive critique from the developer, ML, and privacy-conscious communities.

πŸ” Problem:

With remote learning and online exams becoming common, academic dishonesty is increasingly hard to detect β€” especially with the rise of LLMs, copy-paste coding, and browser switching during assessments.

Current proctoring tools focus mostly on webcams and raise serious privacy concerns, while still being easy to bypass.

πŸ’‘ Our MVP Proposal:

We're building a real-time, privacy-conscious anti-cheating system focused on:

Live screen stream monitoring (1–2 FPS sampling for efficiency)

Real-time keystroke analysis (flagging ctrl+c, ctrl+v, AI keywords like "ChatGPT", etc.)

Tamper detection (VM detection, sandbox evasion, plugin/modification flags)

Automated flagging via lightweight ML β€” only shows partial logs that triggered the alert

Auto self-destruct after the exam to eliminate data persistence or tracking concerns

We’re deliberately not using webcams, microphones, or storing full keylogs/screens. Only flagged behavior is logged.

πŸ” Privacy Policy Safeguards:

App runs only during exam, self-uninstalls afterward

No webcam/audio access, no biometric tracking

Students agree via EULA + pre-exam consent

Source code will be partially open for transparency

πŸ§ͺ Architecture (Draft)

Frontend: Electron-based cross-platform exam app

Monitoring Layer: Native C++/Rust agent for screen & process monitoring

Backend: Python API with flag logic, hosted on secure VPS (10–1000 concurrent streams)

ML: Lightweight detection models for anomaly + AI usage flags (not deep surveillance)

πŸ’¬ My Ask:

Is this technically viable at scale (1K students)?

What are the most critical flaws in this design?

How can I maintain control without violating ethical boundaries?

Would you (as a developer or educator) trust a system like this?

πŸ™ Why This Matters:

If we can strike the right balance between cheating detection and privacy protection, we might be able to offer a legitimate solution to universities struggling with online examination integrity β€” without turning every student's room into a surveillance state.

All feedback β€” critical or supportive β€” is welcome.

Thanks in advance.

75 views

Add a comment

Replies

Best

Building an anti-cheating system that tries to respect privacy is a noble goal, but from an architecture standpoint, you’re walking a massive tightrope.

The biggest technical flaw in the MVP design is the C++/Rust native agent combined with Electron. The moment you require students to install a native executable that hooks into process monitoring, screen capture, and keystroke logging, university IT departments and security-conscious students are going to panicβ€”regardless of your self-destruct promises. Antivirus software will instantly flag it as spyware (trojan/keylogger signatures), and getting past Windows Defender or macOS Gatekeeper for unverified student builds is a nightmare.

If I were evaluating this as a scalable system:

  1. The 1K concurrent stream load: Streaming screens and processing keystrokes via a Python backend on a standard VPS will bottleneck fast. You’ll need a robust message broker like Redis or RabbitMQ and a pub/sub architecture to handle real-time anomaly detection without crashing the API.

  2. The bypass problem: Students will simply use a second device (phone/tablet) placed next to the monitor. Keystroke analysis and screen monitoring won't catch someone looking at ChatGPT on their phone.

To answer your trust question: as a developer, I wouldn't trust a custom native proctoring agent on my personal machine. If universities want secure testing, they usually push for managed lockdown browsers (like Safe Exam Browser) rather than custom-built telemetry agents.

How are you planning to handle the false-positive nightmare on the keystroke side? A student rapidly hitting Ctrl+C and Ctrl+V while refactoring their own code in an IDE is going to trigger every alert you have.