> For the complete documentation index, see [llms.txt](https://boza.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://boza.gitbook.io/docs/browser-extension/deployment/jamf.md).

# Jamf (macOS)

This guide walks you through deploying the Boza browser extension to your organization's Apple devices using **Jamf Pro**. The deployment covers Chrome, Firefox, and Safari.

## Prerequisites

* Admin access to your **Jamf Pro** instance
* Admin access to your **Boza** workspace
* Your Jamf Pro server URL (e.g., `https://yourcompany.jamfcloud.com`)
* A Jamf **API Client ID** and **Client Secret** (created in Part 1 below)
* User email addresses assigned to devices in Jamf (via LDAP/AD, Apple Business Manager, or the device's User and Location record)

{% hint style="warning" %}
Auto-login will not work if email addresses are not assigned to devices in Jamf. The `$EMAIL` variable is populated from each device's **User and Location** record.
{% endhint %}

## Browser Support Overview

| Browser         | Auto-install       | Auto-login |
| --------------- | ------------------ | ---------- |
| Google Chrome   | Yes                | Yes        |
| Mozilla Firefox | Yes                | Yes        |
| Safari          | Manual (App Store) | Yes        |

{% hint style="info" %}
Chrome and Firefox are fully automatic. Safari auto-login is configured automatically, but the Boza Safari app must be deployed separately from the Mac App Store (see Part 3).
{% endhint %}

***

## Part 1: Connect Jamf to Boza

Before deploying the extension, you need to create a Jamf API role and client, then connect them to Boza.

### Step 1.1 — Create an API Role in Jamf Pro

1. In Jamf Pro, navigate to **Settings** and search for **api**, then click **API roles and clients**.
2. On the **API Roles** tab, click **+ New**.
3. Set the **Display name** to `Boza Integration`.
4. Under **Privileges**, enable the following:

| Privilege                           | Required for                         |
| ----------------------------------- | ------------------------------------ |
| Read Computers                      | Look up device user by serial number |
| Read Smart Computer Groups          | List groups for deployment targeting |
| Read Static Computer Groups         | List groups for deployment targeting |
| Create macOS Configuration Profiles | Push extension profiles to devices   |
| Read macOS Configuration Profiles   | Check deployment status              |
| Update macOS Configuration Profiles | Update existing profiles on redeploy |

5. Click **Save**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-0d7f52241adeaf7d7dfe92985aad575cd31a9cfa%2Fjamf-step-02.png?alt=media" alt="Jamf Pro Settings - searching for API roles and clients" width="560">

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-6d3a19db9a7576dc77ee77fafd7b8b7efd1e8b72%2Fjamf-step-03.png?alt=media" alt="Jamf Pro - API Roles tab with the New button highlighted" width="560">

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-1207eff4edec40ea5062ad2c453cb5470a7cfe78%2Fjamf-step-04.png?alt=media" alt="Jamf Pro - New API Role form with display name and privileges" width="560">

### Step 1.2 — Create an API Client

1. On the same page, click the **API Clients** tab, then click **+ New**.
2. Fill in the form:
   * **Display Name:** `Boza`
   * **API roles:** assign `Boza Integration`
   * **Access token lifetime:** leave as default
   * **Enable/disable API Client:** click **Enable API client**
3. Click **Save**.
4. Click **Generate Client Secret** — copy both values immediately and store them securely.

{% hint style="warning" %}
The Client Secret is only shown once. If you lose it, you will need to generate a new one.
{% endhint %}

| Value         | Where to find it                                     |
| ------------- | ---------------------------------------------------- |
| Client ID     | Shown on the API Client detail page                  |
| Client Secret | Shown once after clicking **Generate Client Secret** |

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-f45831b0d452b71e0b7400155389e842d54efad2%2Fjamf-step-05.png?alt=media" alt="Jamf Pro - API Clients tab with the New button highlighted" width="560">

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-a9c3539c014ebf79166effe993aec609a40ccc65%2Fjamf-step-06.png?alt=media" alt="Jamf Pro - New API Client form with display name, roles, and enable toggle" width="560">

### Step 1.3 — Connect Jamf to Boza

1. In Boza, navigate to **Integrations** and find the **Jamf** integration, then click **Connect**.
2. Enter your credentials:
   * **Jamf Pro Server URL:** `https://yourcompany.jamfcloud.com`
   * **Client ID:** the Client ID from Step 1.2
   * **Client Secret:** the Client Secret from Step 1.2
3. Click **Test Connection** — you should see a success confirmation.
4. Click **Save Configuration**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-f4eff3ff87997984ccc786dd8932db39392e3aaa%2Fjamf-step-07.png?alt=media" alt="Boza - Integrations page with Jamf Connect button highlighted" width="560">

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-fb57d5ef8c28859a14da540a1e5ba739604b9049%2Fjamf-step-08.png?alt=media" alt="Boza - Jamf configuration modal with Server URL, Client ID, and Client Secret fields" width="560">

***

## Part 2: Deploy the Extension (Chrome + Firefox)

Once Jamf is connected to Boza, you can deploy the extension in a few clicks. Boza will automatically create the macOS configuration profiles in Jamf and assign them to the selected computer groups.

### Step 1 — Open browser extension settings

In the Boza admin panel, navigate to **Settings > Browser Extension**. In the top-right corner, click **Deploy extension**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-221699962bda1012bc3d04b2e8170152c1f8cd68%2Fjamf-step-09.png?alt=media" alt="Boza - Browser Extension settings page with Deploy extension button highlighted" width="560">

### Step 2 — Select Jamf as the deployment method

A modal will appear. Select **Jamf — Deploy via Jamf for Apple devices**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-d59977a67ceeef0b2a2b1189474178027574fe5c%2Fjamf-step-10.png?alt=media" alt="Boza - Select deployment method modal with Jamf option" width="560">

### Step 3 — Review the Jamf connection

Boza verifies your Jamf credentials. If the connection is valid, you will see a confirmation message.

{% hint style="info" %}
A reminder will appear that Safari requires a separate manual step. This is covered in Part 3.
{% endhint %}

Click **Continue with automatic deployment**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-efb99b14c0c002196b706cd799b7ba27cb0c0472%2Fjamf-step-11.png?alt=media" alt="Boza - Jamf Pro connection verified with Safari reminder and continue button" width="560">

### Step 4 — Select computer groups

Choose which Jamf computer groups should receive the extension. All smart and static groups are listed automatically.

The deployment configures:

* **Google Chrome** — auto-install + auto-login
* **Mozilla Firefox** — auto-install + auto-login
* **Safari** — auto-login only (the app must be pushed separately)

Select one or more groups, then click **Continue to deployment**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-378bf78f680017224d91246afbe04d279a2fe442%2Fjamf-step-12.png?alt=media" alt="Boza - Select computer groups with browser configuration summary and group list" width="560">

### Step 5 — Confirm deployment details

Review the deployment summary showing the selected groups and browser configurations. Click **Deploy extension** to start.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-6b11aa50821329a180d4398b678d511d3f3c94eb%2Fjamf-step-13.png?alt=media" alt="Boza - Deployment summary showing selected groups and browser configurations" width="560">

### Step 6 — Deployment in progress

Boza sends configuration profiles to Jamf Pro. Jamf distributes them to all devices in the selected groups on their next check-in.

What happens next:

* Jamf distributes the extension to all Apple devices in the selected groups.
* Users may need to restart their browser to see the extension.
* Users are automatically logged in on Chrome, Firefox, and Safari once the profiles are applied.

{% hint style="info" %}
Deployment can take up to 24 hours to reach all devices, depending on how frequently they check in with Jamf.
{% endhint %}

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-7315cb19df939fb65e058daf2608c98e5d3aaf0b%2Fjamf-step-14.png?alt=media" alt="Boza - Deployment in progress with next steps and Safari reminder" width="560">

### Step 7 — Monitor deployment status

After deployment, Boza shows real-time installation status for each device. The status panel displays:

* **Browser Deployment** — whether the profile is pending or installed for each browser
* **Device Installation Status** — individual device status with a progress bar

The device list refreshes every 30 seconds. You can also check status later from **Integrations > Jamf**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-93329bb04f19f35b0c309d064b87c4bcb8f03d19%2Fjamf-step-15.png?alt=media" alt="Boza - Browser deployment status and device installation progress" width="560">

***

## Part 3: Deploy the Safari App (Mac App Store)

Safari requires the **Boza - Extension** container app to be installed before the extension can run. This app is free on the Mac App Store and must be deployed via Jamf's Mac apps feature.

### Step 1 — Navigate to Mac Apps in Jamf

In Jamf Pro, go to **Computers > Mac Apps**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-b6f708f6fd99d88413cfc989a702ad50fe53c0a2%2Fjamf-step-16.png?alt=media" alt="Jamf Pro - Computers sidebar with Mac Apps selected" width="560">

### Step 2 — Add a new app

Click the **App Store** tab, then click **+ New** in the top-right corner.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-9f35ffa0fc9aa180c67cec3c34968f8b7f68c337%2Fjamf-step-17.png?alt=media" alt="Jamf Pro - Mac Apps page with App Store tab and New button highlighted" width="560">

### Step 3 — Select app source

Select **Mac App Store** as the app source. Click **Next**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-b6284fb49f596e27ddd392995d25dae2b488e615%2Fjamf-step-18.png?alt=media" alt="Jamf Pro - Select App Source with Mac App Store selected" width="560">

### Step 4 — Search for Boza

In the **Search** field, type `Boza`. Set the **App Store Country or Region** to match your organization's region. Click **Search**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-a3b8c16e986f0f1d1d6ce15b5b218a1b558d52d7%2Fjamf-step-19.png?alt=media" alt="Jamf Pro - Search the App Store for Boza with region selector" width="560">

### Step 5 — Add the app

The search returns **Boza - Extension** by BOZA. Click **Add**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-19d129f6a3bfd62394846245dfb14dff23f945c9%2Fjamf-step-20.png?alt=media" alt="Jamf Pro - Search results showing Boza - Extension app with Add button" width="560">

### Step 6 — Configure general settings

Verify the pre-filled values:

| Field             | Expected Value    |
| ----------------- | ----------------- |
| Display Name      | Boza - Extension  |
| Enabled           | Checked           |
| Bundle Identifier | `com.boza.safari` |

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-7ed9560779d3876544bb7779dab49c019ed13396%2Fjamf-step-21.png?alt=media" alt="Jamf Pro - New Mac App Store App general settings with display name and bundle identifier" width="560">

### Step 7 — Set the scope

1. Click the **Scope** tab.
2. Click **+ Add** to select computer groups.
3. Switch to the **Computer Groups** tab and add the same groups you selected in Part 2.
4. Set the **Distribution Method** to **Install Automatically** for silent installation.
5. Click **Save**.

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-8647c701f785fd2689857d87707d14c1c54a4b5d%2Fjamf-step-22.png?alt=media" alt="Jamf Pro - Scope tab with deployment targets list" width="560">

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-4b31f26a97ada0f8124ae3a7b7c3d29c342f0482%2Fjamf-step-23.png?alt=media" alt="Jamf Pro - Add Deployment Targets dialog with Computer Groups tab" width="560">

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-3ed0c740e84c1621de4d206912eea58c31de8aaa%2Fjamf-step-24.png?alt=media" alt="Jamf Pro - Selected deployment targets with distribution method set to Install Automatically" width="560">

### Step 8 — Users enable the extension (one-time)

After the app is installed on their Mac, each user must enable the Boza extension in Safari once:

1. Open **Safari**.
2. Go to **Safari > Settings > Extensions**.
3. Find **Boza** and toggle it on.

{% hint style="info" %}
This is the only manual step required from users. After enabling, auto-login happens automatically using the configuration profile pushed by Boza in Part 2.
{% endhint %}

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-8bd817fccd6974a73d4dfcda3c6908a08adfa0b1%2Fjamf-step-25.png?alt=media" alt="Safari Settings - Extensions tab with Boza extension toggle" width="560">

***

## Verification

To confirm a device has received all configuration profiles, go to **System Settings > Privacy & Security > Profiles** on the device. You should see four Boza profiles:

| Profile Name                                  | Purpose                                      |
| --------------------------------------------- | -------------------------------------------- |
| Boza Browser Extension - Chrome Config        | Chrome auto-login configuration              |
| Boza Browser Extension - Chrome Force Install | Chrome force-install policy                  |
| Boza Browser Extension - Firefox              | Firefox install and auto-login configuration |
| Boza Browser Extension - Safari               | Safari auto-login configuration              |

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-cfc63578dbd4e9fee2ceafe54ecc7f881cd9eb71%2Fjamf-step-26.png?alt=media" alt="macOS System Settings - Privacy and Security showing installed Boza profiles" width="560">

To inspect the Safari profile, click on **Boza Browser Extension - Safari**. It should show:

* **Settings:** `com.getboza.Boza.Extension`
* **userEmail:** the user's email address (resolved via LDAP/AD)
* **secretKey:** the organization's extension secret key

<img src="https://1674559363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvSdGShklbloRzyUwwMzX%2Fuploads%2Fgit-blob-12cb6f6d192622942ecad9b26f31b073d6bfd745%2Fjamf-step-27.png?alt=media" alt="macOS System Settings - Safari profile detail showing userEmail and secretKey" width="560">

For Chrome and Firefox, verify the extension is installed by checking the extensions page in each browser. The Boza extension should appear and be managed (not removable by the user).

***

## Troubleshooting

**The extension does not auto-login**

* Confirm each device has a user email assigned in Jamf. The `$EMAIL` variable is populated from the device's **User and Location** record.
* Check the configuration profile is installed on the device (**System Settings > Privacy & Security > Profiles**).
* Verify the profile contains a non-empty `userEmail` value.

**Devices are not showing up in the deployment status**

* Devices check in with Jamf periodically — allow 15--30 minutes for status to update.
* Force a check-in on a test device via Jamf Remote or by running `sudo jamf policy` in Terminal.

**The connection test fails in Boza**

* Verify the Jamf Server URL uses `https://` with no trailing slash.
* Confirm the API client is enabled in Jamf.
* Confirm the Client Secret was copied correctly (it is only shown once).

**Safari extension is not appearing**

* Confirm the **Boza - Extension** app was deployed via **Computers > Mac Apps** in Jamf.
* Ask the user to check **Safari > Settings > Extensions** and enable Boza if it appears but is disabled.
* If the app is not visible in Safari extensions, it may not have been installed yet — check the Mac Apps scope and deployment status in Jamf.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://boza.gitbook.io/docs/browser-extension/deployment/jamf.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
