Yes to both, and they are two entirely different mechanisms. Tab switching is caught by the browser: the test page binds visibilitychange and blur, and each time focus leaves it stores a timestamp, a duration and a running count. It never learns your destination. Paste is caught by the editor, which records the edit stream behind Codility's code playback, so text that appears in one frame instead of arriving keystroke by keystroke is stored as exactly that. The first tells a reviewer you left. The second shows them what happened when you came back.
What the browser is able to tell Codility
Nothing about focus detection is proprietary. Any web page can do it in six lines, and a browser-delivered assessment is a web page, which sets the ceiling on what Codility can know.
visibilitychangeon the document fires when the tab stops being visible. Switching browser tab, minimising, and the screen locking all flipdocument.visibilityStatetohidden.bluron the window fires on any loss of keyboard focus, a much lower bar. Alt-Tab fires it. So does clicking a window on a second monitor while the test stays fully visible on the first.- Where a session runs in enforced full screen,
fullscreenchangefires the moment you press Esc, whether or not you actually went anywhere.
From those events three fields get written. The timestamp aligns the gap with the task that was open and with what the playback shows next. The duration is the interval between the blur and the matching focus event, and it carries almost all of the signal while getting almost none of the attention. The count is the session tally, the weakest of the three and the one most likely to be the only number a busy reviewer reads.
The boundary is hard, and it is worth being precise about. Codility records that you left, never where you went. The events carry no URL, no window title, no page title, and no keystrokes from the other application. A web page cannot enumerate your other tabs or read your desktop, so no proctoring setting turns a focus-loss log into a record of what you looked at.
Whether that listener is running at all is a per-assessment choice made by the hiring company, and configurations differ by plan and by product, with a live pairing session behaving nothing like an unattended timed test. Candidates cannot reliably tell which setup they were given, so the safe assumption is that focus is being logged.
Why paste is a stronger kind of evidence
Paste detection does not depend on the clipboard being readable, and it barely depends on a paste event firing at all. The editor captures the sequence of edits that produced your final submission, which is what makes the code playback in the report possible: a reviewer scrubs through your solution and watches it get written. Typing produces a long tail of small insertions spread over minutes, with backtracking, a bracket typed and deleted, a variable renamed halfway through. An insertion of sixty lines at a single timestamp with no keystrokes behind it is a different shape entirely, and no separate flag is needed for a human to notice it.
That is also why retyping pasted code by hand does not reproduce the trace of writing it: a transcription still arrives in order, top to bottom, without the false starts. Running alongside all of this is a similarity signal comparing submissions against other candidates and against public solutions. That check has nothing to do with focus or paste, and it is frequently the one that raises the question.
Worked example: two pastes, one identical log line
Both candidates are forty-one minutes into a ninety-minute test with three tasks. Both paste a block into the editor. The paste itself is stored the same way for each of them: position, length, one timestamp.
Candidate A pastes her own scratch notes
At minute twelve she wrote a prefix-sum helper inside task one, decided it belonged in task three, cut it, and left it on the clipboard. At minute forty-one it goes back in. The paste has provenance inside the recording itself, because a reviewer can scrub back and watch her type that exact function.
Candidate B pastes a solution from outside
A focus loss begins forty seconds after task three loads and lasts five minutes and ten seconds. Twenty seconds after focus returns, a fifty-eight line working solution appears in one frame. Its first appearance anywhere in the session is that frame, it uses an idiom that shows up nowhere in his other two tasks, and it passes on the first run after a single rename.
| What surrounds the paste in the report | Candidate A, own notes | Candidate B, external |
|---|---|---|
| Focus loss immediately before | None, or a few seconds | 5 min 10 s, starting just after the task opened |
| Text seen earlier in the same playback | Yes, typed by hand at minute twelve | No, the paste is its first appearance |
| Naming and formatting | Matches her typed code, same habits, same abbreviations | A different convention from his other two tasks |
| Editing after the paste | Ten minutes fixing an off-by-one and renaming variables | One rename, then submit |
| Run history | Fails, fixed, fails again, passes | Passes on the first run |
| Similarity signal | Nothing external to match against | May match a public solution or another candidate |
The paste event alone separates neither candidate. Every row after it does. A practical lesson for anyone who pastes out of habit: keep scratch work inside the test editor rather than in a separate window, and your reuse carries its own alibi in the recording. Park it outside and you have thrown away the context that would have explained it.
What a reviewer actually does with a flag
Treat these signals as trust adjustments rather than deductions. Your score comes from correctness and performance on the test cases, and the counters do not reduce it. What a flag changes is what happens next, which is usually a follow-up call where someone sets a variation on the same problem and listens for whether your explanation matches the code you submitted. That conversation decides outcomes far more often than a counter does. If something genuinely interrupted you, note the time and mention it in your reply, because an explained five-minute gap and an unexplained one read very differently to the same person.
The innocent triggers are worth knowing, because in the log they are indistinguishable from a deliberate exit: notification toasts that steal focus, opening developer tools, a password manager popup, clicking anything on a second monitor, the screen auto-locking, an antivirus or update prompt, and opening a task's own linked documentation in a new tab. Turn on Do Not Disturb, quit chat apps rather than minimising them, and work on one screen.
Where OfferPilot AI is the wrong tool
This page is published by a company that sells a live interview assistant, so the limits belong in it. Our overlay is excluded from screen capture at the operating-system level, so it does not appear in a Zoom, Teams or Meet share, in a recording, or in a screenshot. That property is irrelevant to everything above. Focus detection never inspects pixels, it reads which window the operating system considers focused, so clicking the overlay or triggering the Code Copilot capture shortcut moves focus off the test tab and writes the same event as any other application would. Capture exclusion also does nothing against webcam monitoring, a lockdown browser, eye tracking, a second-device camera, or a person watching you in the room.
So on a proctored Codility assessment whose rules say no outside assistance, this is not the tool for the job, and we would rather write that than sell you something that fails on the exact terms of the question you typed. Where it earns its place is untimed practice beforehand, and live conversational rounds, where the Interview Copilot drafts from your own resume while you talk.
OfferPilot AI is a Windows 10 and 11 desktop app for live interview rounds, not for unattended assessments. If your next stage is a conversation rather than a timed test, the free tier on the pricing page is five minutes a day, no card required.
Related guides
- Does CoderPad Detect Tab Switching? What the Interviewer Sees
- Can CoderPad See If You Switch Tabs? CoderPad vs HackerRank
- Does HackerRank Record Your Screen? What Each Test Mode Captures
- Is CodeSignal Proctored? Camera, ID, Screen and Tab Rules
- Can a Zoom Host See If You Switch Tabs? The Three Signals