Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Recaptcha Bundle Laravel Package

mael/recaptcha-bundle

Mael RecaptchaBundle integrates Google reCAPTCHA into your PHP application's forms to help block spam and automated bot submissions. It provides straightforward configuration and server-side verification of user responses, making it easy to add basic bot protection to existing forms.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Which surfaces get bot protection first. The package is a thin Symfony FormType + Twig widget around Google's reCAPTCHA, so it mainly helps a PM scope where abuse protection matters (contact, signup, password reset, checkout, comments) rather than decide strategy. That prioritization is the real product call this informs.
  • Build vs. buy on the integration layer. The deliverable is roughly 60–120 lines: render api.js, emit g-recaptcha-response, POST to siteverify, check success. This package is a useful reference shape, but it saves almost no effort over writing it ourselves — so the answer to "build vs. buy" is almost always "build small and own it."
  • CAPTCHA vendor selection. Because it predates common reCAPTCHA v3/Enterprise usage, evaluating it forces the upstream question: do we standardize on Google reCAPTCHA, or on Cloudflare Turnstile / hCaptcha for privacy, UX, and GDPR reasons? That's a deliberate product and compliance decision, not something to inherit by default.
  • Dependency and ownership posture. 2 stars, 0 dependents, last release May 2020, score 0.01. The decision this clearly supports is don't take a production dependency on an abandoned package; if we like the pattern, we fork it deliberately under our own ownership or reimplement it.
  • Platform reality check. The package is a Symfony bundle, not a Laravel package. On a Laravel codebase the decision it informs is the equivalent Laravel option (biscolab/laravel-recaptcha, anhskohbo/no-captcha, or Google's thin google/recaptcha SDK) wrapped in our own form-request validation rule.

When to Consider This Package

Consider it only if all of the following hold:

  • You run a Symfony app (probably 3.x/4.x/5.x era given the 2020 release) and specifically want a quick FormType + Twig widget for reCAPTCHA v2.
  • You accept owning a fork, because there is no upstream maintenance and no security release cadence.
  • The surface is a small, low-traffic, internal, or non-revenue form where a checkbox challenge is acceptable UX.

Look elsewhere or build in-house when:

  • You are on Laravel — the bundle cannot be installed or reused directly; use a maintained Laravel package or a small in-house validator.
  • You need v3 score-based or invisible flows with action/score threshold checks — the 2020-era bundle likely doesn't cover that decision space.
  • Privacy/compliance is a concern (GDPR, third-party data transfer) — evaluate Turnstile/hCaptcha and a privacy notice before adopting any CAPTCHA.
  • Nobody on the team can own a fork. An abandoned 2-star dependency is a liability, not a shortcut.

How to Pitch It (Stakeholders)

To executives: Bot traffic on public forms is a real abuse and conversion risk, and CAPTCHA is cheap to implement but very visible in the signup funnel. My recommendation is not to adopt this specific package — it's been unreleased since 2020, has effectively zero adoption, and is Symfony-only, which doesn't match our Laravel stack. Instead, use it as a template for a small, owned integration. Estimated engineering cost is 1–2 days either way; the real decision is which CAPTCHA vendor we standardize on (Google reCAPTCHA vs. Cloudflare Turnstile vs. hCaptcha), which carries privacy and UX implications worth a short review.

To engineering: The work is small — a validation rule/form request, a Blade component, and config, roughly one to two days. Don't take a dependency on a 2-star, 2020-era Symfony bundle with no maintainer. Either fork it deliberately or (better) write the ~100 lines ourselves so we control the reCAPTCHA version (v2 vs. v3), the score thresholds, and the failure/fallback behavior when Google is unreachable. Keep the verifier behind an interface (verify(string $token, ?string $ip, ?string $action): Result) so we can swap vendors later, store secrets in .env only, enforce TLS on the outbound siteverify call, set a hard timeout (~2s), and decide fail-open vs. fail-closed per surface (fail closed on registration, fail open on low-risk contact forms). On Laravel, start from a maintained package and wrap it in our own form request rather than porting this bundle.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels