macOS menu bar app to clock in to Factorial HR with one click.
- Clock in for any date with configurable start/end time
- Remembers last used hours and project
- Select project from your assigned Factorial projects
- OAuth 2.0 via system browser (
ASWebAuthenticationSession) - No Dock icon — lives entirely in the menu bar
- macOS 13 Ventura or later
Deploy FactorialWidget.pkg via MDM. No user configuration required.
PKG releases are built locally and distributed out-of-band. See Building a PKG below.
- Click the Factorial icon in the menu bar
- Reautorizar OAuth → log in via browser and authorise
- Done — status updates automatically on every open
OAuth tokens are stored at ~/.factorial-tokens.json.
git clone https://github.com/nomasystems/factorial-macos-widget.git
open FactorialWidget/FactorialWidget.xcodeprojRequires Xcode 15+. No external dependencies.
The app reads credentials and telemetry config from environment variables at runtime — no secrets are baked into the build. Set these via JAMF or any MDM tool:
FACTORIAL_CLIENT_ID=<your_client_id>
FACTORIAL_CLIENT_SECRET=<your_client_secret>
OTEL_EXPORTER_OTLP_ENDPOINT=http://<host>:4318
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer <token>
chmod +x make-pkg.sh
./make-pkg.sh 1.0.0Produces FactorialWidget-1.0.0.pkg. Deliver this file to your sysadmin for MDM distribution. Credentials are injected via environment variables — no rebuild needed per environment.
Push a version tag to create a GitHub release with auto-generated changelog:
git tag v1.0.0
git push origin v1.0.0The PKG is not attached to the GitHub release — it is built locally and distributed out-of-band.
The app requires HTTPS to api.factorialhr.com (Factorial API + OAuth).
An App Transport Security exception for 46.27.220.60 is configured in Info.plist — this is the OTLP telemetry collector endpoint, which uses plain HTTP. Telemetry is fire-and-forget and does not affect widget functionality.