Proctoring is the act of supervising an exam or course online.
Using web-based applications, virtual proctoring platforms allow test takers to be virtually monitored by a human via the webcam on their computer. To increase the scale of the test taking and improve a human proctor’s ability to monitor students, virtual proctoring services are now implementing AI/ML to support the human proctor.
Virtual Proctor is a solution that leverages Amazon Rekognition to show a scalable way to conduct online testing.
It shows how you can implement rules such as:
You can also use Amazon Rekognition Custom Labels to detect other custom objects of interest.

To deploy the sample application, you will require an AWS account. If you don’t already have an AWS account, create one at https://aws.amazon.com by following the on-screen instructions. Your access to the AWS account must have IAM permissions to launch AWS CloudFormation templates that create IAM roles.
To use the sample application you will require a modern browser and a webcam.
The demo application is deployed as an AWS CloudFormation template.
Note
You are responsible for the cost of the AWS services used while running this sample deployment. There is no additional cost for using this sample. For full details, see the following pricing pages for each AWS service you will be using in this sample. Prices are subject to change.
On the "Specify stack details" screen you may customize the following parameters of the CloudFormation stack:
Stack Name: (Default: VirtualProctor) This is the name that is used to refer to this stack in CloudFormation once deployed.
When completed, click Next
On the review you screen, you must check the boxes for:
"I acknowledge that AWS CloudFormation might create IAM resources"
These are required to allow CloudFormation to create a Role to allow access to resources needed by the stack and name the resources in a dynamic way.
The application is accessed using a web browser. The address is the url output from the CloudFormation stack created during the Deployment steps.
When accessing the application for the first time, you need to use the Admin e-mail provided during Stack Creation as the username. A temporary password will be sent to the same e-mail address. After authentication, it will be necessary to create a new password and click "Change".
To manage users, you can use the Cognito Users Pool console.
To remove the application open the AWS CloudFormation Console, click the Virtual Proctor project, right-click and select "Delete Stack". Your stack will take some time to be deleted. You can track its progress in the "Events" tab. When it is done, the status will change from "DELETE_IN_PROGRESS" to "DELETE_COMPLETE". It will then disappear from the list.
The contributing guidelines contains some instructions about how to run the front-end locally and make changes to the back-end stack.
Python Samples contains python snippets for virtual proctoring usecases
Contributions are more than welcome. Please read the code of conduct and the contributing guidelines.
This library is licensed under the MIT-0 License. See the LICENSE file.
$ claude mcp add amazon-rekognition-virtual-proctor \
-- python -m otcore.mcp_server <graph>