Widget does not render
Check that widget.js is loaded, not blocked by consent or corporate security tools, and that the custom element is named human-proof.
Domain rejected
Add the exact production or testing hostname in the project configuration and wait for the challenge engine sync. If project creation or saving is blocked, check whether the production domain is already assigned to another project in the same organization.
Verification failed
Ensure the backend secret belongs to the same project as the public site key and verify each token only once.
Consent or gateway blocks script
Self-host the widget script from your own domain and keep data-api-endpoint pointed at HumanProof.
Local SSL error
When testing local HTTPS backends, make sure your server trust store accepts the local certificate or use the public test keys.