It works at night.You decide by morning.
Night Warden is an AI agent for Linux server fleets. Overnight it scans, explains and proposes, and every command it sends passes a policy layer first.
- The agent never holds an SSH key
- Changes wait for your approval
- Every command is logged
What happens tonight
You give it a narrow account and a group of servers. It reads everything it is allowed to read, and stops at everything else.
First, give it a narrow account.
No root and no sudo. A read-only account is enough for every scan it runs.
# On the server, as root useradd --create-home nightwarden install -d -m 700 -o nightwarden -g nightwarden /home/nightwarden/.ssh install -m 600 -o nightwarden -g nightwarden nightwarden.pub \ /home/nightwarden/.ssh/authorized_keysweb01.example.netConnected- System
- AlmaLinux 9.6
- Panel
- DirectAdmin 1.712
- Sudo scope
- None
- Server mode
- Active
Then ask it to look.
In plain language, or on a schedule. It reads the fleet the way you would, one command at a time.
Scan the web servers and tell me what needs attention before Friday.
4 findings across 8 servers- web02Kernel 5.14.0-570 is installed but 5.14.0-503 is running. A reboot is due.High
- web01The netdata repository key has expired, so every dnf update fails.High
- web05/var is 91% full; 6.2 GB of it is DirectAdmin backups older than 30 days.Medium
- web03MariaDB 10.6 reached end of life in July 2026.Medium
By morning, it has a plan.
How far it may go is your setting, per group.
Group modeObserveReads onlyProposeChanges wait for youAutonomousApproved playbooks run
- Servers scanned
- 8
- Commands sent
- 212
- Ran (read-only)
- 207
- Waiting for you
- 5
- Refused
- 0
Waiting for you
| web01 | Disable the netdata repository with the expired key | servicerestart |
| web02 | Apply 424 updates, no reboot | updateapply |
| web02 | Reboot into kernel 5.14.0-570 | updateapply |
| web05 | Remove 6.2 GB of backups older than 30 days | diskcleanup |
| web03 | Rebuild MariaDB 10.11 with CustomBuild | custombuild |
What you approve
A proposal is one change on one server, written so you can decide in the time it takes to read it.
The exact stringWhat you approve is byte for byte what runs. Nothing is paraphrased.
Its reasoningWhy now, what it checked, and what it deliberately leaves alone.
Rollback firstA restore point is taken before the change, never after.
sudo -n /usr/local/sbin/nightwarden-updateapply424 updates are pending, 31 of them security fixes for openssl, glibc and the kernel. MariaDB and PHP are held back by DirectAdmin and are not touched. No reboot: that is a separate proposal.
The exact stringWhat you approve is byte for byte what runs. Nothing is paraphrased.
Its reasoningWhy now, what it checked, and what it deliberately leaves alone.
Rollback firstA restore point is taken before the change, never after.
The policy's verdictWhy this needed you, in the words of the rule that stopped it.
Your decision is written to the command log with your name and the time.
Server guardAn excluded server refuses every command, whatever the group allows.
Logged either wayApprove or reject, the decision is kept with who made it and when.
The policy's verdictWhy this needed you, in the words of the rule that stopped it.
Server guardAn excluded server refuses every command, whatever the group allows.
Logged either wayApprove or reject, the decision is kept with who made it and when.
Try the policy
Type any command. This is a simplified copy of the rules the executor applies before anything reaches a server, running in your browser.
Or pick one
The real executor also checks flags per command, and only lets a change run unasked when it is the exact step of a playbook you promoted after its dry runs passed.
Waits for your approval
'systemctl' is not on the read-only list, or not used in a read-only way.
What it knows
Built and run since August 2026 on two production fleets: sixteen servers, from shared hosting to a game server it is not allowed to touch.


- Servers
- AlmaLinux
- Rocky Linux
- Ubuntu
- Debian
- DirectAdmin
- Pterodactyl
- Docker hosts
- Caddy
- Playbooks
- Fleet scan
- Update check
- Leak check
- Monthly report
- Update apply
- CustomBuild
- Service restart
- Disk cleanup
- Guardrails
- Read-only list
- Approval queue
- Exact-step playbooks
- Dry-run gate
- Rollback point
- Reboot checks
- Emergency stop
- Excluded servers
- Full command log
- Tells you on
- Slack
- Discord
Questions
No. The agent never holds a key or opens a connection. It asks the executor to run a command; the executor checks it, runs it or refuses it, and logs the result.
No. The agent never holds a key or opens a connection. It asks the executor to run a command; the executor checks it, runs it or refuses it, and logs the result.
Start with one group of servers.
Tell us how many servers you run, and we will set up your first group with you.
hello@getnightwarden.com