Desktop Application
The Safeguard desktop app — a native client for macOS, Windows, and Linux with system-level controls.
Desktop Application
The Safeguard desktop app is a native application for macOS, Windows, and Linux. It pairs the full Safeguard UI with system-level capabilities that a browser cannot offer: inspecting local repositories, scanning container images without pushing them anywhere, and running Griffin-assisted fixes directly against files on disk.
What Makes It Different
Browser-based security tools cannot reach into your filesystem, container runtime, or local Git workspaces. The desktop app can, with explicit user consent:
- Scan local code — point the app at a project folder; it generates an SBOM without uploading your source.
- Scan local Docker / Podman images — inspects layers and metadata against your local daemon socket.
- Run Griffin autofix against local files — applies remediation to your working copy, shows the diff, and asks for confirmation before writing.
- Install the Safeguard CLI and agents — one-click installers for the CLI, runner, and Kubernetes admission controller.
- Execute shell commands under consent — used for tasks like running
git status,npm audit, ordocker inspect. Every command is shown before it runs and logged locally.
Supported Platforms
| OS | Architecture | Notes |
|---|---|---|
| macOS 12 Monterey+ | arm64, x86_64 | Notarized universal binary. Auto-update via Sparkle. |
| Windows 10 / 11 | x86_64, arm64 | MSIX and EXE installers. Signed with EV cert. |
| Linux (Ubuntu 22.04+, Fedora 40+, Debian 12+) | x86_64, arm64 | .deb, .rpm, AppImage, Flatpak. |
Download from safeguard.sh/download.
First Run
- Install the app.
- Sign in with your Safeguard account (OAuth via browser).
- Grant or decline each system capability individually:
- Filesystem access (per-folder)
- Docker / Podman socket access
- Kubernetes kubeconfig access
- Shell command execution
- Optionally, install the Safeguard CLI and local runner — the app will detect them later if you skip.
All grants are persisted in the OS keychain and can be revoked in Settings → System Access.
Capabilities
Local Project Scanning
- Drag a folder onto the app, or use File → Open Project.
- The app detects the package ecosystem (npm, pip, Maven, Go, Cargo, etc.) and generates a CycloneDX SBOM locally.
- SBOM stays on disk by default. Upload to Portal is a one-click action you approve explicitly.
Local Container Scanning
- Connect to the local Docker or Podman daemon.
- The app lists images and lets you scan one without pulling or pushing.
- Scan results cross-reference with Safeguard vulnerability data while respecting your "don't upload SBOM" preference if set.
Griffin Desktop Mode
- Open any local project; click Fix with Griffin.
- Griffin proposes a diff. You can preview it in the app's diff viewer or in your configured editor (VS Code, Cursor, JetBrains).
- Nothing is written to disk until you click Apply. You can also commit through the app.
System Control (Consent-Gated)
The app can run shell commands on your behalf for security tasks:
npm audit fixafter a Griffin-suggested upgrade.docker pullto fetch a patched base image.git checkout -bto create a remediation branch.kubectl rollout restartafter you apply a Helm upgrade.
Every command appears in a confirmation dialog with:
- The exact command text.
- Why Safeguard proposed it.
- A "remember for this session" checkbox (not persistent).
You can audit every executed command in Settings → Activity Log, which is stored locally and never uploaded.
Menu Bar / System Tray Agent
A lightweight helper runs in the menu bar / system tray:
- Shows current security status for watched projects.
- Surfaces newly published zero-days that affect your local projects.
- Notifies when a Griffin remediation is ready for review.
The tray agent consumes roughly 40–80 MB of RAM and negligible CPU.
Privacy and Security
- Source code stays local unless you explicitly upload an SBOM or file.
- Per-folder filesystem permission — the app cannot read outside folders you grant.
- No telemetry on source contents — only anonymized usage metrics (screens viewed, features used) with an opt-out in Settings.
- Signed updates — updates are signed by Safeguard's code-signing cert and verified before installing.
Offline and Air-Gapped Mode
The app can run in offline mode using a local vulnerability database snapshot. Snapshots are refreshed on a schedule or on-demand when the device comes online. See air-gapped guide.
System Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 4 GB | 8 GB+ |
| Disk | 500 MB install + ~1 GB offline DB snapshot | 5 GB |
| CPU | 64-bit | 4+ cores |
Uninstall
The app uninstalls cleanly:
- macOS: drag to Trash or use the in-app uninstaller.
- Windows: Apps & Features → Safeguard → Uninstall.
- Linux: package manager (
apt remove safeguard-desktop,dnf remove safeguard-desktop, or the AppImage delete).
All local caches, SBOMs, and logs can be preserved or wiped during uninstall.
Related
- Web Application — browser-based counterpart.
- Runner — local workflow executor embedded in the app.
- CLI — command-line equivalent that the desktop app can install.
- IDE Support — editor integrations that pair with the desktop app.