Repository navigation
Home
reportmate-client-mac is the macOS endpoint agent for ReportMate. It is a
native Swift 6 package that collects device telemetry — hardware, system,
security, network, identity, applications, managed installs, MDM state and
peripherals — and POSTs it as a single JSON payload to /api/v1/events on the
ReportMate API.
Data comes from osquery (with the macadmins osquery extension) wherever a table
exists, and from system_profiler, ioreg, dscl, profiles, mdmclient and
other command-line tools where it does not. The client only runs an osquery
binary that is root-owned and carries osquery's own signature, and every module
falls back to shell collection when no such binary is available, so a Mac
without osquery still reports.
Collection is scheduled by LaunchDaemons on staggered intervals, plus a Munki
postflight hook that reports managed installs immediately after every
managedsoftwareupdate run. On install, the package sends a check-in so the
device appears within seconds, then runs a full collection.
The latest release is 2026.10.07.2024, published as an unsigned
ReportMate-2026.10.07.2024.pkg with a SHA-256 sidecar on the repo's Releases
page.
| Component | Path | Role |
|---|---|---|
managedreportsrunner |
/Applications/Utilities/Managed Reports Runner.app/Contents/MacOS/ |
CLI collector; must run as root |
ReportMateApp |
same bundle | SwiftUI GUI with Prefs, Run and Logs tabs |
ReportMateHelper |
same bundle, started by com.github.reportmate.helper
|
Privileged XPC helper the GUI uses to run collections and write system preferences |
reportmate-appusage |
/usr/local/reportmate/ |
Persistent watcher recording application launches and focus time |
macadmins_extension.ext |
/usr/local/reportmate/ |
Bundled macadmins osquery extension |
| Page | Contents |
|---|---|
| Getting Started | Install, point at an API, verify a check-in |
| Installation | Package layout, LaunchDaemons, privacy profile, Munki integration |
| Configuration | Every preference key, defaults, precedence, MDM profile delivery |
| Modules | Every collection module, its sources and its output shape |
| Architecture | Targets, collection flow, payload format, caching |
| Command Line Reference | Every flag on every binary |
| Managed Reports Runner App | The GUI and its privileged helper |
| Logging | Log files, rotation, verbosity levels |
| Building and Releasing |
build.sh, signing, notarization, CI |
| Troubleshooting | Failure modes visible in the code and their fixes |
| Development | Clone, build, test, run locally |
| Repo wiki | What it is |
|---|---|
| reportmate-api | FastAPI ingest + query backend |
| reportmate-app-web | Next.js dashboard |
| reportmate-client-win | Windows agent (C# / .NET) |
| reportmate-cli | Cross-platform admin CLI |
| reportmate-mcp | MCP server exposing the fleet to AI agents |
| terraform-azurerm-reportmate | Azure deployment module |
| terraform-aws-reportmate | AWS deployment module |
| selfhosted-docker-reportmate | Docker Compose stack + Packer appliance |
| reportmate-website | Marketing site, reportmate.app |
MIT licensed. — reportmate.app