System Hardware Validation
Overview
Before a student can access the exam environment, the platform performs a mandatory System Hardware Validation sequence. This automated pre-flight check ensures that the user's hardware and software environment meet the minimum requirements for AI-powered monitoring.
The validation process is handled within the setup phase of the exam flow, ensuring all anti-cheat signals—such as gaze tracking and audio analysis—will function correctly during the session.
Core Validation Modules
The system validates five critical categories. Each check transitions through states: pending → checking → passed or failed.
1. Browser Compatibility
The platform verifies that the student is using a modern web browser with full WebRTC support.
- Requirement: Latest versions of Chrome, Firefox, Edge, or Safari.
- Verification: Detects browser engine and version to ensure compatibility with real-time media streaming and canvas-based analysis.
2. Network Connection
A stability check is performed to ensure the exam session won't be interrupted by connectivity issues.
- Metrics: Checks for active internet connection (
onlinestatus) and calculates Round Trip Time (RTT). - Failure Condition: If the user is offline or has extremely high latency, the system prevents progression to the exam.
3. Webcam Access
Camera access is the cornerstone of the proctoring experience, enabling face-presence detection and gaze tracking.
- Process: Requests permission via
navigator.mediaDevices.getUserMedia. - Validation: Ensures the video stream is active and readable by the AI models.
4. Microphone Access
Audio monitoring is used to detect unauthorized communication or environmental anomalies.
- Audio Visualization: The setup screen provides a real-time decibel meter to confirm the microphone is picking up sound.
- Technical Detail: Uses the
Web Audio APIto create anAnalyserNodefor frequency and volume tracking.
5. Identity Verification
The final check ensures that the student is visible and centered in the frame.
- Face Detection: The system uses canvas pixel analysis to verify that a face is present before the "Start Exam" button is enabled.
- Requirement: Adequate lighting and a clear view of the student's face.
Technical Configuration
The validation logic is structured around the SystemCheck interface, which tracks the state of each hardware component.
interface SystemCheck {
key: string;
label: string;
desc: string;
icon: React.ElementType;
status: "pending" | "checking" | "passed" | "failed";
errorMsg?: string;
}
Handling Permissions
If a student denies camera or microphone permissions, the system displays a failed state with a descriptive error message. The exam cannot be started until these permissions are granted via the browser's security settings.
// Example of how the system requests hardware access
const stream = await navigator.mediaDevices.getUserMedia({
video: true,
audio: true
});
User Experience during Validation
- Real-time Feedback: Students receive immediate visual confirmation as each check completes, indicated by green checkmarks (
passed) or red warning icons (failed). - Audio Level Monitoring: A visual waveform or bar indicates the sensitivity of the microphone, allowing students to adjust their environment before the exam starts.
- Identity Preview: A live webcam feed is displayed so the student can position themselves correctly within the proctoring frame.
Troubleshooting Common Issues
| Issue | Resolution | | :--- | :--- | | Camera Blocked | Ensure no other application (like Zoom or Teams) is using the camera. Refresh the page and click "Allow" when prompted. | | Low Audio Levels | Check the system microphone settings or ensure you are in a quiet environment with a working input device. | | Network Failure | Check your Wi-Fi or Ethernet connection. A stable connection is required to stream telemetry data to the proctoring dashboard. | | Browser Not Supported | Update your browser to the latest version or switch to a supported browser like Google Chrome. |