LaunchWarden
See everything that starts on its own on your Mac.
FREE · OPEN SOURCE · BETA · macOS 13+
Step 1
1Install from source
Terminal
~ % git clone https://github.com/amiu888/launchwarden.git
~ % cd launchwarden
launchwarden % scripts/install.sh
==> Building (release)…
==> Assembling LaunchWarden.app…
==> Signing (ad-hoc, for this Mac)…
==> Installing to /Applications…
==> Installing the command-line tool to /usr/local/bin (password needed)…
==> Done. Opening LaunchWarden…
Needs Xcode 16+ · a signed beta DMG is coming soon
Step 2
2Grant Full Disk Access
Privacy & Security › Full Disk Access
Allow the applications below to access data like Mail, Messages, Safari, Time Machine backups and certain administrative settings for all users on this Mac.
LaunchWarden
>_Terminal (for the CLI)
Quit and reopen LaunchWarden. The “results are incomplete” banner goes away.
Illustration of System Settings
Step 3
3Run your first scan
LaunchWarden — Scan This Mac
Startup Items
Needs Attention 2
Favorites
Create a Job
Fix a Problem
Scan This Mac
Advanced
All Jobs
Persistence audit
Scan Now
Categories checked: 0 of 20 · signer · notarization · SHA-256
com.lwdemo.helper
Launch Items · /Users/Shared/.lwdemo/helper.sh
65 High
com.example.sync-agent
Launch Items · Developer ID, notarized
0 Low
Example Menu Helper
Login Items · Developer ID, not notarized
10 Low
~/.zshrc
Shell Configuration
10 Low
Illustration of the app · example data
Step 4
4Read the risk score
com.lwdemo.helper
0of 100
High (50 and up)
Low < 20 · Medium 20–49 · High 50+
Why this score
Runs from a temporary or shared folder.+20
Lives in a hidden folder or is a hidden file.+15
Scripts are unsigned, so nobody vouches for them.+10
Starts at load and is restarted whenever it stops.+10
Appeared in the last 7 days.+10
Illustration · a score is guidance, not a verdict
Step 5
5Fix a broken job with Repairs
com.example.backup — Problems
52 validator rules (R01–R52) · the job file is backed up before every fix
Error · R17 “backup.sh” is not marked as executable. Make it executable
Error · R25The folder for StandardOutPath (/Users/you/Library/Logs/Backup) does not exist.Create the folder
✓ Fixed · the old file is saved in History
Illustration of the app · example job
Step 6
6Scan from the command line
Terminal
~ % launchwarden scan --pretty --category launch-items
{
"label": "com.lwdemo.helper",
"risk": { "score": 65, "band": "high", … },
…
}
~ % echo $?
2 # 0 nothing untrusted · 1 untrusted · 2 high-risk
~ % launchwarden scan --html --include-trusted -o report.html
Output shortened for the video
LaunchWarden BETA
Free and open source (GPL-3.0) · macOS 13+
github.com/amiu888/launchwarden
A miulabs project
0:00