Skip to content
Back to skills

Sovereign Lockdown

BSecurity

Apply the full DSH sovereign lockdown: kill known phone-home daemons (Google, Zoom, CodeWhisperer), pin DNS to dnscrypt-proxy, enable firewall + stealth, install a pf anchor blocking telemetry endpoints, and permanently remove unauthorized LaunchAgents. Verifies with audit.sh + dome-check.sh and surfaces any remaining gaps.

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 12, 2026
securitypythongobashgitbackendsecurity

Security analysis

B80/100
  • highCreates or modifies cron jobs for persistent execution
  • criticalModifies startup scripts or system services for persistence

Pro shows the line behind each finding and how to fix it

Scanned September 12, 2026

npx -y skills add garochee33/DSH --skill sovereign-lockdown --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sovereign Lockdown?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sovereign Lockdown
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/garochee33-sovereign-lockdown/badge)](https://www.skillsdirectory.com/skills/garochee33-sovereign-lockdown)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sovereign-lockdown
description: "Apply the full DSH sovereign lockdown: kill known phone-home daemons (Google, Zoom, CodeWhisperer), pin DNS to dnscrypt-proxy, enable firewall + stealth, install a pf anchor blocking telemetry endpoints, and permanently remove unauthorized LaunchAgents. Verifies with audit.sh + dome-check.sh and surfaces any remaining gaps."
---

You are hardening the local machine into a sovereign state where nothing calls home, no unauthorized background daemon persists, and network traffic is policy-gated. This is invasive — every step needs the user's sudo once, and you MUST surface what each phase changes before running.

## 1. Confirm intent

Before touching the system, show the user what will happen:

```
Sovereign Lockdown will:
  • enable macOS firewall + stealth mode (blocks unsolicited inbound)
  • remove ~/Library/LaunchAgents entries not in the approved list
    (Google updater, Zoom daemon, CodeWhisperer, etc.)
  • pin DNS to 127.0.0.1 (dnscrypt-proxy must be running)
  • install a pf anchor blocking known telemetry endpoints
  • set pmset: no sudden-motion-sensor, no powernap, destroy FV key on standby
  • disable AirPlay Receiver (closes ports 5000/7000)
```

Require an explicit "yes" to proceed. If the user hesitates, offer to run only `lock-down.sh` (phase 1, least invasive) and skip phases 2–4.

## 2. Run phase 1 — kill daemons + pin DNS

```bash
bash "$DOME_ROOT/scripts/lock-down.sh"
```

Prompts for sudo once, keeps credential alive for the whole run. What it does:

- `launchctl unload -w` + `rm` on unauthorized user LaunchAgents
- `launchctl bootout system` on unauthorized system daemons
- `sudo networksetup -setdnsservers Wi-Fi 127.0.0.1`
- `sudo brew services start dnscrypt-proxy`
- Kills any running processes of the daemons it just removed

Verify before proceeding:

```bash
pgrep -x dnscrypt-proxy >/dev/null && echo "✓ dnscrypt-proxy running" || echo "✗ MISSING"
scutil --dns | grep -m1 nameserver | awk '{print $3}'   # should be 127.0.0.1
```

## 3. Run phase 2 — firewall + stealth + hardware tuning

```bash
bash "$DOME_ROOT/scripts/lock-down-phase2.sh"
```

Enables the application firewall, stealth mode (no ICMP reply), logging; sets pmset for secure standby; disables sudden-motion-sensor; increases file/proc limits.

Verify:

```bash
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate     # "State = 2" = blocking
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode     # "on"
```

## 4. Run phase 3 — pf anchor for telemetry endpoints

```bash
bash "$DOME_ROOT/scripts/lock-down-phase3.sh"
bash "$DOME_ROOT/scripts/pf-reload.sh"
```

Writes `/etc/pf.anchors/com.dsh` with block rules for known telemetry TCP/UDP ports (5228/5229/5230 Google push, 5353 mDNS, etc.) and reloads pf.

Verify:

```bash
sudo pfctl -sa | grep com.dsh        # anchor loaded
sudo pfctl -a com.dsh -s rules       # rules active
```

## 5. Run phase 4 — daemon audit + permanent removal

```bash
bash "$DOME_ROOT/scripts/lock-down-phase4.sh"
```

Strictest phase: scans `/Library/LaunchDaemons` and `~/Library/LaunchAgents` in a loop, permanently removes any plist not matching the approved allowlist (`homebrew.*`, `com.apple.*`, `com.openssh.*`, `org.cups.*`). Logs every removal to `logs/daemon-watch.log`.

Prompt before: some apps (e.g. Dropbox, 1Password) install LaunchAgents the user may actually want. If you see a removal that looks legitimate, pause and ask.

## 6. Verify the end state

Run the three audit commands and require all green:

```bash
bash "$DOME_ROOT/scripts/audit.sh"         # security posture check
bash "$DOME_ROOT/scripts/dome-check.sh"    # full protocol enforcer (includes machine-probe refresh)
"$DOME_ROOT/.venv/bin/python" -c "
import sys; sys.path.insert(0, '$DOME_ROOT')
from agents.core.machine import security_posture
import json
print(json.dumps(security_posture(), indent=2))
"
```

Expected `security_posture()` after lockdown:

```json
{
  "filevault": true,
  "sip": true,
  "gatekeeper": true,
  "firewall": true,
  "dns_private": true,
  "secrets_backend_present": true
}
```

If any value is `false`, tell the user exactly which check and the exact fix command (see the per-phase verify steps above).

## 7. Schedule ongoing enforcement

The setup script should have installed a cron entry for `dome-check.sh` every 6h. Confirm:

```bash
crontab -l | grep dome-check
```

If missing, add it:

```bash
(crontab -l 2>/dev/null | grep -v dome-check; echo "0 */6 * * * cd $DOME_ROOT && bash scripts/dome-check.sh >> logs/dome-check.log 2>&1") | crontab -
```

## 8. Report

Single-block summary for the user:

```
✅ Sovereign Lockdown complete
✅ Firewall + stealth active
✅ DNS pinned to dnscrypt-proxy
✅ pf anchor loaded (com.dsh)
✅ N unauthorized LaunchAgent(s) removed → logs/daemon-watch.log
✅ dome-check.sh scheduled every 6h
```

If any step was skipped or failed, say so explicitly. No lockdown theater.

## Non-negotiables

- **Never proceed past a failing phase.** If phase 1 fails (dnscrypt-proxy won't start), phase 3's pf anchor will leak DNS.
- **Never remove a daemon the user depends on without asking.** 1Password Agent, Dropbox, Tailscaled are legitimate.
- **FileVault cannot be auto-enabled.** If `security_posture()['filevault']` is False, tell the user to enable it manually in System Settings → Privacy & Security → FileVault.
- **SIP cannot be enabled from a running system.** It requires a reboot into Recovery — if disabled, that's a user task, not this skill's.
- **Reversing lockdown** is not this skill's job. If the user wants to undo, point them to `sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off` and `sudo networksetup -setdnsservers Wi-Fi empty`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.