plone.formwidget.hcaptcha is a z3c.form HCaptcha widget for use with Plone.
It is a re-work of the plone.formwidget.recaptcha package original written by Timo Stollenwerk.
There is a control panel at http://path/to/site/@@hcaptcha-settings to configure the Addon.
HCaptcha provides test keys, that can be used to try out the hcaptcha form and
documentation at https://docs.hcaptcha.com/.
Site key: 10000000-ffff-ffff-ffff-000000000001
Secret key: 0x0000000000000000000000000000000000000000
To actually use the service, you must obtain a site key and secret key from https://www.hcaptcha.com/signup-interstitial
According to the official hCaptcha documentation (https://docs.hcaptcha.com/#server), the token verification endpoint is:
https://api.hcaptcha.com/siteverify
This package now uses api.hcaptcha.com by default instead of hcaptcha.com.
If you need to change the host (e.g. staging or internal testing), set the environment
variable before starting your Plone instance:
HCAPTCHA_VERIFY_SERVER=api.hcaptcha.com
If the variable is not defined, the safe default (api.hcaptcha.com) will be used.
See the demo folder inside the distribution for an example usage.
You can add a captcha field in an XML model by adding something like this:
<field name="captcha" type="plone.formwidget.hcaptcha.HCaptchaWidget">
<title>Solve Captcha</title>
<description></description>
</field>Contributors please read the document Process for Plone core's development
Sources are at the Plone code repository hosted at Github.
TODO: List our awesome features
Install plone.formwidget.hcaptcha with pip:
pip install plone.formwidget.hcaptchaAnd to create the Plone site:
make create-site- An operating system that runs all the requirements mentioned.
- uv
- Make
- Git
- Docker (optional)
-
Clone this repository, then change your working directory.
git clone [email protected]:plone/plone.formwidget.hcaptcha.git cd plone.formwidget.hcaptcha
-
Install this code base.
make install
This package provides markers as strings (<!-- extra stuff goes here -->) that are compatible with plonecli and bobtemplates.plone.
These markers act as hooks to add all kinds of subtemplates, including behaviors, control panels, upgrade steps, or other subtemplates from plonecli.
To run plonecli with configuration to target this package, run the following command.
make add <template_name>For example, you can add a content type to your package with the following command.
make add content_typeYou can add a behavior with the following command.
make add behaviorYou can check the list of available subtemplates in the [`bobtemplates.plone` `README.md` file](https://github.com/plone/bobtemplates.plone/?tab=readme-ov-file#provided-subtemplates).
See also the documentation of [Mockup and Patternslib](https://6.docs.plone.org/classic-ui/mockup.html) for how to build the UI toolkit for Classic UI.
The project is licensed under GPLv2.
Generated using Cookieplone (0.9.10) and cookieplone-templates (c0b5a93) on 2025-11-14 18:16:57.945239. A special thanks to all contributors and supporters!