PatchWardLinux Patching & Inventory Request an evaluation

Version 1.4 · self-hosted

Every host patched.
Every patch provable.

A single agent on each host reports what is installed and what is missing. Work is scheduled in waves; PatchWard executes them, confirms that every host has returned to service, and records what changed, package by package and host by host.

Debian · Ubuntu · RHEL · Rocky · Alma · SUSE · Arch

One agentper host, self-updating
Three containersconsole, API, database
No internetrequired to install or run
Free trial of 30 dayson your own infrastructure

Screenshots

The console

Inventory, waves, execution history, calendar and the printable report.

Detail

Vulnerabilities, consistency and control

Vulnerability data for every distribution that publishes it, package consistency across the estate, change freezes, directory sign-in, and a database that can be backed up and restored.

The vulnerability register

Exposure

A register of every CVE in the estate

Every CVE reported by an enrolled host on one page, counted by severity: how many machines carry it, which package closes it, and how long it has been pending. Each row opens on the hosts it affects.

Remediating a severity tier

Remediation

Closing them creates a patch wave

An entire severity tier can be closed in one action, across the estate or inside one application, run manually or on a date. It creates a patch wave, so approval, the freeze calendar and the schedule apply to it exactly as they do to any other run.

A wave that succeeds on every host moves into the wave history by itself. Where it does not, it returns as a draft aimed only at the hosts still exposed, so a retry never patches a machine that is already fixed.

Version drift by host

Consistency

Package consistency across the estate

The inventory answers which versions of a package are installed and on which machines. A host running something other than the version most of its peers on the same release run is reported as drift, named rather than counted, and a single action brings every host that differs back to it.

A pinned package, whether company-wide, by group or on a single host, is left out of what a wave installs, while remaining visible to the inventory and to CVE reporting.

Compliance report: patch posture by environment

Measurement

Patch posture by environment, and the time to close by severity

Coverage is reported by environment and by application, with a 30-day or 90-day trend. Time to remediate and the SLA compliance rate are calculated per severity from the remediation events themselves, and the update SLA and the CVE SLA are separate measures with their own thresholds and their own switch: turned off, a measure does not appear in the report.

Open items are aged in buckets from under 30 days to over 180, and every host is checked against the published end-of-life date for its release.

Directory sign-in settings

Identity

People sign in with the account they already have

Active Directory or any other LDAP directory. An account is created here on first sign-in and takes the role its directory groups map to, one pair per line, so joining a team in the directory is the whole of granting access here.

Two rules make it safe to switch on. Local accounts always keep working: a username that already exists here is never checked against the directory, so one that is down, unreachable or misconfigured cannot lock anybody out. And a directory can never grant superadmin: that role is not in the mapping at all, so the directory cannot take over the installation.

Advisory data for every family that publishes it

On RHEL, Rocky, Alma and SUSE the agent reads the advisories the package manager already carries, which adds no network access to a host that can reach its repositories. Debian and Ubuntu are matched by the server against the DSA, DLA and USN lists the distributions publish. The server fetches those lists only after an administrator turns the feature on, through a proxy where one is required, and this is the only part of the product that contacts anything outside the network.

Arch has no security channel to read and CentOS Stream publishes no errata at all. A host of that kind reports its CVE count as unknown rather than as zero, because the two read identically on a screen and mean opposite things.

Change freezes

A named window during which the hosts it covers are neither patched nor rebooted: month end, a holiday, a release weekend. Fixed dates or a recurrence, targeting the whole company down to a single host, and enforced at every path that can create a job rather than at the schedule alone.

A host inside a window is recorded as skipped rather than counted as patched, and an administrator who has to breach one writes a reason that stays on the run.

A record of every action, and a credential for automation

Every consequential action is written to an append-only audit log that keeps the name of what it touched beside its identifier, so a host deleted a year ago is still legible.

Automation is given a credential of its own rather than a person's: an API key that does not expire and is revoked the day the system holding it is decommissioned.

Notifications that clear themselves

Wave results, approvals waiting on somebody, hosts that have stopped reporting and agents left behind a version are delivered by email, by webhook and in the console itself.

A notification describing a state is rewritten as that state changes and removed once it no longer holds, rather than leaving behind a line that was true last week.

Commands around the patch step, and one retry

A wave can run a command on the host before and after it patches, to quiesce a service and check it afterwards. A failed command before the patch stops the run before anything is installed; a failed one after it is recorded and does not turn a successful patch into a failure. Setting either requires an administrator, even where an operator may edit the rest of the wave.

A host that failed can be retried once, by hand, from the wave's own report.

TLS throughout, and a database that can be restored

The console, the API and every agent speak TLS, with a private certificate authority created at installation. The agent verifies against the authority file it was given rather than the system trust store, and refuses a plaintext address even when the server offers one.

The database is backed up on demand or on a schedule with a retention count, and restored from a backup already on the server or from a file uploaded to it.

Capabilities

Inventory, patch waves, and confirmed reboots

Inventory of every enrolled host

Know

Inventory that reflects the current state

Hardware, operating system, kernel, packages, pending updates and systemd services for every enrolled host. Refreshed on a schedule and again after each patch run, so the data acted upon is the state of the machine rather than a manually maintained record.

Patch waves

Act

Structured patch campaigns

Hosts are grouped by environment, application or organization unit, with scope set to all available updates or security updates only. Waves can be scheduled once, weekly or monthly, suspended during a change freeze, and gated behind the four-eyes principle, which requires a second person to approve the run before any package is installed. A wave triggered twice does not patch the same host twice.

Per-server report for a wave

Verify

A reboot is recorded when the host returns

Not at the point the command is issued. PatchWard waits for the agent to report a new boot id, then records the time of return and the uptime since. Outstanding reboots remain visible until they are completed.

Governance

Authority and exceptions, both on the record

Patching touches production, so both questions have a written answer.

Users, roles and application scope

Access control

Five roles, from read-only to full control

Viewer has read and print access only. Application user sees only the servers belonging to the applications they own and may request an exception. Operator creates and executes waves. Admin approves runs and administers users. Superadmin additionally controls company branding and licensing.

Every account is scoped to the applications it belongs to: a team lead opens the console and sees the systems under their responsibility, not the entire estate.

Exception requests and their approval trail

Exceptions

Exceptions with an owner, a reason and an expiry

The application owner submits the request with a justification, such as a change freeze, a ticket reference or a month-end close, and an administrator approves or rejects it. Once approved, the host is skipped on its next run and the exception is consumed, so it cannot become a permanent exclusion that no one remembers granting.

The requester, the justification, the approver and the run that consumed the exception are all retained, and the skipped host is reported as an exception rather than counted as patched.

Operation

The operating cycle

The same five steps in every cycle, from five hosts to several thousand.

  1. 1

    Onboard

    The console connects to the host over SSH, installs the agent and begins receiving reports within a minute, with the log streamed live.

  2. 2

    Scan

    Each agent reports inventory and pending updates on its own cadence, or on demand when an immediate refresh is required.

  3. 3

    Schedule

    Hosts are assigned to a wave with a defined scope and window, such as the test tier on Tuesday and production on the second Saturday, in line with the change process.

  4. 4

    Run

    The wave dispatches one job per host, each with a live console and per-host outcomes as they complete. Kernel CVEs can be applied without a reboot through kpatch on RPM hosts.

  5. 5

    Report

    Coverage, failures, pending reboots and the exact version changes, printable for the auditor, the service owner or the next engineer on call.

Printable wave report

Evidence

The record an audit requires

Every execution is recorded and printable: the host, the package, the version before and after, who triggered the run and who approved it. Coverage and success rate for the window, the hosts that failed, and the reboots still outstanding.

  • Compliance report across any date range
  • One report per wave, or per individual execution
  • Your company name in the header, PDF from the browser

Evaluate it on your own infrastructure

No prepared demonstration data. You install it on a machine you control, onboard your own hosts and run a real patch window with it. Tell me roughly how many hosts you have and which distributions they run, and I will send you the installation bundle.

Request an evaluation

leandro.gomes@patchward.net · no sales call, no form, no account

FAQ

Common questions

What has to be installed?

Three containers on a single machine, the console, the API and PostgreSQL, from pre-built images. There is no build step and no internet access is required on that machine. Managed hosts receive a single agent, deployed from the console over SSH.

Does anything leave my network?

Agents communicate only with your own server. There is no telemetry, no outbound reporting and no account to create. The one exception is the Debian and Ubuntu advisory lists, which the server fetches only after you turn that feature on, through a proxy if you need one.

Which distributions are supported?

Debian and Ubuntu, RHEL, Rocky, Alma and CentOS Stream, SUSE, and Arch. Kernel live-patching through kpatch on the RPM family.

How is it removed?

Stop the three containers and drop the volume. On each host the agent is a single systemd service and one directory, and the console can remove it.