-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Jim Daley edited this page Jul 2, 2026
·
3 revisions
Last updated: 2026-07-02
Forsetti is an Apple-native companion application for Jamf Pro administrators and support technicians. It brings credential management, inventory search, device support actions, prestage workflows, reporting, diagnostics, permission discovery, and deployment planning into a single SwiftUI command center.

| Area | What it does | Primary modules |
|---|---|---|
| Jamf connectivity | Stores Jamf Pro credentials, obtains tokens, dispatches authenticated Modern API requests, retries transient failures, and reports diagnostics. | com.forsetti.jamfpro.service.jamf |
| Inventory search | Searches computer and mobile inventory, supports reusable field profiles, advanced filters, detail views, and share/export surfaces. |
computer-search, mobile-device-search
|
| Support operations | Gives technicians a unified device support workspace with action readiness, command history, guarded MDM commands, temporary admin workflows, remote support readiness, and secret retrieval where authorized. | support-technician |
| Prestage operations | Views prestage profiles and assigned devices and supports assignment-oriented workflows. | prestage-director |
| Reporting | Builds visual fleet reports from Jamf Pro inventory and exports CSV, text, Markdown, document, and PDF output. | reports |
| Deployment planning | Provides a demo-safe deployment tracker with field catalogs, workflow status, Jamf Inventory Preload rendering, SD+ export, records archive paths, and integration simulation. | deployment-tracker |
| Permission analysis | Loads an offline permission matrix and helps map Forsetti actions/endpoints to Jamf Pro privileges. | permissions-matrix |
flowchart LR
Admin["Admin or technician"] --> App["Forsetti SwiftUI app"]
App --> Root["ForsettiProductionRootView"]
Root --> Bootstrap["ForsettiRuntimeBootstrap"]
Bootstrap --> Runtime["Forsetti runtime"]
Runtime --> UI["Retail UI module"]
Runtime --> Services["Service modules"]
Runtime --> Features["Feature lifecycle modules"]
UI --> Workspace["Dashboard workspace"]
Workspace --> FeatureViews["Feature workspaces"]
Services --> Jamf["Jamf Pro API"]
Services --> Keychain["Keychain"]
Services --> Diagnostics["Diagnostics center"]
FeatureViews --> Jamf
FeatureViews --> Diagnostics
The production architecture is a multi-module single application. Only one runtime module owns the visible UI. The rest of the runtime modules are service or feature lifecycle modules that declare capabilities and private data-isolation stores through bundled manifests.
| Page | Use it for |
|---|---|
| Architecture | Runtime boundary, source layout, dependency direction, and data ownership. |
| Runtime Bootstrap | Boot states, manifest discovery, module registration, activation, and error handling. |
| Module Catalog | Full module table, capabilities, versions, roles, and private stores. |
| Jamf API, Security, and Diagnostics | Credential storage, token flow, gateway retry behavior, logging, and diagnostics export. |
| Feature Workflows | User-facing workflows for inventory, support, prestage, and dashboard navigation. |
| Reports and Exports | Report query planning, inventory fetch, aggregation, visualization, and export pipeline. |
| Deployment Tracker Demo | Demo-mode deployment tracker architecture and safety model. |
| Permissions Helper | Offline permission matrix, action-to-privilege mapping, and runtime verification. |
| Development, Validation, and CI | Local build/test commands, static gates, GitHub Actions workflow, and release checks. |
| Item | Current value |
|---|---|
| Product name | Forsetti |
| App bundle identifier | com.ravenforge.forsetti |
| Test bundle identifier | com.ravenforge.forsetti.tests |
| App marketing version | 3.24.0 |
| Diagnostics subsystem | com.ravenforge.forsetti.diagnostics |
| Application support folder | Forsetti |
| Diagnostics folder | ForsettiDiagnostics |
| Diagnostics filename prefix | forsetti-diagnostics |
- SwiftUI app target:
Forsetti - Xcode project:
Forsetti.xcodeproj - Public framework package products:
ForsettiCoreandForsettiPlatform - Local framework dependency path:
../Forsetti-Framework-Mac-iOS-main - Runtime manifest directory:
ForsettiApp/Resources/ForsettiManifests - Runtime namespace:
com.forsetti.jamfpro.* - Visible UI module:
com.forsetti.jamfpro.retail.ui - Production service/feature module count: 10 service modules plus the single UI module
- Keep the app Apple-native: SwiftUI, system Keychain, native file export, platform-aware layouts, and macOS/iOS target support.
- Keep Jamf Pro access centralized: modules call shared services rather than building independent token or network stacks.
- Keep destructive or sensitive workflows guarded: readiness checks, privilege mapping, typed confirmation, and diagnostics should surround risky device actions.
- Keep runtime boundaries explicit: manifests describe capabilities and data isolation, and the bootstrap activates modules through the Forsetti runtime.
- Keep diagnostics useful: support and engineering should be able to export readable JSON and Markdown evidence without exposing secrets.

Forsetti Jamf Pro documentation. Keep module IDs, build commands, and security behavior aligned with the repository source before changing this wiki.