⚠ Settings saved — restart GuardDex for changes to take effect.
sudo systemctl restart guarddex
Overview
System health and key metrics at a glance.
—
Total Users
—
Total Scans
—
Threats Blocked
—
Protected Brands
—
Detectors
💻 Server
Current running configuration.
| Loading… |
📡 Notification Channels
Currently configured channels. Changes require a restart.
Loading…
Users
Create, edit, reset passwords, manage roles and 2FA.
All Accounts
—
| User | Phone | Role | Status | 2FA | Last Login | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
General
Server identity and public address.
🌐 Server Identity
The name and URL used in notifications, QR codes, and the mobile app setup screen.
Shown in the mobile app and notification titles.
Must be reachable from the family member's device.
✓ Saved
🛳️ Battleship Nodes Uptime Monitoring
Register remote GuardDex nodes. The mothership pings their
/health endpoints every 5 minutes and sends an alert if a node goes offline. Format: name|http://ip:8088, one per line or comma-separated.Leave blank if this is a standalone node with no battleships. Stored as comma-separated values in .env.
✓ Saved
Push Notifications (ntfy)
Configure the ntfy push server. Leave credentials blank for public ntfy.sh.
🔔 ntfy Server
Free self-hosted or public ntfy.sh server.
Family members subscribe to their topic in the ntfy Android/iOS app.
Use https://ntfy.sh for public (free, no auth needed). Self-host for privacy.
✓ Saved
Email (SMTP)
Send security alerts and password reset emails. Gmail App Passwords work out of the box.
✉️ SMTP Configuration
For Gmail: use
smtp.gmail.com,
port 587, TLS on, and an App Password (not your Google password).
🔒 Write-only — existing value not shown. Leave blank to keep current.
🔒 Write-only — existing value not shown. Leave blank to keep current.
Uncheck only for port 465 SSL or non-TLS servers.
✓ Saved
SMS (Twilio)
Critical phishing alerts sent as SMS.
🔧 Override: Use your own Twilio account
Optional — only needed if you are not using the GuardDex relay.
Daily Notification Limits
Maximum notifications per channel per day. Alerts over the cap are suppressed and counted. Restart GuardDex after changing .env defaults.
📊 Per-Channel Daily Caps
These are your personal limits. The system defaults are set via
NOTIF_DAILY_CAP_*
in .env
and apply to new users. Changes here take effect immediately — no restart needed.
Recommended: 20–50. Set 0 to disable push entirely.
Keep low — email is for important summaries, not every event.
Twilio charges per message. Recommended: 3–5.
✓ Saved
AI
Configure AI backends for the Security Center assistant and phishing analyzer.
🤖 Anthropic (Claude Haiku)
Used as primary AI on battleship deployments (no local GPU) and as fallback when Ollama is unavailable.
Get a key at console.anthropic.com.
Used for claude-haiku-4-5-20251001. Leave blank to disable Haiku fallback.
✓ Saved
🧠 Ollama (local LLM)
Run AI locally via Ollama on port 11434. Enable only if Ollama is installed and models are pulled.
Primary model:
Primary model:
nous-hermes2:10.7b
— requires ~8GB RAM.
Enable Ollama
When disabled, all AI routes fall back to Claude Haiku (ENABLE_OLLAMA=false).
Integrations & API Keys
All third-party APIs used by GuardDex. Keys are stored in .env and never logged. Blank = that source is skipped.
🌐 NextDNS DNS Management
Lets the DNS Scanner read query logs and add domains to your block list. Required for DNS Scanner to function with NextDNS. Get your key and Profile ID at my.nextdns.io → Settings → API.
6-character ID from your NextDNS profile URL.
✓ Saved
⚫ Pi-hole DNS Scanner Source
Reads Pi-hole v6 query logs for the DNS Scanner. GuardDex uses the Pi-hole API to pull recent DNS queries and enrich them with threat intelligence. Set the URL to your Pi-hole web interface and paste the App Password from Pi-hole Settings → API / App Passwords.
Include the scheme, no trailing slash.
🔒 Write-only — leave blank to keep current.
Enable Pi-hole as a DNS Scanner source
✓ Saved
🧠 Technitium DNS DNS Scanner Source
Reads Technitium DNS Server query logs for the DNS Scanner. GuardDex uses the Technitium API with a token to fetch recent DNS events. Get your API token from Technitium web UI → Administration → Sessions → Create Token.
Include the port (default 5380).
🔒 Write-only — leave blank to keep current.
Enable Technitium as a DNS Scanner source
✓ Saved
🗺️ MaxMind GeoIP IP Intelligence Coming Soon
Adds country, city, ASN, and proxy/VPN detection to IP reputation enrichment. Once wired in, every flagged IP will show where it's coming from and whether it's routing through a known anonymizer. Free GeoLite2 database available — register at maxmind.com to get your Account ID and License Key.
Integration not active yet. Save your credentials now so they're ready when GeoIP enrichment ships. The Account ID and License Key are used to download the GeoLite2-City and GeoLite2-ASN databases.
Numeric account ID from maxmind.com → My Account → Account Information.
Generate a license key at maxmind.com → My Account → Manage License Keys. Use "GeoIP Update" type.
✓ Saved
🔓 Have I Been Pwned Breach Monitor · Paid ($3.50/mo)
The gold standard for email breach lookups. Checks against 12+ billion compromised accounts across 700+ data breaches. Used by the Breach Monitor for email checks. Get a key at haveibeenpwned.com/API/Key — $3.50/month, unlimited queries.
Required for breach checks. Without it, only LeakCheck and Leak-Lookup are queried.
✓ Saved
📋 LeakCheck Breach Monitor · Freemium
Secondary breach database covering leaks not always in HIBP. Checks email and phone numbers. Free tier available. Get a key at leakcheck.io.
✓ Saved
📋 Leak-Lookup Breach Monitor · Freemium
Third breach source — aggregates data from different leak communities than HIBP or LeakCheck. Covers email and phone. Get a key at leak-lookup.com.
✓ Saved
🔍 Shodan Breach Monitor · IP Enrichment · Freemium
Internet-wide port scanner and device index. Used by the Breach Monitor to report open ports, CVEs, and organisation info for IP lookups. Also enriches DNS scanner verdicts for suspicious IPs. Free tier: 1 query/sec. Get a key at account.shodan.io.
✓ Saved
🎯 Hunter.io Breach Monitor · DNS Scanner · Freemium (25 req/mo free)
Dual-purpose: (1) verifies email deliverability before breach checks — catches typos and disposable addresses; (2) looks up email infrastructure for domains in the DNS Scanner — legitimate businesses with real email records get a reduced threat score (legitimacy signal). Get a key at hunter.io/api-keys.
✓ Saved
🚨 abuse.ch — URLhaus & ThreatFox DNS Scanner Tier 1 · Free
Two complementary free feeds from the abuse.ch security project. URLhaus tracks active malware distribution URLs (live host count, online/offline status). ThreatFox is a community IOC database covering C2 servers, malware droppers, and phishing infrastructure. Both run on every DNS scanner batch. Register at abuse.ch.
✓ Saved
🛡️ Google Safe Browsing DNS Scanner Tier 1 · Free
Google's real-time phishing and malware URL blocklist — updated every 30 minutes, covers billions of URLs. Strong signal with very low false-positive rate. Runs at Tier 1 in the DNS scanner, so a Safe Browsing hit alone is enough to flag a domain. Enable at Google Cloud Console → Safe Browsing API → Create Key. Free up to 10k req/day.
✓ Saved
🐟 PhishTank DNS Scanner Tier 1 · Free
Community-curated phishing URL database — human-verified submissions from security researchers worldwide. Complements Safe Browsing for phishing detection. Key is optional (anonymous requests are more rate-limited). Register at phishtank.com.
Optional — anonymous requests work but hit rate limits faster.
✓ Saved
🌫️ GreyNoise DNS Scanner Tier 2 · Free community tier
Distinguishes mass internet scanners from targeted attacks. A GreyNoise "malicious" hit means the IP is actively attacking networks right now. A "benign" RIOT hit (known CDN or cloud infra) reduces the threat score and protects against false positives. Community tier at viz.greynoise.io — free, 100 req/day.
✓ Saved
🚫 AbuseIPDB DNS Scanner Tier 2 · Free (1k req/day)
Community IP reputation database — security teams worldwide report abusive IPs. Confidence score 0–100 based on recent reports. Used to flag IPs associated with spam, port scanning, brute force, and C2. Get a key at abuseipdb.com. Free tier: 1,000 checks/day.
✓ Saved
👽 AlienVault OTX DNS Scanner Tier 2 · Free
Open Threat Exchange — community-submitted threat intelligence pulses covering IPs, domains, and file hashes. Over 100k contributors. Provides pulse count and malware family context. Note: OTX is research-heavy with higher false-positive rate than Spamhaus or Safe Browsing — GuardDex uses it as a soft signal only, capped at 26% weight. Free at otx.alienvault.com → API Keys.
✓ Saved
📡 Mnemonic Passive DNS DNS Scanner Tier 2 · Free (limited)
Norwegian CERT passive DNS database — tracks historical IP resolutions for domains. GuardDex uses it to detect fast-flux infrastructure (domains that cycle through many IPs rapidly — a strong C2 indicator). Free community access with a key. Register at mnemonic.io/resources/community-apis.
✓ Saved
🔍 VirusTotal DNS Scanner Tier 3 · Free (500/day)
Scans URLs and domains through 70+ antivirus engines simultaneously. GuardDex runs VT only at Tier 3 — meaning only domains still flagged after both Haiku passes and Tier 1+2 intel are checked, preserving your 500/day quota. A VT clean result also counter-balances noisy OTX data to prevent false positives. Get a key at virustotal.com.
✓ Saved
📷 URLScan.io DNS Scanner Tier 3 · Free (5k/day)
Sandbox that screenshots URLs and analyzes JavaScript, redirects, and resource loading. GuardDex queries URLScan for historical scan results — if a domain was previously scanned and flagged malicious, that's a strong signal. Free at urlscan.io. 5,000 lookups/day on free tier.
✓ Saved
📊 Pulsedive DNS Scanner Tier 3 · Free (30 req/min)
Community threat intelligence with risk scoring (none/low/medium/high/critical) and categorical tags. Good at surfacing domains tied to specific threat campaigns. Free at pulsedive.com. 30 requests/minute on free tier.
✓ Saved
🔎 Censys DNS Scanner Tier 3 · Free (250 req/mo)
Certificate transparency and host scanning data. GuardDex uses Censys to check domain cert history — brand-new domains with no prior SSL certificates or Let's Encrypt-only issuers are a phishing indicator. Needs both an API ID and Secret from search.censys.io/account/api. The ID is a UUID, not a short key.
✓ Saved
💳 IPQualityScore DNS Scanner Tier 4 · Paid ($0.001/query)
Fraud and proxy detection — assigns a fraud score 0–100 combining VPN/proxy/TOR detection, bot likelihood, and ISP reputation. GuardDex runs IPQS only at Tier 4, meaning only when Tiers 1–3 already confirmed a threat — so cost stays minimal. Get a key at ipqualityscore.com. Paid per query but very low volume in normal use.
Optional — leave blank to skip. Only runs after Tier 3 confirms a signal.
✓ Saved
📧 Spamhaus DQS DNS Scanner Tier 1 · Free (with registration)
The most trusted anti-spam and malware blocklist in the world. GuardDex uses Spamhaus ZEN (IP reputation), DBL (domain blocklist), and SBL/XBL/DROP for C2 and botnet detection. These are extremely low false-positive rate — a Spamhaus hit is a near-certain threat. DQS (Data Query Service) gives higher rate limits. Register at spamhaus.com. Credentials set in .env directly (key + user).
username@account-id format from Spamhaus portal.
✓ Saved
Feature Flags
Enable or disable platform features. Toggles save immediately.
🏳️ Platform Features
Recommended defaults: battleship nodes should disable Attack Studio, TestBench, and Sandbox.
Security
JWT session configuration and authentication settings.
🔒 JWT Session
Controls how long logged-in sessions last. Default 1440 minutes (24 hours).
60 = 1h · 1440 = 1 day · 10080 = 1 week
Generated at install time. To rotate: edit .env manually and restart.
✓ Saved
⚠ Danger Zone
These actions affect all users immediately.
System
Service management, .env location, and diagnostic links.
📋 Installation Info
| .env path | — |
| .env exists | — |
| GuardDex version | v2.1 |
| FastAPI | — |
| Database | — |
| API port | 8088 |
🔧 Service Management
GuardDex runs as a systemd service. Restart applies saved .env changes.
Restart Service
Required after any .env change. All active sessions remain valid.
Restart service
sudo systemctl restart guarddex
View live logs
journalctl -u guarddex -f
Check status
systemctl status guarddex
Run verify script
bash /opt/guarddex/verify.sh
💻 Terminal
Closed
Bash session on the GuardDex server. Starts in
/opt/Guarddex0. Admin only.🔗 Quick Links