artisanpack-ui/security
Core Laravel security toolkit for ArtisanPack UI: sanitization, escaping (Laminas Escaper), KSES filtering, validation rules, security/CSP middleware, CSP builder with nonce & reporting, rate limiting, audit/scan commands, and testing helpers.
artisanpack-ui/hooks (^1.2):
ap.security.sanitizedInput filter — wraps every Security::sanitize* return with (mixed $value, string $type, mixed $original).ap.security.escapedOutput filter — wraps every Security::esc* return with (string $value, string $context, string $original).ap.security.ksesAllowedTags filter — receives (array $allowedTags) from Security::kses(); a non-empty return overrides htmLawed's element whitelist for the call.ap.security.csp.directives filter — fires inside CspPolicyService::getPolicy() with (array $directives, Request $request), letting host apps mutate the directive array before it is serialized.ap.security.csp.violationHandled action — fires at the end of CspViolationHandler::handle() on stored violations with (CspViolationReport $report).Security::sanitizeFloat() was declared to return float but returned the raw number_format() string, which raised a TypeError under strict_types=1 any time the method was actually called. The result is now explicitly cast to float before return.illuminate/support constraint to ^10.0|^11.0|^12.0|^13.0. Existing Laravel 10/11/12 users are unaffected; Laravel 13 is only selectable on PHP 8.3+ per its own framework constraint.orchestra/testbench dev requirement to ^10.2|^11.0 so package tests can install against Laravel 13.csp:test command (CspTest) to the distributed package. An over-broad export-ignore rule (/src/**/*Test.php) stripped it from the release tarball, so SecurityServiceProvider registered a class that wasn't shipped — causing Target class [ArtisanPackUI\Security\Console\Commands\CspTest] does not exist during package discovery for every consumer.2.0.0-alpha.1 feature surface to the stable 2.0.0 release. No code changes from the alpha — see the alpha entry below for the complete 2.0 changelog.kses() function.How can I help you explore Laravel packages today?