Know your Mac's security posture, fix the gaps, and keep it locked down. One command. fort runs 15+ security checks on your Mac, fixes what it safely can, and writes an auditor-ready report. No agent, no signup, no MDM enrollment. Just a single binary.
FAQ
fort is a Claude Code plugin with 1 hand-picked skill for security work, indexed on Flowy. Install it with the command on its page. It includes fort. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add djadmin/fort> /plugin install fort@fort
Repo: djadmin/fort
Know your Mac's security posture, fix the gaps, and keep it locked down. One command.
fort runs 15+ security checks on your Mac, fixes what it safely can, and writes an auditor-ready report. No agent, no signup, no MDM enrollment. Just a single binary.
Good for anyone who wants to harden their Mac. Essential for teams preparing for SOC 2 or ISO 27001.
fort audits every control and shows where you stand. fort --fix reviews each change, then applies, after you confirm.
Homebrew (recommended)
brew install djadmin/tap/fort
Direct download (macOS, Apple Silicon + Intel)
curl -fsSL https://github.com/djadmin/fort/releases/latest/download/fort_darwin_all.tar.gz | tar xz && sudo mv fort /usr/local/bin/
Go
go install github.com/djadmin/fort/cmd/fort@latest
Build from source
git clone https://github.com/djadmin/fort.git
cd fort && make install
Update
brew upgrade djadmin/tap/fort
fort # audit your Mac
fort --dry-run # preview what --fix would change; nothing is applied
fort --fix # audit, show confirmation prompt, apply selected fixes
fort --fix --yes # skip prompt; for scripts, MDM push, or cron
fort --json # structured JSON output for automation
fort --report # write fort-report-YYYY-MM-DD.html (print to PDF)
fort --only filevault,firewall # run only the specified checks (comma-separated IDs)
Exit codes: 0 all pass · 1 any fail · 2 any warn
fort ships a Claude Code plugin, so you can audit and harden your Mac just by asking. Say "is my Mac secure?" and Claude runs the audit, explains each finding and why it matters, then fixes only what you approve, showing the exact command first.
# 1. install the fort binary (the plugin drives it; Claude can also install it for you)
brew install djadmin/tap/fort
# 2. add the plugin
/plugin marketplace add djadmin/fort
/plugin install fort@fort
Then just ask, or run a command directly: /fort-audit (read-only), /fort-harden (fix safe issues with your approval), /fort-report (HTML evidence). The plugin runs the fort binary on your Mac over your shell, no extra service, nothing uploaded. See plugin/ for details.
fort reads local system state and exits. Nothing is uploaded, no account, no telemetry.--fix always asks first. It shows each change and prompts [y/N] before applying. Use --dry-run to preview without touching anything, or --yes to skip the prompt when you mean to (automation, cron, MDM).Full detail in PRIVACY.md: zero data collection, no network calls, nothing leaves your machine.
15+ macOS checks across five groups, each mapped to SOC 2, ISO 27001, NIST CSF, and CIS v8:
| Group | Checks |
|---|---|
| Core security | password manager, FileVault, screen lock, antivirus / EDR |
| System hardening | firewall, Gatekeeper, SIP, SSH |
| Access controls | local admin rights, guest account, automatic login, Touch ID for sudo |
| Exposure reduction | sharing services, AirDrop |
| Patching | automatic OS updates, OS patch status |
The exact set grows over time. Run fort to see every check on your machine, and the changelog for what's new.
{
"tool": "fort", "version": "0.3.0", "hostname": "alice-mbp",
"os_version": "15.5", "timestamp": "2026-06-09T10:00:00Z",
"summary": { "total": 16, "pass": 12, "fail": 2, "warn": 2, "score": "12/16" },
"policies": [{ "id": "filevault", "status": "pass", "current": "on",
"evidence": "$ fdesetup status\nFileVault is On.",
"frameworks": { "SOC 2": ["CC6.1", "CC6.7"], "ISO 27001": ["A.8.3"] } }]
}
fort --report writes a self-contained HTML evidence report: machine identity, serial number, OS version, timestamp, per-check results with the exact commands run and their verbatim output, and framework control references. Opens locally or prints to PDF. See a sample report.
PRs welcome. To add a check:
internal/checks/yourcheck_darwin.go and implement the Check interfaceinternal/checks/registry_darwin.gointernal/checks/frameworks.gogo test ./...; existing tests enforce interface contractsIf fort saves you time, please star it on GitHub. It is the easiest way to support the project and helps other people find it.
.claude-plugin/
marketplace.json
.github/
ISSUE_TEMPLATE/
bug_report.md
config.yml
new_check.md
PULL_REQUEST_TEMPLATE.md
workflows/
ci.yml
pages.yml
release.yml
.gitignore
.goreleaser.yml
CHANGELOG.md
cmd/
fort/
main.go
output_test.go
output.go
report_test.go
report.go
landing/
main_test.go
main.go
sample-report/
main.go
CONTRIBUTING.md
docs/
fort-cli.png
fort-demo.gif
fort-fix-cli.png
icon.png
launch-shots/
audit-emerald.png
audit-midnight.png
audit-rayso.png
audit-slate.png
audit-sonoma.png
compact.png
fix.png
report.png
og-fort.png
go.mod
go.sum
internal/
checks/
airdrop_darwin.go
antivirus_darwin.go
autologin_darwin.go
check.go
checks_test.go
evidence.go
filevault_darwin.go
firewall_darwin.go
frameworks.go
gatekeeper_darwin.go
guestaccount_darwin.go
localadmin_darwin.go
osupdates_darwin.go
osversion_darwin.go
passwordmgr_darwin.go
registry_darwin.go
registry_other.go
screenlock_darwin.go
sharing_darwin.go
sip_darwin.go
ssh_darwin.go
sudotouchid_darwin.go
landing/
app/
appcast.xml
index.html
og-image.png
screenshot.png
favicon.png
index.html
llms.txt
og-fort.png
robots.txt
sample-report.html
sitemap.xml
LICENSE
Makefile
plugin/
.claude-plugin/
plugin.json
commands/
fort-audit.md
fort-harden.md
fort-report.md
README.md
skills/
fort/
reference/
checks.md
SKILL.md
PRIVACY.md
README.md
SECURITY.md
svgs/
emerald-shield.svg
fortress-shield.svg
glowing-turret-transparent.svg
glowing-turret.svg
lock-emblem.svg
neon-fort.svg
obsidian-tower.svg© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic