Integrity & Cheat Detection

How to Detect ChatGPT Use in Coding Interviews

ClarityHire Team(Editorial)3 min read

The new baseline: every candidate has ChatGPT open

By 2026, the question is no longer whether candidates use AI in interviews — it is how much, and whether they can produce the same work without it. If you do not adapt your screening, you will hire people whose advertised skill is the AI's, not theirs.

This post is a field guide to detecting AI-assisted answers in live and async coding interviews, drawn from the signals our integrity engine surfaces.

Signal 1: Keystroke rhythm that does not match human authorship

When a person writes code, they pause to think, backspace, refactor variable names, and trail off mid-line. When a person pastes code, you see a single burst of keystrokes — often hundreds of characters in under a second — followed by silence.

ClarityHire's keystroke biometrics model flags two patterns:

  • Burst-paste events. Sustained typing rates above ~700 chars/min, especially when preceded by a 10–60 second silence (the classic "alt-tab to ChatGPT" tell).
  • Authorship drift. The candidate's typing fingerprint shifts mid-task. The first 10 minutes look like one person; minute 30 looks like a different one.

Neither is conclusive on its own. Together, they almost always are.

Signal 2: Code coherence breaks

LLM-generated code is fluent but often over-fluent. Real engineers leave artifacts: a TODO they forgot to remove, a variable named x they meant to rename, a slightly inconsistent style between two functions written 20 minutes apart.

We run an LLM-judge pass over the candidate's final submission asking one question: does this look like one person wrote it, end to end? Common red flags:

  • Comments that explain trivial code in textbook prose
  • Sudden upgrades in idiom (raw for loops in one function, elegant comprehensions in the next)
  • Defensive error handling for cases the candidate never tested

Signal 3: Question-to-keystroke latency

If a candidate reads a problem and starts typing a working solution within 8 seconds, they are not thinking — they are transcribing. We measure time-to-first-meaningful-keystroke and flag anything implausibly fast for the problem's difficulty.

What to do about it

Detection is half the answer. The other half is interview design that makes AI use less useful:

  1. Ask follow-up questions live. "Why did you pick a hash map here? What happens if the input is sorted?" An LLM-pasted solution will have an owner who cannot answer.
  2. Use problems with novel constraints. Standard LeetCode is in the training set. A small twist — a custom data shape, an unusual cost function — forces actual thinking.
  3. Combine async with live. A 30-minute live follow-up on the take-home submission is the single highest-signal interview most teams are not running.

Modern hiring is not anti-AI. It is anti-fake. Candidates who use AI well, transparently, are exactly the people you want to hire. The goal is to make sure they are also the people showing up.

chatgptai cheatingcoding interviewscheat detection

Related Articles