See what is installed on your Mac—and understand how it got there.
Mac App Store · installory.app · Free · MIT · macOS 14+
Installory is a native macOS inventory for Homebrew, pip, pipx, persistent uv tools, npm, Cargo, RubyGems, and receipt-bearing Mac App Store apps. It combines on-disk package metadata into one explained view without modifying the system or contacting a server.
- Unified List and sortable Table views with search by name, scope, or path.
- Package descriptions, install timing, dependencies, and bounded payload sizes when that metadata is available.
- Cross-manager duplicate analysis, review candidates, cleanup scoring, and a measured-payload Disk Usage view.
- Optional local provenance from matching shell history and Claude Code session records, enabled explicitly in Settings → Privacy.
- Snapshots, change timelines, and CSV, Markdown, JSON, and environment-report exports.
- Exact single or bulk cleanup scripts for the user to review and run manually. Bulk cleanup snapshots first; single-package generation follows the selected Always, Ask, or Never snapshot preference.
- Read-only scanning: Installory never installs, removes, or changes software.
- No command execution: production code contains no subprocess calls.
- No runtime network: package descriptions are bundled with the app.
- Sandboxed access: external folders require user-granted, read-only, security-scoped bookmarks. Read-write access applies only to a destination the user selects in a Save panel.
- Local privacy: provenance is off by default, redacted before persistence, and never leaves the Mac.
CI enforces these boundaries with scripts/check-invariants.sh.
Installory runs on macOS 14 or newer. Building requires Xcode 16.3 or newer on a macOS release supported by that Xcode, plus XcodeGen:
brew install xcodegen
./scripts/regenerate-xcode.sh
open Installory.xcodeprojSelect a Development Team in Xcode before running the app. The generated
Installory.xcodeproj is intentionally ignored; project.yml is the source of
truth and must be regenerated after app-target files are added, moved, or
renamed.
Run the Core suite without Xcode:
cd Installory
swift testRun the app suite without signing:
./scripts/regenerate-xcode.sh
xcodebuild \
-project Installory.xcodeproj \
-scheme Installory \
-destination 'platform=macOS' \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGNING_REQUIRED=NO \
testThe offline description corpus has its own maintenance runbook.
Installory/— standalone Swift package containing scanners, models, persistence, provenance, snapshots, exports, and script generation.App/Sources/— SwiftUI shell andAppCoordinatorintegration layer.App/Resources/— app assets, privacy manifest, legal notices, and bundled descriptions.project.yml— XcodeGen source of truth..github/workflows/test.yml— Core, app, Release-build, and invariant gates.
The only package dependency is GRDB, pinned to the 7.10 minor series. New scanners must remain filesystem-only; managers that require executing a command are deliberate gaps.
The current 1.4.0 submission notes and archive checklist are in RELEASE.md. Historical audits and implementation plans live in Git history rather than the working tree.
Installory is available under the MIT License. Bundled dependency and
asset notices are in App/Resources/ThirdPartyNotices.txt.

