Campaign Engine
← Dashboard Security

Campaign Overview

Continuous automated security assessment of your fleet

Targets
Total Runs
Running
Critical Findings
High Findings
Active Schedules
Fleet Breakdown
Loading
Recent Campaigns
Target Status Risk Findings Started Duration
Loading…

Fleet Targets

All registered hosts — auto-discovered and manually added

Name Type Host Tailscale Tags Last Scanned Last Seen Status Actions
Loading…

Campaign Runs

Historical and live execution records

ID Target Profile Status Risk Findings Triggered By Started Duration Actions
Loading…

Security Findings

All findings across all campaign runs

Severity Title Category Tool Phase Endpoint Target Run Vantage
Loading…

Campaign Schedules

Cron-based recurring campaign jobs — runs on UTC

ID Target Profile Cron Next Run Last Run Vantage Status Actions
Loading…

Fleet Discovery

Auto-discover and register new hosts via Tailscale API + LAN sweep

🔍

Discovery Service

Loading status…

How Discovery Works

Discovery runs every 5 minutes automatically via the campaign scheduler.


1. Tailscale API — Enumerates all devices in your tailnet using the Tailscale API key configured in TAILSCALE_API_KEY.


2. LAN Sweep — nmap ping sweep of configured subnets (CAMPAIGN_LAN_SUBNETS), parallel TCP port probes on 20 well-known service ports.


3. Fingerprinting — Open ports matched against service rules to classify type: GuardDex node, VoIP PBX, Pi camera, network device, web server, etc.


4. Auto-register — New hosts create campaign_targets rows. Existing hosts update last_seen. ntfy notification sent for new discoveries.

Required .env Variables
TAILSCALE_API_KEY=tskey-api-...      # Tailscale API key (read-only devices scope)
TAILSCALE_TAILNET=-                   # "-" = auto-infer from key
CAMPAIGN_LAN_SUBNETS=192.168.50.0/24 # Comma-separated subnets
NTFY_CAMPAIGN_TOPIC=guarddex-campaigns
ENABLE_CAMPAIGNS=true
# Optional — WAN vantage SSH pivot host
WAN_PROBE_HOST=192.168.50.x
WAN_PROBE_USER=guarddex