Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Password Exposed Validation Rule Laravel Package

divineomega/laravel-password-exposed-validation-rule

A Laravel validation rule that checks passwords against known data breaches via Have I Been Pwned, helping block exposed or compromised credentials during registration and password changes. Easy to add to form requests and validators.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

This is a Laravel validation rule package; the release notes reference breach lookups and composing the rule with Laravel validation, so it most likely checks passwords or string inputs against a breached-password source. No prior assessment existed, so this is the baseline.

Architecture fit: Strong for Laravel applications because the package plugs into Laravel’s native validation pipeline rather than requiring a separate service or middleware layer. It should fit registration, password reset, profile-change, and other credential-entry flows with minimal architectural change.

Integration feasibility: Good. The package is Composer-installable and v6.1.0 supports Laravel 13 / PHP 8.5 while retaining a Laravel 8 / PHP 7.4 floor. That unusually broad compatibility range reduces upgrade pressure but increases the vendor’s test-matrix burden.

Technical risk: Moderate. The behavior change for non-string values is the main functional risk: existing validations may have relied on conversion warnings or breach lookups for non-strings. The package now delegates non-string handling to Laravel’s string/type rules while still checking objects with a string representation. There is also likely an external breach-lookup dependency, which introduces network latency, rate-limit, privacy, and failure-mode questions. Laravel 13 and PHP 8.5 support should be verified against actual release status and project constraints.

Key questions: What exact package and breach source are used? Is there caching, timeout, retry, and fail-open/fail-closed behavior? What data leaves the application? Is Laravel 13 / PHP 8.5 generally available or pre-release? What is the security-response policy? Does the non-string behavior change alter existing validation outcomes in production?

Integration Approach

Stack fit: Native Laravel validation rule; suitable for FormRequest, Validator::make, and custom validation flows. Low coupling and no architectural redesign required.

Migration path: Adopt as a direct Composer dependency and pin v6.1.0 initially. If replacing a custom breach-check rule, map old and new semantics carefully, especially for non-string inputs, integer-like values, and objects implementing __toString.

Compatibility: Confirm the application’s PHP and Laravel versions against the declared floor and ceiling. The broad support range is helpful, but the project should still test on its exact runtime. Validate that Laravel 13 / PHP 8.5 support is usable in the target environment, not just declared.

Sequencing: 1) inventory Laravel/PHP versions and current password-validation behavior; 2) add v6.1.0 in a test environment; 3) add regression tests for non-string inputs and Stringable objects; 4) configure breach-lookup caching, timeouts, and failure behavior; 5) compose the rule explicitly with Laravel string/type rules; 6) roll out to registration and password-reset flows first; 7) monitor latency and failure rates before expanding.

Operational Impact

Maintenance: Low code footprint, but the package carries an external breach-lookup dependency and an unusually broad compatibility promise. Track releases and security advisories.

Support: Documentation was improved in this release, including guidance on composing the rule with Laravel validation. Confirm vendor responsiveness and whether the breach source has its own availability commitments.

Scaling: Per-validation breach lookups can add latency and external load if uncached. Use caching and rate-limit awareness; avoid validating the same input repeatedly in a single request path.

Failure modes: External API outage or timeout, privacy/egress concerns, rate limiting, and fail-open versus fail-closed behavior are the main operational risks. The non-string behavior change can also cause validation regressions if rule ordering is not explicit.

Ramp-up: Low for Laravel developers. Teams need a short briefing on rule composition, non-string handling, and the security implications of breach-check failure behavior.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums