PHPackages                             comvation/fusionform-hcaptcha - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. comvation/fusionform-hcaptcha

ActiveNeos-package[Validation &amp; Sanitization](/categories/validation)

comvation/fusionform-hcaptcha
=============================

hCaptcha field and validator for Neos.Fusion.Form

v1.1.0(4mo ago)083MITPHPPHP ^8.2

Since Jul 21Pushed 4mo agoCompare

[ Source](https://github.com/Comvation/fusionform-hcaptcha)[ Packagist](https://packagist.org/packages/comvation/fusionform-hcaptcha)[ RSS](/packages/comvation-fusionform-hcaptcha/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (4)Used By (0)

hCaptcha for Neos.Fusion.Form
=============================

[](#hcaptcha-for-neosfusionform)

Integrates the hCaptcha into any Neos.Fusion.Form.

Inspired by sitegeist/Sitegeist.FusionForm.FriendlyCaptcha.

Requirements
============

[](#requirements)

- Neos
- Composer

Supported and Tested Versions
-----------------------------

[](#supported-and-tested-versions)

Neos from 8.0 up to and including 9.0.x.

Installation
------------

[](#installation)

Add the plugin, and install the dependencies:

```
composer require comvation/fusionform-hcaptcha
composer install
```

Usage
-----

[](#usage)

Add the captcha field and validator to your form content and schema, respectively:

```
prototype(Vendor.Site:RuntimeForm) < prototype(Neos.Fusion.Form:Runtime.RuntimeForm) {
  process {
    content = afx`
      [...your form contents...]

    `
    schema {
      [...your schema entries...]

      h-captcha-response = ${Form.Schema.string().isRequired()}
      h-captcha-response.@process.captchaValidator = ${value.validator('Comvation.FusionForm.HCaptcha:HCaptcha')}
    }
  }
  action { [no changes required] }
}

```

Add the key and secret, as well as other desired configuration to your Settings.yaml.

Note: Only a few selected configuration options are available in the settings for now.

```
Comvation:
  FusionForm:
    HCaptcha:
      siteKey: ''
      siteSecret: ''
      size: 'invisible' # optional, default is "normal"
      theme: 'dark' # optional, default is "light"
```

See [hCaptcha docs](https://docs.hcaptcha.com/#integration-testing-test-keys)for details on the available options, as well as test keys.

Using a Custom Button
---------------------

[](#using-a-custom-button)

By default, the plugin presumes that the form uses a standard form submit button.

If that isn't the case, specify a selector attribute that exclusively matches your button.

For example, this one

```
footer = afx`
  Send
`

```

may be used by adding the selector attribute

```

```

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance78

Regular maintenance activity

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~178 days

Total

2

Last Release

123d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1a87f7310cb2621e4b4cb03f5a29182fec334c100b9fdfb844cf3d59be6e5106?d=identicon)[comvation](/maintainers/comvation)

---

Top Contributors

[![soeren-san](https://avatars.githubusercontent.com/u/100858270?v=4)](https://github.com/soeren-san "soeren-san (20 commits)")[![olimination](https://avatars.githubusercontent.com/u/662924?v=4)](https://github.com/olimination "olimination (2 commits)")

### Embed Badge

![Health badge](/badges/comvation-fusionform-hcaptcha/health.svg)

```
[![Health](https://phpackages.com/badges/comvation-fusionform-hcaptcha/health.svg)](https://phpackages.com/packages/comvation-fusionform-hcaptcha)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)[xemlock/htmlpurifier-html5

HTML5 support for HTML Purifier

1052.9M11](/packages/xemlock-htmlpurifier-html5)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
