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.

  1. 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_keys
    web01.example.netConnected
    System
    AlmaLinux 9.6
    Panel
    DirectAdmin 1.712
    Sudo scope
    None
    Server mode
    Active
  2. 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
  3. By morning, it has a plan.

    How far it may go is your setting, per group.

    Group mode
    ObserveReads onlyProposeChanges wait for youAutonomousApproved playbooks run
Morning reportThursday 22 October, 07:00
Servers scanned
8
Commands sent
212
Ran (read-only)
207
Waiting for you
5
Refused
0

Waiting for you

web01Disable the netdata repository with the expired keyservicerestart
web02Apply 424 updates, no rebootupdateapply
web02Reboot into kernel 5.14.0-570updateapply
web05Remove 6.2 GB of backups older than 30 daysdiskcleanup
web03Rebuild MariaDB 10.11 with CustomBuildcustombuild

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.

Proposal 418web02.example.net
Commandsudo -n /usr/local/sbin/nightwarden-updateapply
Why

424 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 pointPackage list of 1,912 packages saved at 06:58
PolicyNeeds approval: not a read-only command

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.

Server modeActive

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

Server mode

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.

Command log

    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.

    The back of a server rack: cables, blue status screens and serial labels
    Derrick Coetzee, CC0
    A small figure standing watch on a dark ridge under a twilight sky
    Lee Scott, Unsplash
    • 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
    • Email
    • 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