Skip to main content
Panguard Guard is configured via a JSON file located at ~/.panguard-guard/config.json. This file is created automatically during panguard guard start with sensible defaults, or you can create it manually.

Configuration File Location

~/.panguard-guard/config.json

Full Configuration Example

{
  "mode": "protect",
  "learningDays": 7,
  "monitoring": {
    "networkConnections": true,
    "fileIntegrity": true,
    "processActivity": true,
    "authLogs": true,
    "systemLogs": true,
    "kernelModules": true,
    "cronJobs": true,
    "dockerEvents": false
  },
  "rules": {
    "sigmaDir": "~/.panguard-guard/rules",
    "yaraDir": "~/.panguard-guard/yara-rules",
    "customRulesEnabled": true,
    "autoUpdate": true,
    "updateInterval": "24h"
  },
  "response": {
    "enabled": true,
    "autoBlock": true,
    "blockDuration": "24h",
    "minConfidence": 0.85,
    "actions": ["block_ip", "kill_process", "quarantine_file"],
    "requireApproval": false,
    "whitelistedIps": [],
    "whitelistedProcesses": []
  },
  "threatIntel": {
    "enabled": true,
    "endpoint": "https://tc.panguard.ai",
    "uploadEnabled": true,
    "downloadInterval": "6h",
    "abuseIpDbEnabled": false
  },
  "dashboard": {
    "enabled": true,
    "port": 9090,
    "bindAddress": "127.0.0.1"
  },
  "notification": {
    "enabled": true,
    "channels": ["telegram"],
    "minSeverity": "medium",
    "cooldownMinutes": 15
  },
  "auth": {
    "managerEndpoint": "https://localhost:8443",
    "heartbeatInterval": 60,
    "token": null
  }
}

Configuration Sections

mode

mode
string
default:"protect"
Operating mode for Guard.
ValueDescription
learningObserve-only mode. Establishes behavioral baselines without triggering alerts or responses.
detectMonitors and alerts on anomalies but does not take automated response actions.
protectFull protection mode. Monitors, alerts, and executes automated responses.
New installations start in learning mode for the configured learningDays period, then automatically transition to protect mode.

learningDays

learningDays
number
default:"7"
Number of days to remain in learning mode before transitioning to the configured mode. Range: 1—30.

monitoring

Controls which system activities Guard monitors.
FieldTypeDefaultDescription
networkConnectionsbooleantrueMonitor inbound/outbound network connections
fileIntegritybooleantrueWatch critical system files for unauthorized changes
processActivitybooleantrueTrack process creation, termination, and anomalies
authLogsbooleantrueMonitor authentication attempts (SSH, sudo, etc.)
systemLogsbooleantrueAnalyze system logs (syslog, journald, Windows Event Log)
kernelModulesbooleantrueDetect kernel module loading/unloading
cronJobsbooleantrueWatch for cron/scheduled task modifications
dockerEventsbooleanfalseMonitor Docker container events (requires Docker)

rules

Detection rule configuration.
FieldTypeDefaultDescription
sigmaDirstring~/.panguard-guard/rulesDirectory containing Sigma rules
yaraDirstring~/.panguard-guard/yara-rulesDirectory containing YARA rules
customRulesEnabledbooleantrueLoad custom rules from subdirectories
autoUpdatebooleantrueAutomatically update rules from Threat Cloud
updateIntervalstring24hHow often to check for rule updates

response

Automated response configuration.
FieldTypeDefaultDescription
enabledbooleantrueEnable automated response actions
autoBlockbooleantrueAutomatically block malicious IPs
blockDurationstring24hDuration for IP blocks (1h, 24h, 7d, permanent)
minConfidencenumber0.85Minimum AI confidence score to trigger auto-response (0.0—1.0)
actionsstring[]["block_ip", "kill_process", "quarantine_file"]Allowed response actions
requireApprovalbooleanfalseRequire user approval before executing responses
whitelistedIpsstring[][]IPs that should never be blocked
whitelistedProcessesstring[][]Processes that should never be killed
Setting minConfidence below 0.7 may cause false positive responses. The default of 0.85 provides a good balance between protection and accuracy.

threatIntel

Threat Cloud integration settings.
FieldTypeDefaultDescription
enabledbooleantrueEnable Threat Cloud integration
endpointstringhttps://tc.panguard.aiThreat Cloud API endpoint
uploadEnabledbooleantrueUpload detected threats to Threat Cloud
downloadIntervalstring6hHow often to download updated IoC feeds
abuseIpDbEnabledbooleanfalseEnable AbuseIPDB lookups (requires ABUSEIPDB_KEY)

dashboard

Local web dashboard settings.
FieldTypeDefaultDescription
enabledbooleantrueEnable the local web dashboard
portnumber9090Dashboard HTTP port
bindAddressstring127.0.0.1Bind address (use 0.0.0.0 for remote access)

notification

Alert notification settings.
FieldTypeDefaultDescription
enabledbooleantrueEnable notifications
channelsstring[][]Active channels: telegram, slack, email, webhook
minSeveritystringmediumMinimum severity to trigger notifications: low, medium, high, critical
cooldownMinutesnumber15Minimum minutes between duplicate notifications

auth

Manager API connection settings.
FieldTypeDefaultDescription
managerEndpointstringhttps://localhost:8443Manager API URL
heartbeatIntervalnumber60Heartbeat interval in seconds
tokenstringnullManager API token (auto-configured via CLI)
Most users do not need to edit this file directly. Use panguard config set from the CLI to modify individual settings safely. The CLI validates values and handles encryption of sensitive fields.