Security

{#if stats}

Failed Logins (24h)

{stats.failed_logins_24h}

Suspicious Requests

{stats.suspicious_requests}

Unique IPs

{stats.unique_ips}

{/if} {#if stats?.timeline}

Activity (Last 24h)

{#each [...stats.timeline].reverse() as bar}
{/each}
24h ago now
{/if} {#if stats?.top_ips?.length}

Top IPs

{#each stats.top_ips as entry}
{entry.count}
{/each}
{/if}

Event Log

Filter recent events by type, IP, or date range.

{#if hasActiveFilters} {/if}
{#each logTypeFilters as f} {/each}
{#if ipFilter.trim()} {/if}
{#if filterError}

{filterError}

{/if} {#if logs.length > 0}
{#each logs as e}
{typeLabels[e.type] || e.type} {e.timestamp} {#if e.ip} {/if} {#if e.username} {e.username} {/if} {#if isBlockedScannerEvent(e)} scanner {/if} {e.message}
{/each}
{:else if !loading}

{hasActiveFilters ? "No security events match the current filters" : "No security events found"}

{/if}