v0.4.0
Opt-in decision logging
Adds a Debug logging toggle (Forms → Settings → ALTCHA, off by default) that records every protection decision so behaviour can be verified through the logs:
[gravityforms-altcha] altcha: fail {"form":43,"reason":"replay"}
[gravityforms-altcha] rate_limit: blocked {"form":12}
[gravityforms-altcha] content_filter: spam {"form":7,"score":3,"signals":["keyword"]}
[gravityforms-altcha] email_validation: blocked {"form":7,"status":"undeliverable","domain":"example.com"}
- Covers ALTCHA (pass/fail + reason), rate limiting, content filtering (score + signals), and email validation.
- Privacy-safe: IPs only as a salted hash, emails as the domain only — never raw.
- Routable via the
genero/gravityforms_altcha/logaction (Sentry, Query Monitor);genero/gravityforms_altcha/loggingfilter to force on/off.
See #3.