

Login Protection tab — failed-attempt thresholds and lockout durations.
Cypress North Password Policy enforces a strong, modern password policy on your WordPress site. Defaults align with NIST 800-63B guidance: length over composition rules, denylist screening, breach-corpus checks, and rate-limited login. Every setting is admin-configurable.
What you get
wp cnpp unlock command to release a stuck IP or username without opening the admin.Designed to coexist with WordPress core
The plugin uses WordPress’s own password hashing (wp_hash_password) and never stores plaintext. The built-in zxcvbn strength meter is left intact. All integration is via documented WP filters and actions — deactivating the plugin removes its behavior cleanly.
This plugin connects to an API to check for known breached passwords.
The Have I Been Pwned API (api.pwnedpasswords.com) receives only the first five characters of a SHA-1 hash — k-anonymity. No personally identifying information leaves the site and no plain text is transmitted. The check can be disabled entirely from Settings Password Policy Policy.
This service is provided by Have I Been Pwned (https://haveibeenpwned.com/) : terms of use , privacy policy
This plugin processes data necessary to enforce account security. The full privacy disclosure is contributed to Tools Privacy Policy Guide when the plugin is active.
What is collected
Lawful basis
Legitimate interest in preventing brute-force credential attacks, plus regulatory and contractual obligations around password hygiene where applicable.
Retention
Third parties
The Have I Been Pwned API (api.pwnedpasswords.com) receives only the first five characters of a SHA-1 hash — k-anonymity. No personally identifying information leaves the site. The check can be disabled entirely from Settings Password Policy Policy.
Exporter + eraser
The plugin registers with WordPress’s built-in Personal Data tools (Tools Export Personal Data, Tools Erase Personal Data). Exports return four groups (failed attempts, lockouts, password-change events, compliance state). Erasure removes the password-change audit rows and every plugin-specific user_meta entry; lockout and failed-attempt rows are retained with the username field redacted so aggregate-attack statistics remain intact but the rows can no longer be linked to the individual.