Skip to content
Jim Daley edited this page Jul 2, 2026 · 3 revisions

Forsetti Jamf Pro Wiki

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.

Forsetti command center

What Forsetti Provides

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

System At A Glance

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
Loading

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.

Wiki Map

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.
License Alpha/Beta evaluation terms and enterprise-license requirement.

Product Identity

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

License Snapshot

Forsetti is proprietary software owned by James Daley, DBA Raven Forge Software. The project is currently in Alpha. Alpha and Beta builds are free to try only for internal evaluation. Every other use requires a separate written enterprise license from Raven Forge Software. Pricing is TBD.

Current Implementation Snapshot

  • SwiftUI app target: Forsetti
  • Xcode project: Forsetti.xcodeproj
  • Public framework package products: ForsettiCore and ForsettiPlatform
  • 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

High-Level Design Principles

  1. Keep the app Apple-native: SwiftUI, system Keychain, native file export, platform-aware layouts, and macOS/iOS target support.
  2. Keep Jamf Pro access centralized: modules call shared services rather than building independent token or network stacks.
  3. Keep destructive or sensitive workflows guarded: readiness checks, privilege mapping, typed confirmation, and diagnostics should surround risky device actions.
  4. Keep runtime boundaries explicit: manifests describe capabilities and data isolation, and the bootstrap activates modules through the Forsetti runtime.
  5. Keep diagnostics useful: support and engineering should be able to export readable JSON and Markdown evidence without exposing secrets.

Compact Forsetti layout

Clone this wiki locally