Skip to content

Password Policy

This page is generated from package source documentation in the Capell packages repository and the checked-in manifest. Source documentation is not distribution status. Before running a Composer command, verify that the exact package and compatible 1.x release are available through public Packagist or the authenticated marketplace account.

FieldValue
Composer packagecapell-app/password-policy
Package slugpassword-policy
Product groupCapell Security & Compliance
Tierpremium
Bundlesecurity-compliance
Runtime contextsadmin, console
Capell version^1.0
Catalogue roleextension
Release channelBeta
Source repositorycapell-app/packages
Source pathpackages/password-policy
Docs sourcepackages/password-policy/docs
Manifestcapell.json

Password Policy is an Available, Schema-owning Capell package in the Capell Security & Compliance product group. It ships as capell-app/password-policy and extends these surfaces: admin, console.

Password Policy adds configurable password strength, expiry, forced-change, reuse-history, and compromised-password checks for Capell accounts.

Admins configure the policy and can require a user to change their password. Users are directed through the forced-change screen when they are flagged for a change or their password has expired.

Status details:

  • Status: Available
  • Tier: premium
  • Bundle: security-compliance
  • Composer package: capell-app/password-policy
  • Namespace: Capell\PasswordPolicy
  • Theme key: not applicable

For developers: Policy evaluation and password updates live in typed Actions, while middleware enforces the result consistently across admin requests.

For teams: Operators can apply one account-password standard and identify users who need to update their credentials.

Screenshot contract: docs/screenshots.json.

Password Policy settings page Password Policy settings page Forced password change form Forced password change form
  • Password Policy settings page (admin, required evidence).
  • Forced password change form (admin, required evidence).
  • User table password policy columns and filters (admin, required evidence).
  • Capell\PasswordPolicy\Providers\PasswordPolicyServiceProvider
  • packages/password-policy/config/capell-password-policy.php
  • packages/password-policy/database/migrations/2026_05_10_190863_01_add_password_policy_columns_to_users_table.php
  • packages/password-policy/database/migrations/2026_05_10_190863_02_create_password_policy_password_histories_table.php
  • packages/password-policy/database/migrations/2026_07_08_000001_add_password_policy_notification_timestamps_to_users_table.php
  • packages/password-policy/database/settings/2026_05_10_190864_01_create_password_policy_settings.php
  • packages/password-policy/database/settings/2026_06_04_000001_01_add_password_complexity_settings.php
  • packages/password-policy/database/settings/2026_06_16_000001_01_add_password_expiry_warning_settings.php
  • PasswordPolicySettings
  • PasswordPolicyPanelExtender
  • PasswordPolicyUserResourceBridge
  • ForcedPasswordChangePage
  • PasswordPolicySettingsPage
  • PasswordPolicySettingsSchema
  • PasswordChanged
  • PasswordExpired
  • UserMarkedForPasswordChange
  • BuildPasswordSecurityPostureReportAction
  • EvaluatePasswordPolicyAction
  • MarkUserForPasswordChangeAction
  • NotifyPasswordPolicyLifecycleEventAction
  • PrunePasswordHistoryAction
  • RecordPasswordHistoryAction
  • SendPasswordExpiryWarningNotificationsAction
  • UpdatePasswordAction
  • ValidatePasswordChangeAction
  • PasswordChangeData
  • PasswordPolicyStatusData
  • PasswordSecurityPostureReportData
  • ResolvedPasswordPolicySettingsData
  • capell:password-policy:doctor
  • capell:password-policy:expire-stale
  • capell:password-policy:prune-history
  • capell:password-policy:require-change
  • capell:password-policy:send-expiry-warnings
  • ExpireStalePasswordsCommand
  • PasswordPolicyDoctorCommand
  • PrunePasswordHistoryCommand
  • RequirePasswordChangeCommand
  • SendExpiryWarningsCommand
  • admin-action-extender: Capell\PasswordPolicy\Manifest\PasswordPolicyAdminExtendersContribution
  • admin-page: Capell\PasswordPolicy\Manifest\PasswordPolicyAdminPagesContribution
  • console-command: Capell\PasswordPolicy\Manifest\PasswordPolicyConsoleCommandsContribution
  • health-check: Capell\PasswordPolicy\Manifest\PasswordPolicyHealthContribution
  • setting: Capell\PasswordPolicy\Manifest\PasswordPolicySettingsContribution
  • Capell\PasswordPolicy\Health\PasswordPolicyHealthCheck
  • packages/password-policy/resources/views/filament/pages/forced-password-change.blade.php
  • Required tables: password_policy_password_histories.
  • Core record references in migrations: users via user_id.
  • Migration files: 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, 2026_07_08_000001_add_password_policy_notification_timestamps_to_users_table.php.
  • Migration impact: run host migrations through the package install flow before opening package surfaces.
  • Deletion/retention behaviour: migrations declare cascade-on-delete relationships; no timed pruning or retention schedule is declared in capell.json.
  • Required packages: capell-app/admin, capell-app/core.
  • Admin navigation: declares admin-page: PasswordPolicyAdminPagesContribution; each Filament page or resource controls its own navigation visibility.
  • Admin/editor extensions: admin-action-extender: PasswordPolicyAdminExtendersContribution.
  • Permissions: Shield-generated page permissions for Capell\PasswordPolicy\Filament\Pages\PasswordPolicySettingsPage (names and grants depend on host Shield configuration).
  • Public routes: none declared.
  • Database changes: package migrations are declared.
  • Config: config/capell-password-policy.php.
  • Settings: Capell\PasswordPolicy\Settings\PasswordPolicySettings.
  • Queues or schedules: none declared.
  • Cache tags: none declared.
  • Commands: capell:password-policy:doctor, capell:password-policy:expire-stale, capell:password-policy:prune-history, capell:password-policy:require-change, capell:password-policy:send-expiry-warnings.
  • Keep required Capell packages on compatible v4 releases: capell-app/admin, capell-app/core.
  • Run migrations before opening package resources or public routes.
  • Review package configuration before production-like verification: config/capell-password-policy.php, Capell\PasswordPolicy\Settings\PasswordPolicySettings.
SymptomLikely causeCheckFix
Package health check reports a problemPackage configuration or runtime dependencies are not readyRun php artisan capell:password-policy:doctorFollow the reported checks, then rerun the doctor command
Package surface is missing after installProvider or manifest is not loadedConfirm capell.json, package composer.json, and provider registrationReinstall the package, refresh Composer autoload, and clear host caches
Admin screen or command fails on missing tablePackage migrations have not runCheck the tables listed in Data ModelRun host migrations and rerun the focused package test
  1. Install the package: composer require capell-app/password-policy.
  2. Open the package admin surface at /admin/password-policy/settings and confirm Password Policy is available.