Security Analytics - v1.0.0

Installation

Install via Composer

composer require artisanpack-ui/security-analytics

Auto-registers via Laravel's package discovery.

Run migrations

php artisan migrate

Creates the 10 tables: security_events, security_metrics, anomalies, user_behavior_profiles, threat_indicators, response_playbooks, security_incidents, alert_rules, alert_history, suspicious_activities.

(Optional) Publish the config

php artisan vendor:publish --tag=security-analytics-config

Publishes config/artisanpack/security-analytics.php.

Schedule the maintenance commands

// app/Console/Kernel.php
protected function schedule( Schedule $schedule ): void
{
    $schedule->command('security:analytics-process')->everyFiveMinutes();
    $schedule->command('security:detect-suspicious')->everyTenMinutes();
    $schedule->command('security:update-baselines')->daily();
    $schedule->command('security:prune-analytics')->daily();
}

Dashboard access

The dashboard is opt-in via the view-security-dashboard ability. Grant it via your authorization layer (Gate, policy, RBAC):

// app/Providers/AuthServiceProvider.php
Gate::define( 'view-security-dashboard', fn ( $user ) => $user->is_admin );

Or use artisanpack-ui/rbac and grant a view-security-dashboard permission to the appropriate roles.

Deeper topics