This module allows to use a Captcha System completly handled by Odoo.
It relies on Altcha (https://altcha.org), an OpenSource captcha alternative.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Adds a self-hosted, privacy-friendly Altcha captcha to website forms, sign-up, password reset and login pages, so visitors must prove they are human before submitting. Captcha settings are configured per website.
This module lets you protect public website forms against bots without sending data to an external captcha service. Everything is generated and checked inside Odoo.
Where it appears: - A new "Altcha" block in the website settings screen, right after the cookies bar setting. It has an enable switch plus fields for the secret keys, the hashing algorithm, the timeout and the cost. - The captcha widget is automatically inserted before the submit button of website forms, and on the sign-up, password reset and login forms. - A demo page at /website_altcha_demo shows how the widget is placed in forms.
Business rules and automatic behaviour: - Turning the switch on generates the two secret keys automatically; turning it off clears them. - Each captcha challenge is stored with an expiry date, and a scheduled cleanup deletes expired entries. - When a protected form is submitted, Odoo checks the captcha answer. If it is missing, invalid, expired or already used, the submission is refused with a "Suspicious activity detected by Altcha" error. - Each captcha can only be used once. - Defaults: PBKDF2/SHA-512 algorithm, 5-minute expiry, cost 5000.
It touches the website configuration, the website settings screen and the HTTP request handling, and adds a new internal model altcha.key for issued captchas.
Depends on
Required by other modules
Models and fields (4)
- ir.http · extends an existing model
- website · extends an existing modelaltcha_key, altcha_cost, altcha_timeout, altcha_algorithm, altcha_private_key
- altcha.key · new modelkey, used, expires_at
- res.config.settings · extends an existing modelaltcha_key, altcha_cost, altcha_enabled (Enable Altcha), altcha_timeout, altcha_algorithm, altcha_private_key
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/website.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0Go to Configuration/Website, check "Enable Altcha" under "Privacy". Some extra parameters will appear with all the ALTCHA information. This parameters are website dependent.
altcha_key: This key is made to create the challenge and review it later
Also, the system adds the option to use some extra parameters:
altcha_secret_key: Key used to use deterministic mode. Using it will make it faster from a server perspective.altcha_algorithm: Algorithm used, by defaultPBKDF2/SHA-512, however, we can use:- Fast ones only for testing purposes:
SHA-256,SHA-384,SHA-512 - Good by default:
PBKDF2/SHA-256,PBKDF2/SHA-384,PBKDF2/SHA-512 - Memory Hard:
SCRYPT. To be implemented - Memory Hard (it required argon2-cffi):
ARGON2ID. To be implemented altcha_timeout: Number of minutes that we will trust the key, by default 5altcha_cost: Cost of the challenge. By default, 5000
No verified information in OCA: Installation, Usage.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.