OpenPorte Spam Protection
OpenPorte is a community-maintained fork of the ALTCHA Spam Protection plugin for WordPress (version 1), which provides a free, open source, self-hostable, privacy-friendly CAPTCHA alternative based on a proof- of-work mechanism — no cookies, no tracking, GDPR-friendly by design.
For the list of contributors, refer to our GitHub project: Contributors.
AI-assisted development
AI-assisted project. Architecture, security decisions, and final review are mine; AI tools (Claude, Mistral, and others) help with drafting code, tests, translations, and documentation — without them, one person couldn't keep this fork alive.
Background
The original ALTCHA WordPress plugin (v1) was open source (GPLv2). Its authors have since released a version 2/3 which is no longer open source, and some features that were free in v1 are now paid. They no longer maintain v1 and recommend that users migrate to v2/v3. See the official project at https://altcha.org for their offering.
OpenPorte continues the v1 line as free software (GPLv2 or later) for users who want to stay on a fully open-source, self-hosted solution. It is a faithful fork: existing v1 installations can switch to OpenPorte and keep their settings (see Upgrading).
Compatibility
OpenPorte is backward-compatible with ALTCHA v1:
- Your existing settings are migrated automatically on activation.
- The
[altcha]shortcode keeps working (alongside the new[openporte]). - The
altcha_*filters and actions keep firing as deprecated aliases.
See the Deprecations section for the full list of compatibility aliases and what they map to.
Upgrading
From the original ALTCHA v1 plugin
Deactivate the old ALTCHA plugin, then install and activate OpenPorte. Your existing configuration is detected and copied into the OpenPorte settings on first activation; the original ALTCHA settings are left untouched, so you can roll back to ALTCHA v1 without losing anything. Do not run both plugins at the same time.
Deprecations
The following ALTCHA-era identifiers are kept as aliases for backward compatibility and are scheduled for removal in a future release:
- The
[altcha]shortcode — use[openporte]. - The
altcha/v1REST namespace — useopenporte/v1. - The
altcha_*filters and actions — now firing through WordPress' deprecated hook mechanism; use theopenporte_*equivalents. - The
AltchaPluginclass and theALTCHA_VERSION/ALTCHA_WIDGET_VERSIONconstants — useOpenPortePluginand theOPENPORTE_*constants. - Integrations targeting paid-only third-party plugins; affected users should migrate to the official ALTCHA v2/v3 plugin.
Privacy
No cookies, no tracking
OpenPorte prioritizes user privacy by avoiding the use of cookies and fingerprinting techniques.
No external service
This plugin remains fully contained within your WordPress installation, eliminating any reliance on external services.
Modes of Operation
OpenPorte verifies submissions in one of two modes, selected in the settings (API Mode):
- Self-hosted (default) — a proof-of-work challenge is issued and verified by your own WordPress site through the REST API. Fully self-contained, with no external service and no additional setup beyond enabling the integrations you need.
- Custom — point the Challenge URL at your own ALTCHA-compatible backend (for example a self-hosted ALTCHA Sentinel). Submissions are verified with your site's signing secret.
The paid altcha.org regional SaaS classifier offered by earlier versions has been removed; both remaining modes are free and self-hostable.
REST API
This plugin requires the WordPress REST API. If you are using any "Disable REST API" plugins, ensure that the endpoint /altcha/v1/challenge (marked for deprecation) and /openporte/v1/challenge are allowed.
Supported Integrations
- CoBlocks
- Contact Form 7
- Elementor Pro Forms (deprecated — paid plugin, see Deprecations)
- Formidable Forms
- Forminator
- GravityForms
- HTML Forms
- WPDiscuz
- WPForms
- WP-Members
- WordPress Login, Register, Password reset
- WordPress Comments
- WooCommerce
- Custom HTML (via the
[openporte]shortcode, or the deprecated[altcha]alias)
Source Code
All source code for the plugin, and the ALTCHA widget is available on GitHub. In the repository, you'll also find versions of non-minified JavaScript and CSS assets:
- Plugin: https://github.com/jcberthon/openporte
- ALTCHA Widget: https://github.com/altcha-org/altcha