PHPackages                             visionbites/password-policy - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. visionbites/password-policy

ActiveKirby-plugin[Security](/categories/security)

visionbites/password-policy
===========================

enforces password rules on password change

1.0.0(1y ago)52[1 PRs](https://github.com/visionbites/kirby-password-policy/pulls)MITPHPPHP &gt;=8.2.0

Since Dec 18Pushed 1mo agoCompare

[ Source](https://github.com/visionbites/kirby-password-policy)[ Packagist](https://packagist.org/packages/visionbites/password-policy)[ RSS](/packages/visionbites-password-policy/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (3)Used By (0)

Kirby password policy plugin
============================

[](#kirby-password-policy-plugin)

A small kirby plugin to enforce a password policy on user creation or password change

Install
-------

[](#install)

- Copy plugin folder into `site/plugins` or
- `composer require visionbites/password-policy`

Setup
-----

[](#setup)

By default, the plugin enforces a password length of 12 characters with at least one number and one symbol out of `!@#$%^&*`. To change this you can set the used regex in your config.

That could look like this to require 16 characters:

```
'visionbites.password-policy.password_regex' => '/^(?=.*[0-9])(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{16,}$/'
```

In that case you should adapt the error messages for the different languages:

```
// in site/languages/de.php

return [
  'translations' => [
    'visionbites.password-policy.error-message' => 'Das Passwort muss mindestens 16 Zeichen lang sein und eine Zahl und ein Sonderzeichen enthalten.',
  ]
];
```

Options
-------

[](#options)

there is really only one option at the moment:

OptionDefaultDescription`password_regex``/^(?=.*[0-9])(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{12,}$/`the default regex to compare new passwords againstTodos
-----

[](#todos)

- adapt the password change dialog to reflect the requirements

Disclaimer
----------

[](#disclaimer)

This plugin is provided "as is" with no warranties or guarantee. Use it at your own risk. Test before using in production. The plugin does not enforce password strength on existing and unchanged passwords.

License
-------

[](#license)

[MIT](https://opensource.org/licenses/MIT)

It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia animal abuse, violence or any other form of hate speech.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance68

Regular maintenance activity

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

517d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3467b2f963e8c4926d4cdc0c81c7e56a0fe1d205e133b0efe0253d5a16b856f7?d=identicon)[philipkuban](/maintainers/philipkuban)

---

Top Contributors

[![therephil](https://avatars.githubusercontent.com/u/4098146?v=4)](https://github.com/therephil "therephil (1 commits)")

### Embed Badge

![Health badge](/badges/visionbites-password-policy/health.svg)

```
[![Health](https://phpackages.com/badges/visionbites-password-policy/health.svg)](https://phpackages.com/packages/visionbites-password-policy)
```

###  Alternatives

[defuse/php-encryption

Secure PHP Encryption Library

3.9k162.4M214](/packages/defuse-php-encryption)[mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

2.0k16.7M113](/packages/mews-purifier)[robrichards/xmlseclibs

A PHP library for XML Security

41478.1M118](/packages/robrichards-xmlseclibs)[bjeavons/zxcvbn-php

Realistic password strength estimation PHP library based on Zxcvbn JS

87117.5M63](/packages/bjeavons-zxcvbn-php)[illuminate/encryption

The Illuminate Encryption package.

9229.7M280](/packages/illuminate-encryption)[paragonie/hidden-string

Encapsulate strings in an object to hide them from stack traces

7410.6M39](/packages/paragonie-hidden-string)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
