Backup scripts often require manual scheduling, command-line execution, or complex configurations. Resticpal turns the trusted restic engine into a quiet, friendly Windows backup experience without hiding the repository formats that make restic dependable.

It is built for personal PCs, small fleets, and managed deployments that want modern Windows ergonomics alongside restic’s backend flexibility.

Windows Ergonomics for Real Hardware

Laptops do not behave like server infrastructure; they sleep, disconnect, and switch networks frequently. Resticpal fits into these constraints with scheduler guards:

  • Sleeping Laptops: Backups automatically catch up after a machine wakes up, respecting a configurable grace period before starting.
  • Power and Network Gates: The scheduler monitors battery state and metered-network status to delay resource-heavy uploads until conditions are safe.
  • Windows Wake Locks: The background service holds a bounded Windows wake lock while active to prevent the machine from falling asleep mid-backup, with a hard two-hour safety timeout.

Silent Background Operation

Resticpal operates as a machine-wide LocalSystem Windows service. Once configured, backups continue on their specified schedule even when the settings window is closed or no user is signed in.

A low-resource Win32 tray application runs at user logon to keep protection status visible in the notification area, offering single-click settings access, quick “Run now” triggers, and real-time progress cancellation.

Three Operational Modes

Resticpal grows from a single desktop computer to enterprise fleets through three distinct deployment modes:

  1. Standalone Mode: Keeps all configuration and repository credentials encrypted locally on the PC using DPAPI-protected storage with restricted ACLs. This mode is completely self-contained and needs no account or server.
  2. Plain Manifest Mode: Periodically polls backup policies from a standard HTTP/HTTPS file server. This unidirectional flow is private: it does not identify the device, upload client status, or expose repository secrets.
  3. Managed Server Mode: Enrolls the device using a one-time signed bootstrap URL to fetch policies and report backup metrics. The client retains a signed local copy of the last-known-good policy for offline operation.

Ransomware-Conscious Append-Only Backups

In standard backup setups, a compromised client computer could access repository keys and delete historical archives. Resticpal mitigates this risk by enforcing a strict append-only model:

  • Client Limitation: The local client builder restricts execution to append-only commands, allowing it to write new snapshots but denying it the authority to run retention prunes, rewrites, or key deletions.
  • Companion Server: A companion resticpal-server holds the full-access repository credentials securely. It runs retention and data-pruning tasks on a separate schedule on a different host. Full access credentials are never delivered to enrolled backup clients.

Development and Installation

Resticpal is an open-source project licensed under the BSD 2-Clause License. It is implemented in Rust (core scheduler, named-pipe IPC, and Windows service) and C# (.NET SDK 10, WinUI 3, and WiX 6 MSI installer authoring).

The prebuilt installer provides a per-machine MSI that automatically installs the background backup service, sets up recovery policies, integrates the notification tray for all users, and signs both the executables and MSI using StackFoundry LLC’s Authenticode certificate.

The source code and documentation are available on GitHub.