OdooWiki OCA HUB

Password Security

password_security folder_open OCA/server-auth open_in_new
Base License: LGPL-3

This module allows admin to set company-level password security requirements and enforces them on the user.

It contains features such as

  • Password expiration days
  • Password length requirement
  • Password minimum number of lowercase letters
  • Password minimum number of uppercase letters
  • Password minimum number of numbers
  • Password minimum number of special characters

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Lets administrators define company-wide password rules (expiry, minimum length, required lowercase/uppercase/digits/special characters, reuse history, waiting time between changes) and enforces them whenever users set or reset a password.

Administrators get a new "Password Policy" block in the general settings screen where they can set: - how many days before a password expires; - how many hours a user must wait before changing the password again; - how many previous passwords cannot be reused (0 disables, a negative number means unlimited); - the minimum number of lowercase letters, uppercase letters, digits and special characters.

When a user creates an account or changes a password, Odoo checks the new password against these rules and refuses it with a clear message listing what is missing. Each accepted password is stored (encrypted) in a password history so reuse can be blocked; users only see their own history entries.

When a password has expired, the user is logged out at login (including after two-factor authentication) and redirected to the password reset page. Non-admin users cannot request a reset before the configured waiting time has passed.

Odoo records the date of the last password change on each user. The module touches the user model res.users, the settings model res.config.settings, a new password history model res.users.pass.history, and the login/signup screens. Default values are installed automatically: 60 days expiry, 24 hours waiting, 30 remembered passwords, and at least one lowercase, uppercase, digit and special character.

Depends on

auth_signupauth_password_policy_signupauth_totp

Required by other modules

Models and fields (3)
  • res.users · extends an existing modelpassword_write_date (Last password update), password_history_ids
  • res.config.settings · extends an existing modelpassword_lower (Lowercase), password_upper (Uppercase), password_history (History), password_minimum (Minimum Hours), password_numeric (Numeric), password_special (Special), password_expiration (Days)
  • res.users.pass.history · new modeldate, user_id, password_crypt (Encrypted Password)

Text generated by AI (DeepSeek) from reading the Odoo 19.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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/server-auth.

terminal Installation and usage

OCA documentation · Odoo 19.0

Navigate to General Settings under Configuration Scroll down to the Password Policy section Set the policies to your liking.

Password complexity requirements will be enforced upon next password change for any user in that company.

Settings & Defaults

These are defined at the company level:

[TABLE]

Configure using above instructions for each company that should have password security mandates.

No verified information in OCA: Installation.

info

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.