@php $coverage = $dashboard['coverage'] ?? []; $phrases = \App\Http\Requests\Admin\Security\ConfirmDangerZoneActionRequest::PHRASES; @endphp

Priority risk queue

Recent watch / warn / critical security events that need attention.

@forelse($risks as $risk) @php $severity = $risk['severity'] ?? 'watch'; $badge = match ($severity) { 'critical' => 'danger', 'warn' => 'warning', default => 'info', }; @endphp @empty @endforelse
Severity Event Owner When
{{ $severity }} {{ $risk['event'] ?? '—' }} {{ $risk['owner'] ?? ($risk['actor'] ?? 'System') }} @if(! empty($risk['created_at'])) {{ \Illuminate\Support\Carbon::parse($risk['created_at'])->diffForHumans() }} @else — @endif
No open risks in the recent audit window.

Control coverage

@forelse($coverage as $item) @php $percent = (int) ($item['percent'] ?? 0); $barTone = $percent >= 80 ? 'success' : ($percent >= 50 ? 'warning' : 'danger'); @endphp
{{ $item['label'] ?? 'Control' }} {{ $item['met'] ?? 0 }}/{{ $item['total'] ?? 0 }} · {{ $percent }}%
@empty

Coverage metrics unavailable.

@endforelse

CAPTCHA & login hardening

reCAPTCHA site/secret keys and login CAPTCHA toggles live under Authentication settings.

Open authentication settings

Tip: after opening Settings, switch to the Authentication tab to manage CAPTCHA.

Quick incident actions

These require typing a confirmation phrase. Prefer the Danger Zone tab for full context.

Open danger zone
{{-- Quick action modals --}}