PushWarden docs

Moving from ThreatScan

PushWarden was called ThreatScan up to version 0.4. The name changed in version 0.5.0 because “ThreatScan” is used by other security products. It is the same program with the same features and the same release signing key.

What was renamed

  Before Now
Command threatscan pushwarden
Website and downloads the old ThreatScan pages pushwarden.com
Data directory ~/.threatscan ~/.pushwarden (an existing ~/.threatscan keeps being used, see below)
Environment variables THREATSCAN_HOME, THREATSCAN_ROOTS, … PUSHWARDEN_HOME, PUSHWARDEN_ROOTS, …
Background service threatscan-guard.service, com.threatscan.guard, “ThreatScan Guard” pushwarden-guard.service, com.pushwarden.guard, “PushWarden Guard”
Downloads ThreatScan-Setup.exe, ThreatScan.pkg, threatscan-linux-amd64.deb PushWarden-Setup.exe, PushWarden.pkg, pushwarden-linux-amd64.deb
Marker for files that hold signatures on purpose threatscan:allow-signatures pushwarden:allow-signatures

Moving an existing installation

ThreatScan does not turn into PushWarden through its own update, because the download names changed. Do this once on each machine.

  1. Remove ThreatScan. Your settings, history and quarantine are not deleted by this.

    threatscan uninstall --unblock
    

    On Windows you can also remove it under Settings, Apps. --unblock removes the firewall block, which asks for administrator rights; PushWarden sets up its own in the next step.

  2. Install PushWarden as described in Installation.

  3. Check it.

    pushwarden status
    pushwarden history
    

    status should show the guard alive, and history should show what ThreatScan recorded.

Your data is kept

PushWarden looks for its data directory in this order:

  1. the folder named by PUSHWARDEN_HOME, if that variable is set;
  2. ~/.pushwarden, if it exists;
  3. ~/.threatscan, if it exists;
  4. otherwise a new ~/.pushwarden.

So a machine that had ThreatScan keeps its settings, protection history, quarantine, allow decisions and github-clean progress without any step from you. New installations get ~/.pushwarden.

To switch an existing machine to the new folder name, do it while the guard is stopped:

pushwarden uninstall
mv ~/.threatscan ~/.pushwarden
pushwarden install

What you need to change yourself

  • Environment variables. The old THREATSCAN_* names are not read. Rename them in CI pipelines, scripts and shell start-up files, for example THREATSCAN_HOME to PUSHWARDEN_HOME. The full list is in Configuration.
  • The install one-liner and workflow references. Use https://pushwarden.com/install.sh in the install command, and replace any uses: line that called the old reusable workflow with the job shown in CI and automation.
  • The allow marker. A file in your own repositories that carries threatscan:allow-signatures needs pushwarden:allow-signatures instead, or PushWarden flags it.
  • Commands in scripts and hooks. Replace threatscan with pushwarden. A pre-commit hook installed by ThreatScan calls the old command: run pushwarden harden --pre-commit . in that repository to install it again.