huluti/altcha-bundle
Symfony bundle that integrates ALTCHA, a privacy-friendly proof-of-work CAPTCHA, into your forms. Protect against spam and bots without cookies, tracking, or third-party services, with simple form type and validator support.
script-src/unsafe-inline carve-out. For PMs this is a real unlock: security-conscious products (or customers with procurement security questionnaires) often block CAPTCHA vendors precisely because the vendor's script can't be constrained by CSP. This bundle now lets you keep a tight policy on nonce/hash terms — a checkbox that used to be a reason not to adopt Altcha.huluti/altcha-bundle (tito10047 fork) will not drop into a Laravel app. If your product is Laravel, the decision this informs is "do we adopt Altcha at all?" — and then you solve it with the vanilla JS widget plus a custom verification endpoint, or a Laravel-specific wrapper, not this repo.composer.json before committing). On Laravel, Lumen, or a non-PHP frontend, stop here.unsafe-inline," re-run that evaluation — it may no longer apply.huluti/altcha-bundle to understand what tito10047 changed and why. The 3.1.0 notes show a mix of upstream work (CSP, from @Huluti) and fork-local work (the type-exception fix), so confirm both tracks land in the release you pin.To executives: Altcha is a free, MIT-licensed, self-hosted alternative to reCAPTCHA that keeps user data in our infrastructure and off Google's. This Symfony bundle is the integration layer — small, low-risk, and reversible. Adopting it removes a third-party processor from our privacy review and eliminates a per-request dependency on an ad-tech vendor's terms and pricing. Cost is engineering time, not license fees. The latest release (3.1.0) is a backwards-compatible minor bump: a bug fix and, more importantly, Content-Security-Policy support — which means we can adopt it without loosening the browser security policy that our security team and enterprise customers care about. Recommended as a scoped pilot on two or three low-risk forms before any wider rollout.
To engineering: It's a thin Symfony wrapper around the Altcha widget and challenge verification — expect configuration plus a form type/validator, not a framework. 3.1.0 adds configurable CSP support (PR #73) and fixes a type exception (PR #71); no breaking changes flagged, so the pin can move from 3.0.x to 3.1.x on the pilot. Caveats to state plainly: it's a small fork with ~20 stars and zero dependents, so we pin the version, vendor or review the source, add an integration test around the verify endpoint, and keep a feature flag to fall back to the current CAPTCHA. Also flag the framing mismatch up front: this is Symfony-only — if the target app is Laravel, we're evaluating Altcha, not this package, and the integration path is different.
Ask: one engineer, roughly one to two weeks, behind a flag, on non-critical forms, with a documented rollback. Extend scope slightly to validate the new CSP path against our current policy in staging. Success = no measurable drop in form completion and zero bot-mitigation regressions over a four-week window.
How can I help you explore Laravel packages today?