Bot detection: telling a bot from a human on your forms
A malicious bot is a program that uses your site against you: it sends spam through your forms, creates fake accounts, tries passwords. Antisy’s bot detection checks that each form submission comes from a browser and not from a program, with no puzzle for the visitor, and your server receives a verdict: allow or deny.
As of .
What is a bot, and when is it malicious?
A program that sends requests to a site in place of a person. Some are useful, such as the crawlers of search engines; others fill in forms, try passwords or create accounts in series.
A malicious bot is a bot that uses a site against the interest of its publisher or its users: it sends spam through the forms, creates fake accounts or tries passwords on the login page.
See: Glossary: robot (bot) · Glossary: malicious bot · Glossary: automated abuse
What do malicious bots do on a form?
They go wherever a site accepts a submission from anyone:
- the contact form, to send spam through it in bulk;
- the sign-up form, to create fake accounts on it, which they then abuse;
- the login page, to try passwords on it: credential stuffing, brute force, password spraying.
See: Use case: stopping contact form spam · Fake accounts and sign-up fraud · Use case: protecting a login from credential stuffing
How does Antisy’s bot detection tell a bot from a human?
A tag in the page loads Antisy’s script, which shows the visitor nothing. While the visitor fills in the form, the script counts the interactions and has the browser do a short computation in the background; at submission, it measures it and puts a short token in the hidden field antisy-token itself.
In the browser, the script measures the capabilities the browser declares, the languages and the time zone of the browser, the graphics rendering and the fingerprint of the device, signs of automation, the behaviour of the JavaScript engine and the course of the interaction. Antisy’s server reads the order of the HTTP headers, the IP address, the User-Agent and the request context. Never the image drawn, the name of the graphics card nor the content of the keystrokes and the fields.
Your server sends the token to Antisy with its secret. The measurement of the browser and the decision happen at Antisy; the answer is a verdict, allow or deny, and you decide what follows.
See: Home page: what the script measures, and for how long · Documentation: quick start
What is always refused?
Whatever the setting of the site, these submissions do not pass:
- An invalid, forged, replayed or expired token, in every mode. A token is verified only once: that of an accepted submission does not serve for a second one.
- A missing token, while browser collection is on for the site. A new site is created with collection off.
- A submission proven to be fabricated: a program made it rather than the browser.
- A token whose background computation was not finished in time, whatever the mode: a very slow device can therefore be refused.
Why does the verdict not say what gave a bot away?
The answer contains no score, no threshold and no reason, in any mode: a verdict, never the detail that produced it.
Each reason given would teach whoever is getting round the check what stopped them. The error codes only say what your integration must fix.
For the same reason, this page says what Antisy reads and what it always refuses, not the rules of its decision.
Can the strictness of bot detection be set?
Yes, site by site, on the dashboard (in French), with three modes: Strict, Balanced (the default) and Permissive. Strict: refuses earlier, at the risk of inconveniencing a few real visitors. Permissive: refuses only clear-cut cases, at the risk of letting more bots through.
A false positive is a real visitor wrongly refused. To measure wrongful refusals, your server can send the outcome false_positive to POST /v1/feedback; it is optional, and this signal changes no verdict live.
See: Documentation: how strictly to refuse · Glossary: false positive
What Antisy does not detect
- Bots that go through no protected form: Antisy gives a verdict only for the submission of a form it protects, and does not sit in the path of your traffic. Reading a page, by a person or by the robot of a search engine, receives no verdict.
- What is not a bot: a person who fills in a form themselves, even with bad intentions, sends from a real browser.
- Antisy is neither a firewall, nor a protection against flooding attacks, nor a payment anti-fraud tool, nor an e-mail filter.
No bot check is perfect, and Antisy announces no detection rate: such rates are measured on real traffic, during a pilot that has not started. It adds to the other defences of a site, such as limiting attempts or a second factor; it does not replace them.
See: Frequently asked questions: does Antisy stop every bot?
Where does Antisy stand?
Access is by waiting list. The API and the dashboard (in French) have been in service since 27 October 2026, hosted at Infomaniak in Geneva; no customer is in production yet. A pilot is planned; it has not started.
Protecting a login or a sign-up goes through a Node server kit (Express, Fastify, Next.js) that will be published on npm; it is not yet.
See: The pilot · Join the waiting list
Frequently asked questions
How can you tell whether a visitor is a bot or a human?
On a form protected by Antisy, you do not have to guess: your server sends the token of the submission to Antisy and reads the verdict, allow or deny. The answer never says why.
No bot check is perfect, and Antisy announces no detection rate.
Does Antisy block the robots of search engines?
No. Antisy gives a verdict only for the submission of a form it protects; reading a page receives none, and Antisy does not sit in the path of your traffic.
Do you need a CAPTCHA to detect bots?
No. A CAPTCHA asks the visitor to prove they are human: tick a box, recognise images, solve a puzzle. Antisy asks the visitor for nothing and shows nothing; their browser only does a short computation in the background. This kind of check is sometimes called an “invisible CAPTCHA”.
See also: Fake accounts and sign-up fraud · Use cases: contact form, login, sign-up · Comparisons: Antisy and the other services · Glossary