Skip to content

CAPTCHA Types

Procaptcha’s default frictionless feature dynamically detects if the user is a bot or a human. If the user is likely to be a bot, the user will be presented with an image CAPTCHA challenge. If the user is likely to be a human, the user will not be presented with an image CAPTCHA challenge and will instead solve a simple, invisible Proof of Work (PoW) challenge.

Serve different types of CAPTCHA by setting the captchaType to frictionless, pow, image.

<div class="procaptcha" data-sitekey="your_site_key" data-captcha-type="frictionless"></div>
document.getElementById('procaptcha-script').addEventListener('load', function () {
function onCaptchaVerified(output) {
console.log('Captcha verified, output: ' + JSON.stringify(output))
}
// Get the Element using elementId
const captchaContainer = document.getElementById('procaptcha-container')
window.procaptcha.render(captchaContainer, {
siteKey: 'YOUR_SITE_KEY',
theme: 'dark',
callback: onCaptchaVerified,
captchaType: 'image', // `pow` or `frictionless`
})
})

A Proof of Work (PoW) CAPTCHA challenge requires the user to solve a computational puzzle before submitting the form. It is easy for humans to solve but computationally expensive for bots.

prosopo procaptcha pow captcha challenge

The Proof of Work CAPTCHA type does not interrogate the user’s browser environment, use frictionless for that (above).

An image CAPTCHA challenge requires the user to select the correct image(s) that match the given prompt.

prosopo procaptcha image captcha challenge

The Image CAPTCHA type does not interrogate the user’s browser environment, use frictionless for that (above).