Proctorio's face detector failed to recognize Black faces 57% of the time, flagging students

Proctorio's remote proctoring software relied on OpenCV's Haar Cascade face detection model, which failed to detect Black faces 57 percent of the time according to testing by student researcher Akash Satheesan. The undetected faces triggered automated 'missing from frame' and 'low facial detection' flags that were reported to instructors as potential cheating indicators, disproportionately harming students of color. The bias was publicly exposed in press reports in April 2021 and prompted a US Senate inquiry led by Senator Richard Blumenthal.

Proctorio · Incident Sep 1, 2020 · Indexed Jun 4, 2026 · 3 sources

OpenCV's Haar Cascade detector, embedded in Proctorio's proctoring pipeline, could not find Black faces more than half the time and auto-flagged those students as suspicious instead.
What
Proctorio's remote proctoring software relied on OpenCV's Haar Cascade face detection model, which failed to detect Black faces 57 percent of the time according to testing by student researcher Akash Satheesan.
Incident date
Sep 1, 2020
Who
Proctorio
Failure mode
Agentic Action Error
AI surface
Agentic Workflow
Severity
High

What happened

During the 2020 COVID-19 pandemic, Proctorio deployed OpenCV-based facial detection to monitor students taking remote exams. When the model failed to detect a student's face, it generated 'missing from frame' and 'low facial detection' flags that were surfaced to instructors as indicators of potential academic dishonesty. Student researcher Akash Satheesan reverse-engineered the software and found that the OpenCV Haar Cascade model failed to detect Black faces 57 percent of the time, compared to significantly higher detection rates for lighter-skinned faces. Students of color reported being repeatedly locked out of exams, forced to use extreme lighting measures, and flagged as cheaters due to the software's inability to see them, prompting a Senate inquiry by Senator Blumenthal in December 2020.

What broke inside the model

Failure path · mode profile · Agentic Action Error
  1. 01 · TriggerAn agent plans a multi-step task.
  2. 02 · Model stepIt chooses a wrong or destructive action.
  3. 03 · Control gapNo confirmation gate guards the write.
  4. 04 · FailureThe action commits to a system of record.
  5. 05 · ConsequenceData is changed or destroyed irreversibly.

A wrong action commits, and the step is written before anything can stop it.

Proctorio deployed OpenCV's Haar Cascade classifier for face detection, a model trained primarily on lighter-skinned faces that had documented difficulty detecting darker skin tones. When the model failed to locate a face, Proctorio's automated workflow interpreted the absence as suspicious behavior rather than a detection failure, generating false integrity flags against the affected student. The system lacked any fallback or bias-awareness mechanism to distinguish between 'student left the frame' and 'algorithm cannot see this face.'

Public visibilityHigh
Regulatory exposurePossible
Customer impactClass-wide
Financial impactUnknown
Time to disclosureMonths
  1. PressProctorio Is Using Racist Algorithms to Detect Facesvice.com
  2. PressStudents of color are getting flagged to teachers because Proctorio can't see themtheverge.com
  3. PrimaryBlumenthal Leads Call for Virtual Exam Software Companies to Improve Equity, Accessibility, and Privacy for Studentsblumenthal.senate.gov
Permalinkhttps://failureindex.ai/failures/proctorio-face-detector-failed-recognize-black
CitationAI Failure Index. "Proctorio's face detector failed to recognize Black faces 57% of the time, flagging students" (FI-0150). Realm Labs. https://failureindex.ai/failures/proctorio-face-detector-failed-recognize-black (indexed Jun 4, 2026).
Share cardA branded image of this record for posts and slides.

Data fields CC-BY 4.0, prose citation permitted. Incident ID FI-0150. Full dataset at /data.

Note from Realm Labs, the Index steward

How Realm would have caught this

Controls for this failure mode
  • Prism
  • OmniGuard
  • AgentRealm

Realm can sit inline on the agent's action path and require that a destructive or high-consequence action clears a real check before it executes, so 'delete and recreate' or a wrong write is stopped at the moment of intent, not explained in the post-mortem.