Cheating prevention and detection
Last updated on • Available in French
Screen takes cheating seriously, which is why we offer several ways to prevent cheating on your tests. Below you’ll see them broken into two sections — Prevention measures and Detection measures:
Random blocks automatically generates randomized groups of questions based on your test settings (role, domain, difficulty, etc.). This means that no two tests are the same, and makes it much harder for candidates to look for and/or leak solutions online.
All candidates starting a test are presented with a welcome screen and confirmation pop-up mentioning our cheat detection mechanisms and clarifying expectations. You can customize the wording of the welcome screen to make the message more prominent if necessary — instructions for editing that message can be found here.
Additionally, in the tutorial that candidates follow, they can see what the detailed report will look like (with code playback), which reinforces transparency about expectations.
We allow you to set time limits for multiple choice questions so that candidates don’t have time to look up the questions on the internet.
This setting is enabled by default; you can find out more about editing the settings here.
We automatically block copy/paste of the question statement both to prevent leaks and to make it harder to find the solution online.
Another feature we offer is to deactivate pasting text that was obtained outside the IDE. You can find the option to do this in the Test settings.
⚠️ Before activating this paste-blocking feature, keep in mind that there are a lot of legitimate use cases for copy/pasting — like utilizing a more familiar IDE on their desktop, or working out the problem in a text editor like Notepad ++.
⚠️Suspicious behavior does not always indicate cheating behavior. We flag these behaviors so that you can investigate further to make an actual determination of cheating.
In other words, while you may receive notifications about problem behaviors encountered during a test, there are often legitimate reasons for candidates engaging in things like copy/pasting or taking an extra long time to answer a question.
Screen is currently set up to detect the following potential cheating patterns:
- Plagiarism: Screen will recognize if a candidate submits the exact code previously submitted by another candidate and trigger a notification.
- Abnormal candidate performance: e.g., identifying difficult questions completed in a fraction of the usual time.
- Geolocation changes: We track candidates’ approximate geolocation to spot any unusual behavior, like logins from different locations or devices during the test.
- Leaving the IDE: We can tell if candidates have left the test environment.
- Copy/pasting: and if they have copied & pasted code into the Screen IDE.
Additionally, we take the following actions to reduce the risks and impact of leaked questions and answers:
- We continually monitor the internet (Reddit, StackOverflow, Git, etc.) for leaked questions and take any necessary action to remove the leaked content as needed.
- Not only will we refresh any leaked or compromised questions, but we regularly update and refresh ALL our questions.
There are four places you’ll be able to review potential candidate cheating.
The first is the Code playback feature, which is a recording of the candidate’s screen as they work the programming questions. You can not only watch them build their answer, but you’ll be able to see when they left the coding environment and when they copy and pasted code:
The second is in the candidate list, where you’ll see a red exclamation point inside a red circle if Screen has detected potential cheating.
The third is in your simplified candidate report. This is where you’ll receive plagiarism alerts, notifications of candidates leaving their IDEs, and any geolocation issues:
Lastly, if you click on the View detailed report button on the summarized report, you can see detected issues for individual questions:
✅ You can manually override the automatic scoring if you feel it is necessary.
ℹ️ For more information on our anti-cheat feature — including a few frequently asked questions — checkout our Anti-cheat product page.