--- title: "Captcha Control" slug: "captcha-control" updated: 2025-12-10T22:33:50Z published: 2025-12-10T22:33:50Z canonical: "docs.processmaker.com/captcha-control" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.processmaker.com/llms.txt > Use this file to discover all available pages before exploring further. # Captcha Control The Captcha control is used to distinguish between human users and automated bots. Use this control to confirm that the human is filling out the form and prevent spam, fraud, and other malicious activities. > This control is only available for Form-type Screens. See [Screen Types](/v1/docs/screens#screen-types). Watch the following product tour to learn how to use a Captcha control. [Embedded content](https://cdn.iframe.ly/soyiaSb) --- ## Add the Control to a Screen **Permissions and Best Practices** ### Permissions Required Your user account or group membership must have the following permissions to design a Screen unless your user account has the **Make this user a Super Admin** setting selected: - Screens: Edit Screens - Screens: View Screens See the [Screens](/v1/docs/permission-descriptions-for-users-and-groups#screens) permissions or ask your Administrator for assistance. ### Design Best Practice [Avoid adding more than 25 controls in one Screen](/v1/docs/screen-design-best-practices#number-of-screen-controls) Follow these steps to add this control to a Screen: 1. [Create a new Form-type Screen](/v1/docs/create-a-new-screen) or [edit an existing one.](/v1/docs/manage-screens#edit-a-screen) 2. From the Controls Menu on the left, expand the **Advanced** category, and then locate the **Captcha** control ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/4370855d-a085-468f-b33c-c83de399e783.png). 3. Drag and drop the control to the Screen Builder canvas. Existing controls in the Screen will adjust positioning based on where you drag the control. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/4708e250-05d0-4fd4-9812-bc22f9842b7d.png) 4. Configure the Captcha control. See [Settings](/v1/docs/captcha-control#settings). 5. Validate that the control is configured correctly. See [Validate Your Screen](/v1/docs/validate-and-publish-a-screen#validate-a-processmaker-screen). The following screen uses a Captcha control to verify that the new hire is human. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/88c3cd25-cb55-42ac-b83f-23d4f6195cb4.png) --- ## Settings The Captcha control has the following configurable settings in the Properties Panel: - [**Variable** panel](/v1/docs/captcha-control#variable-panel-settings) - [**Configuration** panel](/v1/docs/captcha-control#configuration-panel-settings) - [**Advanced** panel](/v1/docs/captcha-control#advanced-panel-settings) --- ### Variable Panel Settings Expand the **Variable** panel from the Properties Panel on the right to configure the following properties: #### Variable Name The **Variable Name** setting is used to reference control data during Requests. Ensure that the **Variable Name** setting value is a unique name in this [Screen](/v1/docs/screens) and contains at least one letter. This is a required setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/b00c21f3-0caf-4afb-b6e5-2301c7f1551d.png) A **Variable Name** can be used in the following ways: - Reference this control by its **Variable Name** setting's value. The **Data Preview** panel in Preview mode represents the state of the Captcha control using its **Variable Name** value in the Request's JSON data model. - Reference this control's value in a different Screen Builder control. To do so, use [mustache syntax](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/mustache.5(2).html) and reference this control's **Variable Name** value in the target control. Example: `{{ captcha }}`. - Reference this value in [**Visibility Rule** setting expressions](/v1/docs/captcha-control#visibility-rule). See [best practices](/v1/docs/screen-design-best-practices#naming-request-variables-for-screen-controls) when editing a Request variable name. #### Required Select to indicate that this control is required. This option is selected by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/fdae43a2-3468-4b7e-900c-24af7dd41b3e.png) ### Configuration Panel Settings Expand the **Configuration** panel from the Properties Panel on the right to configure the following properties: #### Google reCaptcha Sitekey In the **Google reCaptcha Sitekey** setting, enter an available Google site key. For more information on how to get a site key, see [Register a new site](https://www.google.com/recaptcha/admin/create). ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0df8835d-a99c-4685-b014-bb0022ce79f0.png) An example of a site key is `6Ld9r3opAAAAACkK_pLxthCAmr-Hqkhj2DJFSLly`. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2255fbbb-bfed-48f9-a2be-0529443ebcbd.png) The Captcha control displays an error if the site key is invalid. ### Advanced Panel Settings Expand the **Advanced** panel from the Properties Panel on the right to configure the following properties: #### Visibility Rule Specify an expression that indicates the condition(s) under which this control displays. See [Expression Syntax Components](/v1/docs/feel-expression-syntax#show-or-hide-screen-builder-controls). If this setting does not have an expression, then this control displays by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/7b6032ac-0ef8-4bc2-89a0-c0e144237a44.png) For example, this control displays if the variable value **tip** is **1**. For a detailed example of the Visibility Rule setting, see [Show or Hide Controls Based on Button Selection](/v1/docs/example-show-or-hide-controls-based-on-button-selection). Note the following regarding how to use visibility rules: - To make this control hidden until another control contains a value, enter the **Variable Name** setting value of that control in this control's **Visibility Rule** setting. - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings). #### Device Visibility Select the device types on which this control will be displayed: - **Desktop:** The control will be displayed only on desktop devices. Enable the **Show for Desktop** toggle key. - **Mobile:** The control will be displayed only on mobile devices. Enable the **Show for Mobile** toggle key. - **Both:** The control will be displayed on both desktop and mobile devices. Both toggle keys are enabled by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0dfec60d-79cf-426d-aacc-6f737fa8b709.png) #### CSS Selector Name Enter a value representing this control in custom CSS syntax when in [Custom CSS](/v1/docs/custom-css#add-custom-css-to-a-processmaker-screen) mode. As a best practice, use the same **CSS Selector Name** value on different controls of the same type to apply the same custom CSS style to all those controls. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/af0db014-b7ce-4444-9d42-f30b4299d294.png) Then, use this name in the [Custom CSS](/v1/docs/custom-css#apply-css-to-specific-processmaker-screen-controls) feature to apply CSS styling to this control as follows: ```plaintext [selector='Submit Form'] {    color: blueviolet; } ``` See the following best practices regarding custom CSS in Screens: - [Editing a CSS name to represent this control in custom CSS syntax](/v1/docs/screen-design-best-practices#css-selector-naming-best-practice) - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings)