Account takeover protection for logins and password resets
Someone targeting one specific account, working password reset, resend-code and contact-change routes rather than the login box.
How an account takeover attempt works
The attacker POSTs forgot-password repeatedly, then works resend-code until the victim approves. Paced like a person through a residential proxy: two hundred pushes at one account in ten minutes.
How PrivCaptcha stops account takeover
Four steps, with the numbers the server uses. Nothing here is configured by you.
Resend and change, not just login
Widget on the reset-request form, the resend-code control, the contact-change forms. List your domains and a phishing copy of your reset page is refused.
One token authorises one send
A challenge mints one token, the verify before the send spends it. Two hundred pushes means two hundred challenges.
Score climbs on failure, not volume
Real browsers start at 20, level 2. Failures add +8, capped +40. Five wrong reach 60: level 4 on the visual path, 10 degrees, 6 pixels.
Verify before the message goes out
The verify sits ahead of the side effect: before the reset mail is queued, the code sent.
Add PrivCaptcha to your password reset form in two lines of code
Script tag, container in front of the submit button, and your existing verify call. Already on reCAPTCHA or hCaptcha? That backend code stays exactly as it is.
The reset form, the resend controls, the email, phone and 2FA-change forms.
Call siteverify before the side effect fires. A missing or redeemed token must fail.
Verifying once per recovery flow and letting resends ride on it. Tokens are single-use. Fresh widget per send.
What this does not solve about account takeover
Session hijack is untouched: a stolen cookie replayed against your API renders no widget. Patient humans still get through.
Common questions about account takeover
How PrivCaptcha prices account takeover, and what it does not do about it.
Put PrivCaptcha in front of your password reset form
10,000 verifications a month are free, and the integration is the one you already have.