buzz/laravel-google-captcha
Laravel integration for Google reCAPTCHA v2 and v3, adding validation rules, Blade directives and helpers to render and verify captchas. Configurable site/secret keys, score thresholds and error messages help protect forms from spam and bots with minimal setup.
Feature-level decisions
captcha, recaptcha) plus config/Blade helpers for Google reCAPTCHA v2 (checkbox/invisible) and v3 (score-based). It supports decisions like "can we open public registration this quarter?" or "can we ship a contact form / waitlist / review submission without the spam flood we saw in the beta?"Roadmap and build-vs-buy
.env key, and a handful of view/form edits — hours, not a sprint. Custom risk engines are a later-stage investment justified only by scale or by specific fraud patterns this can't see.BotGuard-style interface and treat the provider as swappable." That keeps the door open for Cloudflare Turnstile, hCaptcha, or a first-party challenge if privacy posture, cost, or efficacy changes.Use cases in practice
Adopt it when:
Look elsewhere when:
For executives — one paragraph: "We're adding bot protection to our public forms in about a day of engineering, at zero license cost, using a mature, standard Google service wrapped for our framework. It directly protects the flows where fake accounts cost us money — signup, login, password reset, and checkout — and it cleans up the funnel data we use to make product decisions. Two caveats worth a decision: user interaction data is shared with Google, which we should confirm is acceptable for our markets and privacy policy, and this is a small open-source dependency rather than a supported vendor product, so we're deliberately keeping the provider swappable."
For engineering — the ask:
.env and secrets manager, apply the validation rule to N endpoints, update forms with the Blade directive, add a test-mode bypass for local/CI.For risk/legal — the flag: Consent and DPA review for third-party data transfer; update the privacy policy and cookie disclosures; document the retention and fallback story in case the provider relationship changes.
How can I help you explore Laravel packages today?