click to copy
<script src="https://verifi.zo0p.dev/v.js"
data-site=""></script>
drop-in
<!-- add to <head> — auto-detects + challenges after 10s analysis -->
<script src="https://verifi.zo0p.dev/v.js"
data-site="YOUR_ID"></script>
embed widget
// renders an inline checkbox widget — like cf turnstileverifi.embed(
'#my-div', // selector or element'dark', // 'dark' | 'light''normal', // 'normal' | 'compact'
r => unlock(), // onPass — r.token, r.probability
r => block() // onFail — r.reason
)
config
verifi.config({
threshold: 0.6, // bot cutoff 0–1, default 0.45
autoChallenge: true, // show challenge automatically
onPass: r => unlock(), // r.probability, r.confidence
onFail: r => block(), // r.probability, r.reason
})
on-the-spot check
// runs a fresh challenge — good for login buttons, checkout, form submitverifi.check({
threshold: 0.6,
onPass: r => submitForm(),
onFail: r => showError(),
})