The Short Answer
Every modern browser-based interview platform — HackerRank, CodeSignal, CoderPad, LeetCode, Codility, Karat, Microsoft's interview tool, and effectively every other in-browser editor used for live or asynchronous technical screening in 2026 — logs paste events into the editor through the standard JavaScript paste event on the ClipboardEvent interface. The interviewer can see the timestamp, the character count, the target location, and on most platforms the full pasted content. The platforms differ in how prominently they surface the data and how aggressively they roll it into a composite cheating score. They do not differ on whether the event is captured. Paste detection is the cheapest and most reliable signal in the entire integrity stack, and it is enabled by default everywhere.
How Paste Event Detection Actually Works
The mechanism is straightforward and shared across every platform. The interview editor, which is almost always a Monaco or CodeMirror instance running in a browser, registers a JavaScript listener for the paste event on the editor's textarea or contenteditable element. When the candidate invokes a paste — Ctrl-V on Windows or Linux, Cmd-V on macOS, right-click paste from the context menu, middle-click paste on Linux — the browser dispatches a ClipboardEvent and the listener fires. The platform's client-side code then captures the relevant fields and forwards them to the server alongside the rest of the session telemetry.
The fields captured are consistent across platforms. The timestamp is captured to millisecond precision. The character count is the length of the text being pasted. The target location is the line and column position in the editor at the moment of paste. The content itself is read from the clipboardData property of the event, which exposes the pasted text under the text/plain MIME type and, where available, additional formats including text/html and platform-specific clipboard formats that some source applications attach. The W3C Clipboard API documents the interface, and the same shape is used by every modern browser engine in 2026.
The pseudocode below shows the shape of a typical paste listener as it would appear in an interview platform's editor wrapper. It is simplified for clarity, but the structure is representative of what runs on HackerRank, CodeSignal, CoderPad, Codility, and the rest.
editor.addEventListener('paste', (event) => {
const pastedText = event.clipboardData.getData('text/plain');
const sourceHint = event.clipboardData.getData('text/html');
const formats = Array.from(event.clipboardData.types);
const log = {
ts: Date.now(),
type: 'paste',
size_chars: pastedText.length,
line: editor.getCursorPosition().line,
column: editor.getCursorPosition().column,
content_hash: sha256(pastedText),
has_html: formats.includes('text/html'),
has_vscode_metadata: formats.includes('vscode-editor-data'),
external: !pastedText.startsWith(problemDescription.slice(0, 200)),
};
telemetry.send('editor_event', log);
});
The external field in the example is the most interesting one. Platforms compute it by comparing the pasted content against text the candidate is known to have copied from inside the assessment — typically the problem description, the starter code, or a previously submitted solution. A paste that matches the problem description is internal; a paste that does not match anything the candidate could have copied from inside the assessment is external. The internal-versus-external distinction is what drives most of the downstream flagging.
What Each Platform Actually Captures and Shows the Interviewer
The capabilities below are based on each platform's public documentation as of 2026 and on the patterns visible in candidate reports across the major customers. The table summarizes what is captured at the editor level and what surfaces in the interviewer's post-session view.
| Detection field | HackerRank | CodeSignal | CoderPad | LeetCode (Interview) | Codility | Karat |
|---|---|---|---|---|---|---|
| Paste event timestamp | Yes | Yes | Yes | Yes | Yes | Yes |
| Character count | Yes | Yes | Yes | Yes | Yes | Yes |
| Full pasted content stored | Yes | Yes | Yes | Limited | Yes | Yes |
| Content hash | Yes | Yes | Yes | Yes | Yes | Yes |
| Internal vs external tag | Limited | Yes | Yes (yellow marker) | No | Yes | Yes |
| Source-app metadata (VS Code, JetBrains) | Limited | Yes | Yes | No | Limited | Limited |
| Surfaced on playback timeline | Yes | Yes | Yes (orange dot) | Limited | Yes | Live to interviewer |
| Surfaced in CSV / report export | Yes (Copy-Paste Frequency) | Yes | Yes | Limited | Yes | Yes |
| Rolled into composite suspicion score | Yes | Yes (Suspicion Score) | Yes (LLM classifier) | No | Yes (Similarity Check) | Interviewer judgment |
| Real-time interviewer notification | Optional in CodePair | Optional | Yes in Interview pad | No | Yes in CodeLive | Yes |
HackerRank surfaces a Copy-Paste Frequency column in the CSV export of the candidate report and the pasted content itself in the timeline view of the candidate's Summary Report. CodeSignal rolls each paste into its Suspicion Score with weighting that depends on context — a paste after a focus loss carries more weight than a paste during normal editing flow. CoderPad displays orange dots on the playback scrubber for external pastes and tooltips on hover. Codility's paste events appear in the candidate timeline alongside the focus events and edit history. LeetCode's interview product logs paste counts more quietly. Karat's interview pad surfaces the paste to the live interviewer in real time, which is consistent with the platform's emphasis on the structured human interview rather than the post-hoc report — the broader Karat detection landscape is covered in the Karat invisible AI breakdown.
Need a workflow that does not produce paste events at all? TechScreen runs as an invisible desktop layer outside the browser tab where the paste listener operates. Claim 3 free tokens at techscreen.app.
What the Paste Detector Structurally Cannot See
The paste listener runs inside the browser, attached to the editor's DOM node. Its observation surface ends at the boundary of that DOM node. There are several categories of activity that produce content in the editor but do not produce a paste event, and there are categories of paste events that the listener does not see because they happen somewhere else entirely.
The most important category is keyboard injection. Tools that simulate typing — AutoHotkey on Windows, Karabiner-Elements with custom macros on macOS, xdotool on Linux, hardware keyboard emulators that present themselves to the operating system as USB HID devices — emit individual keydown events for each character. The browser receives these as ordinary input events, the editor inserts the characters one by one, and the paste listener never fires because no paste action was invoked. The content arrives in the editor as if the candidate had typed it. This is the structural reason that platforms layered a typing cadence model on top of paste detection; the cadence model is the secondary signal that catches the bursts of clean uninterrupted typing characteristic of keyboard injection.
The second category is pastes that happen outside the editor. A candidate who has a second monitor with a Notion doc open and pastes content into the Notion doc is invoking the paste action in the Notion tab, not in the interview tab. The interview platform's paste listener is registered on its own editor and does not fire for paste actions in other tabs, let alone other applications. The platform sees nothing.
The third category is pastes into a different application entirely. A candidate who copies the problem description and pastes it into ChatGPT on a separate window produces a paste event in the ChatGPT input field. The browser dispatches that event to whichever listener is registered there. The interview platform does not see the paste because the paste did not happen in the interview tab. It can see the copy event from the problem description if the copy action was invoked on text rendered inside the interview tab, depending on configuration, but the destination of the paste is outside its observation surface.
Mini Q&A. If I paste into a different app and then retype the result in the editor, does the interview platform see anything? The retyping shows up as a normal sequence of input events. No paste event fires in the editor. The typing cadence model will see the rhythm of the retyping — long unbroken bursts of clean insertion with no edits are the pattern the model flags. The paste detector itself sees nothing about the external paste because it happened in a different application's listener.
False Positives and Legitimate Paste Reasons
Paste events are not inherently suspicious, and the platforms know this. The integrity reports treat paste events as one signal among many rather than as automatic disqualifiers, and the documentation on every major platform explicitly notes that a paste does not mean cheating. There is a long list of legitimate reasons a candidate might paste content into the editor during a normal interview.
The most common legitimate paste is the problem-description copy. Candidates frequently copy the problem statement to a notes app, to a second monitor, or to a scratch buffer in the same tab so they can work through it while looking at the editor. Most platforms either tag this as an internal paste or weight it down in the suspicion score because the source is the assessment itself.
The second common case is the helper-code paste. Interviewers in live sessions sometimes paste a snippet — a function signature, a data structure stub, a sample input — that the candidate is expected to work with. The candidate pasting this back into their own editor area is a normal interaction pattern. CoderPad's playback distinguishes interviewer-initiated pastes from candidate-initiated ones in the session log.
The third case is the IDE-shortcut paste. Candidates who use VS Code, JetBrains, or Vim with shortcuts that touch the clipboard for refactoring or multi-cursor operations can generate paste events that the editor reads as ordinary pastes. These show up in the log as small, frequent pastes during active editing, which has a different shape from a single large paste after a focus loss.
The fourth case is the legitimate code-reuse paste. Candidates who keep a personal library of helper functions — a binary search implementation they always use, a graph traversal template, a Trie class — and paste it in at the start of the problem are pasting content that is genuinely their own work. The platform cannot distinguish this from a paste of externally-generated code without human review of the session. This is one of the recurring patterns in the broader debate over whether using AI in coding interviews is cheating.
How Interviewers Read a Paste Log in Practice
The post-session report is where the paste log meets the human reviewer. Recruiters and interviewers do not read every paste event in detail; they scan the timeline and look for shapes. The shapes that draw attention are well-known and consistent across platforms.
A single large paste — typically more than a few hundred characters — immediately after a focus-loss event is the shape that triggers the most review. The candidate left the tab, came back, and dropped in a block of code. The platform did not need to know what happened during the focus loss to flag the pattern; the temporal alignment of the focus event and the paste event is enough. CodeSignal explicitly weights this pattern heavily in its Suspicion Score and HackerRank's plagiarism documentation calls it out by name.
A sequence of small pastes from a clearly internal source — the problem description, the starter code — is the shape that gets ignored. The hashes match content the candidate copied from inside the assessment, the sizes are small, and the timing is consistent with normal editing. The platform may log dozens of these in a single session without any of them affecting the integrity score.
A pattern of medium-sized pastes spread across the session, each one timed near a focus loss, is the shape that suggests a candidate working with an external tool in a loop. The platform does not need to see the external tool to identify the pattern; the rhythm of paste-after-focus-loss repeated several times is itself the signal. The same rhythm shows up in HackerRank's detection model and the CoderPad cheating detection breakdown.
Mini Q&A. Does a small paste from the problem description get flagged the same way as a large paste from outside? No. The platforms tag the source where they can, and most weight internal pastes down in the suspicion score. A 32-character paste that matches the first line of the problem statement is treated as a navigation aid. A 612-character paste with no matching source carries materially more weight in the integrity report.
The TechScreen workflow is designed to live entirely outside the paste-event surface, so the paste listener has nothing to log. 3 free tokens are available at techscreen.app for new users.
Common Mistakes Candidates Make About Paste Events
The misunderstandings cluster around two opposite errors: assuming the platform sees nothing because no warning appeared, and assuming the platform sees everything because a single paste happened. Neither is right. The list below covers the patterns that turn into real problems.
- Assuming silent means undetected. Paste events are logged silently. No warning, no notification, no visual indicator in the editor. The candidate does not see the log; the interviewer does, after the session. Many candidates leave the assessment confident that nothing was caught and learn otherwise when the recruiter asks them to explain a specific line of code.
- Pasting a self-written draft back into the editor. The platform sees the paste event and cannot tell that the content is the candidate's own work. The hash does not match anything internal to the assessment. The integrity report treats this paste the same way it treats a paste of externally-generated code. The defensive move is to compose in the editor directly.
- Trusting that disabling paste in the editor matters. Some platforms offer a configuration that blocks paste at the editor level. The configuration is enforced client-side and only prevents the editor from accepting the content. The paste event still fires, and the attempted paste is still logged.
- Confusing paste detection with AI detection. They are different layers. The paste detector logs that a paste happened. The AI classifier looks at the final code regardless of how it arrived. A candidate can paste internal helper code and look clean to the AI classifier; a candidate can type out LLM output one character at a time and look clean to the paste detector while lighting up the AI classifier.
- Assuming typing simulators are invisible. They are invisible to the paste detector specifically. They produce a distinctive cadence — long bursts of clean insertion with no edits — that the typing cadence model on most platforms flags as a separate signal. Bypassing paste detection through keyboard injection trades one detection surface for another.
- Pasting helper code at the start to "warm up" the editor. Some candidates paste a personal template or library at the start of the session. The paste shows up in the log as a single large paste at time zero. The integrity report shows the entire session beginning with a paste, which is exactly the shape the AI classifier is trained to flag.
Live versus Asynchronous: Where the Paste Log Lives
The lifecycle of the paste log differs between live and asynchronous interview formats. In an asynchronous assessment — HackerRank Test, CodeSignal GCA, CoderPad Screen, Codility CodeCheck — the candidate works alone and the platform builds a post-session report that the recruiter reviews later. Every paste event lives in that report. The recruiter sees the timeline, the timestamps, the character counts, the content where stored, and the composite integrity score. The candidate's defense against a paste-driven flag is to produce a session in which the paste log does not include high-signal events.
In a live interview — CoderPad Interview, Codility CodeLive, HackerRank CodePair, Karat's structured interview, Microsoft's interview pad — the interviewer is on a video call with the candidate in real time. The same editor is shared. Paste events are surfaced to the interviewer either as inline indicators in the editor or as side-panel notifications. The candidate's defense against a paste-driven flag is to either avoid pasting or to verbalize the paste — "I'm going to paste a helper function I always use for binary search" — so the interviewer has context.
The distinction matters because the interviewer's mental model is different in the two formats. In async, the recruiter is reading a report and looking for shapes that match known cheating patterns. In live, the interviewer is watching a candidate think and looking for shapes that match a candidate not thinking. A paste during a live session with no explanation reads as the candidate suddenly producing code they did not author. A paste during a live session with an explanation reads as a candidate efficiently reusing their own work. The overview of how AI interview assistants work and the comparison piece on the best invisible AI tools for technical interviews in 2026 both cover the live-versus-async distinction in more detail.
The same paste-event mechanics also apply at specific employers' interview environments — companies like Airbnb, Cloudflare, Notion, Linear, Pinterest, Shopify, Palantir, and Jane Street all run their live coding rounds on one of the platforms listed in the table above. The pad changes; the paste listener does not. The same goes for whether CodeSignal detects AI in 2026 and the companion Codility AI detection breakdown, both of which depend on the paste log as a foundational signal.
What It Means in Practice
The combined picture of paste-event detection across the 2026 interview platform landscape is straightforward to summarize. Every platform logs every paste event. The data is captured silently, surfaced in the post-session report, and used as a primary signal for the integrity layer. The paste detector cannot see paste actions that happen in other applications or other tabs. It cannot see content that arrives in the editor through keyboard injection rather than a paste action. It does not distinguish between a paste of the candidate's own code and a paste of externally-generated code without help from the source-app metadata or the content hash.
For candidates, the practical implication is that paste events are the single easiest signal to either trigger or avoid. Composing directly in the editor produces no paste log. Pasting once at the end produces one event, which is high-visibility on the timeline. Pasting in a loop across the session produces a rhythm that the integrity report will surface to the recruiter. The right defensive workflow depends on whether the candidate is in a live or async format, what platform is in use, and what the company's policy is on paste-driven flags.
For interviewers and recruiters, the practical implication is that the paste log is a high-precision signal but not a high-recall one. It catches candidates who paste; it does not catch candidates who do not. The platforms layer typing cadence detection, AI classifiers, focus tracking, similarity scoring, and webcam proctoring on top of paste detection precisely because no single signal closes the gap. The broader framing of the multi-layer detection problem is covered in the comparison of Google Meet versus Zoom AI detection in 2026, the is ChatGPT in Zoom interview detectable piece, and the deeper-dive on how to pass a proctored coding test in 2026.
TechScreen operates entirely outside the editor's paste-event surface and outside the screen capture buffer. 3 free tokens are available at techscreen.app for first-time users.
The Closing Frame
Paste-event visibility is the cheapest, most reliable, and most universally implemented detection signal in the 2026 interview platform stack. The mechanism is a single JavaScript listener on the editor, the data is straightforward to capture and store, and the interviewer-facing surface is built into every major product. Candidates often misjudge the system in both directions — assuming it sees nothing because no warning appears, or assuming it sees everything because they pasted once. The correct mental model is narrower and more specific than either: the platform sees paste actions invoked on its own editor, with timestamps, character counts, and content where stored, and it shows that data to the interviewer in a format that reveals the shape of the session.
Everything else about the candidate's environment — the second monitor, the desktop applications, the other browser tabs, the keyboard injection tools, the external workflows — is outside the paste detector's structural observation surface. The other layers of the integrity stack exist precisely because of that gap. The paste log is one signal among many, and the recruiter who reads the report is reading it as one piece of evidence in a longer reasoning chain. Treating paste detection as deterministic in either direction is the most common mistake on both sides of the interview.
Frequently Asked Questions
Can interviewers actually see every paste during a coding interview?
On every modern browser-based interview platform — HackerRank, CodeSignal, CoderPad, LeetCode, Codility, Karat, Microsoft's interview tool — yes. Each platform attaches a JavaScript paste listener to its editor, captures the event with timestamp and character count, and surfaces a paste summary in the interviewer's post-session report. The platforms differ in how prominently they display the data and whether they store the full pasted content, but the existence of the event is logged on all of them.
What information is captured in a paste event log?
At minimum, the timestamp, the character count, and the target location in the editor. Most platforms also capture a hash of the pasted text so they can detect repeated pastes of the same content, and several store the full text for the interviewer to read back. Some platforms additionally read clipboard format metadata to detect the source application, such as a language hint that indicates the paste came from VS Code or JetBrains.
Do paste events get flagged automatically or just logged?
Both, depending on the platform. HackerRank, CodeSignal, CoderPad, and Codility highlight paste events on the post-session playback timeline and roll them into a composite integrity score. LeetCode's interview product logs them more quietly. Karat's pad shows the paste to the interviewer in real time during the live session. A single small paste rarely auto-flags; a large paste after a focus-loss event typically does.
What is the difference between a paste event and a typing event for the platform?
A paste event fires on the editor when the user invokes the operating system paste action and the browser dispatches a ClipboardEvent. A typing event is a stream of keydown and input events, one per character. The platform sees these as structurally different signals. Pasted content arrives as a single ClipboardEvent with the full text; typed content arrives as a sequence of individual character events spread over time.
Can tools that simulate typing bypass paste-event logging?
Yes, for the paste-event layer specifically. Keyboard-injection tools, autotyping macros, and text-expander utilities emit individual keydown events instead of a single paste event, so the platform's paste listener does not fire. The content still arrives in the editor as if typed. However, the typing cadence model on platforms like HackerRank and Codility separately flags long unbroken bursts of clean insertion with no edits, which is the pattern these tools produce.
Does pasting from the problem description count?
Yes, the event still fires, but most platforms tag the source. CoderPad highlights external pastes in yellow on the playback timeline and leaves internal pastes uncolored. CodeSignal stores a hash and the interviewer can see whether the pasted content matches text the candidate copied earlier from the problem description. A paste from the problem statement is a low-signal event; a paste from outside the assessment window is a high-signal event.
What does the interviewer actually see in the post-session report?
On HackerRank, a Copy-Paste Frequency column in the CSV export plus the pasted content in the candidate report. On CodeSignal, a timeline with each paste event timestamped alongside focus events and a Suspicion Score contribution. On CoderPad, orange or yellow markers on the playback scrubber for external pastes. On Codility, paste events in the candidate timeline with length and hash. On LeetCode and Karat, paste counts and content surfaced in the interviewer's session view.
Is there any way to paste code without producing a paste event?
Not through the normal browser clipboard API. Any standard paste — Ctrl-V, right-click paste, Cmd-V on macOS, middle-click paste on Linux — triggers a ClipboardEvent that the platform's listener catches. The only way to get content into the editor without a paste event is to bypass the clipboard entirely, either by typing it manually or by using a tool that emits keystrokes rather than invoking the paste action. Both have their own detection footprints.
Ready to use AI assistance in your next interview?
TechScreen is the invisible AI assistant trusted by engineers interviewing at Google, Meta, Amazon, and hundreds of other companies. Start with 3 free tokens — no credit card required.
Ace your next interview →