How we check for AI

Every response to a SampleLabs survey is checked before it counts. Our checker, Dot, looks for bots, AI-written answers, people rushing through and people answering twice. This is exactly what it looks at.

The checks

You can switch each one on or off for every survey.

Spotting a script in a real browser

Some bots don't fill in forms directly. They drive a real browser, the way AI agents and tools like Browserbase do, so they pass the usual "are you human" checks. Part of the bot trap is watching how the pointer and keyboard are used. Each check needs several clicks, moves or key presses before it judges, so one odd moment never gets a person flagged.

People who tap on a phone or tablet, use only a keyboard, or use a screen reader leave no mouse clicks or moves to judge, so the pointer checks can never catch them. Dot only notes timings and positions on the survey page, never what anyone types. These checks work on surveys built in SampleLabs.

Checking the note itself

The checks above read a note the person's own browser writes, so a clever bot might try to block it or write its own. Dot checks the note against things it knows for itself: our own clock, the answers that arrived and what the browser says it is. Before any of these could flag anyone, we ran them over nearly 1,900 real survey responses, and they caught none.

Someone who answers a whole survey on a computer with only the keyboard is marked "Keyboard only (have a look)", so you can judge the answers yourself. That mark never turns anyone away: people who can't use a mouse are real people too.

Where a response comes from

Dot also looks at where each response comes from. For now it only takes notes on these: they don't flag anyone or turn anyone away yet. Every morning we measure each one against our own bots and against real people we trust, so a student on a busy campus network or someone on holiday never gets caught by mistake. A check only starts flagging once it catches bots without catching people.

Dot keeps the address rough, with its last part dropped. The full address is only kept scrambled, so a repeat can be matched but the address can never be read back.

When Dot catches something

You decide what happens, and you always see what was caught and why.

Surveys built somewhere else

Built your survey in Google Forms or Qualtrics? Dot can still guard it. People go through a short check page first, which runs the bot trap, too fast, duplicates and the attention check before sending them on to your survey. Dot can only read open answers in surveys built in SampleLabs, so the AI-written answer check needs a SampleLabs survey.

See Protect