Skip to content

Password Policy

This page is generated from public package documentation in capell-4/packages and the package manifest checked into the source repository.

FieldValue
Composer packagecapell-app/password-policy
Package slugpassword-policy
Product groupCapell Operations
Tierpremium
Bundleoperations
Runtime contextsadmin, console
Capell version^4.0
Source repositorycapell-app/packages
Source pathpackages/password-policy
Docs sourcepackages/password-policy/docs
Manifestcapell.json

Password expiry, forced password changes, and password safety policy for Capell CMS.

  • Package: capell-app/password-policy
  • Namespace: Capell\PasswordPolicy\
  • Surfaces: Filament admin, database
  • Service providers: packages/password-policy/src/Providers/PasswordPolicyServiceProvider.php
  • Capell dependencies: capell-app/admin, capell-app/core
  • Third-party dependencies: laravel/framework, lorisleiva/laravel-actions, spatie/laravel-data, spatie/laravel-package-tools
  • Adds password expiry, forced password changes, and password safety policy for Capell admin and user accounts.
  • Helps operators enforce account hygiene without custom middleware in each host app.
  • Pairs with login audit so security policy and authentication history can be reviewed together.
  • Password expiry, forced password changes, and password safety policy for Capell CMS.
  • Settings-backed policy controls for password age, history, and forced changes.
  • Admin-facing forced password change flow.

This package makes its Composer dependencies visible because they are part of the value proposition, not just plumbing. When an upstream package has a public repository, its linked preview card points readers back to the maintainers so their work gets proper credit.

Capell packages used here

Open-source packages used here

  • Laravel Actions - single-purpose action classes that keep package workflows out of controllers and Filament resources.
  • Spatie Laravel Data - typed data objects for package boundaries, form state, settings, and structured results.
  • Spatie Laravel Package Tools - Laravel package bootstrapping for config, migrations, commands, translations, and service provider setup.

Linked package previews

Laravel Actions GitHub preview

Spatie Laravel Data GitHub preview

Spatie Laravel Package Tools GitHub preview

AreaPathPurpose
Actionspackages/password-policy/src/ActionsDomain operations. Test these directly where possible.
Datapackages/password-policy/src/DataStructured payloads, form state, view models, and integration data.
Filamentpackages/password-policy/src/FilamentAdmin resources, pages, widgets, and settings UI.
HTTPpackages/password-policy/src/HttpControllers, middleware, and request handling.
Providerspackages/password-policy/src/ProvidersRegistration, extension hooks, routes, migrations, and resources.
Resourcespackages/password-policy/resourcesViews, translations, assets, and package resources.
Configpackages/password-policy/configPackage configuration and publishable config.
Databasepackages/password-policy/databaseMigrations, seeders, and settings migrations.
Testspackages/password-policy/testsPackage-level Pest coverage.
  • Pages: ForcedPasswordChangePage, PasswordPolicySettingsPage.
  • Settings: PasswordPolicySettings.
  • Migrations: 2026_05_10_190863_01_add_password_policy_columns_to_users_table.php, 2026_05_10_190863_02_create_password_policy_password_histories_table.php.
  • Settings migration: 2026_05_10_190864_01_create_password_policy_settings.php.
  • Config: packages/password-policy/config/capell-password-policy.php.
  • Data objects live in src/Data/; use them for payloads, form state, and view models.
  • Register Capell extension points, routes, migrations, settings, render hooks, and resources from service providers.
  • Install with composer require capell-app/password-policy in the host Capell application.
  • Run the host application package install flow so both database/migrations and database/settings files are published before migrations run.
  • In this repository, verify package changes with vendor/bin/pest; do not use php artisan.

Run package tests from the repository root:

Terminal window
vendor/bin/pest packages/password-policy/tests --configuration=phpunit.xml
  • Put behaviour changes in src/Actions/; UI classes, commands, and controllers should call actions instead of owning domain logic.
  • Use package Data classes at boundaries instead of passing anonymous arrays between layers.