Docs Index

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:

Prevention measures

Random blocks

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.

Customize test page with an arrow pointed towards the "Add a random block" button in the "Your test" modal.

Cheat warnings

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.

Time limits

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.

Copy/pasting prevention

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 ++.

Detection measures

⚠️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.

Automatic detection

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.

Cheating notifications

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:

Playback screen with a "Code was paseted from an external source" notification highlighted in the playback bar.

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.

A candidate row shown from the candidate list with an arrow pointing to an exclamation point inside a circle ( the symbol for possible 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:

The summarized candidate report with a notice that the candidate went out of the IDE.

Lastly, if you click on the View detailed report button on the summarized report, you can see detected issues for individual questions:

An individual question that is marked wrong. Below the question is a warning exclamation point that says "The candidate considerably exceeded the time limit for this question. this could be down to tampering with the timer (attempted cheating) or, more likely, to a problem with the network connection. Just in case, we haven't awarded any points for this question."

✅ 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.