Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Drupal 10.6.17 Update released for Drupal core (10.6.17)! Release: Linkit 7.0.17 Minor update available for module linkit (7.0.17). Release: Raven: Sentry Integration 7.6.0 Minor update available for module raven (7.6.0). Release: Geocoder 8.x-4.36 Minor update available for module geocoder (8.x-4.36). Release: Copyright Footer 3.4.0 Minor update available for module copyright_footer (3.4.0). Release: Shortcode Gmap 3.0.1 Minor update available for module shortcode_gmap (3.0.1). Release: IDNA Convert Service (punycode) 2.0.6 Minor update available for module idna (2.0.6). Release: IDNA Convert Service (punycode) 2.0.5 Minor update available for module idna (2.0.5). Usage Milestone: Schemata Module schemata crossed 1,000 active installs. Module Revived: Backlinks Index 1.1.5 Module backlinks_index updated after 7 months of inactivity (1.1.5).

Pwned Passwords (Have I Been Pwned / HIBP)

203 sites Security covered Drupal 10–11
View on drupal.org

This module prevents users from selecting passwords that have been previously exposed in data breaches. It uses an API that checks password hashes anonymously to ensure user privacy.

This module uses the Have I Been Pwned - HIBP "Passwords" API v2 to validate passwords entered by a user.

Currently it prevents the user to select any password present in the database, more options will come.

Why this module?

As Troy Hunt explains in this article, it's a good idea to prevent people using already publicly known passwords. In fact it's not only him, but also NIST has a special publication on the topic "Digital Identity Guidelines", in which they clearly stating that you shouldn't be allowing people to use a password that's been breached before, among other types of passwords they shouldn't be using.

This module will do exactly that, prevent users from compromising themselves (and your website) by choosing a known password.

Anonymity

I was skeptical about Troy's service on Version 1, because even if you sent the sha1 hash and not the plain text password, you were still sending the complete information about it.
Now version 2 of the API is out and uses an implementation of k-anonymity, which allows to retain the secrecy of your password, even the hashed one. In fact only 5 characters of the whole hash are sent to the service, from which it's basically impossible to discover the original plaintext password, not even get close to it.
In the light of this new service I decided to bring this to Drupal to help spread the adoption and even more help our users to chose better/safer passwords.
You can read more about this service and k-anonymity in Troy's blog post and the more technical one on Cloudflare blog.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Aug 2026
Latest release
1 month ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
8.x-1.4 Stable 10–11 Aug 3, 2026
2.0.0-beta1 Pre-release 10–11 Aug 3, 2026
2.0.x-dev Dev 10–11 Aug 3, 2026