> For the complete documentation index, see [llms.txt](https://docs.hedge.video/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hedge.video/offshoot/deployment.md).

# Deployment

OffShoot is used by many facilities with hundreds of offload/ingest stations, so we made it easy to deploy OffShoot at scale. We strongly suggest using an MDM solution to set up OffShoot deployment.

## Activating OffShoot

Activating a license can be done via the API:

```
offshoot://activate?key=[your license key]
```

Deactivation works via the same mechanism:

```
offshoot://deactivate
```

## Settings and Presets

By default, OffShoot stores settings and presets per user. When multiple users use the same computer, each user has their own preferences and presets.

If needed, OffShoot can use computer-based settings and presets.

### Settings

OffShoot settings can be set at different levels. Each level overrides the levels before it.

1. **App Settings**\
   The default settings of OffShoot.
2. **Computer Settings**\
   Settings stored for the computer. These apply to all users on the same computer, unless overridden by user settings or policies.
3. **User Settings**\
   Settings stored for the current user. These override computer settings.
4. **Computer Policy**\
   Policy settings stored for the computer. These override the computer and user settings. Users can still change these settings while using OffShoot, but the settings will revert to the computer policy when OffShoot is relaunched.
5. **User Policy**\
   Policy settings stored for the current user. These have the highest priority. Users can still change these settings while using OffShoot, but the settings will revert to the user policy when OffShoot is relaunched.

{% hint style="info" %}
On macOS, preferences may be cached by the system or overwritten by OffShoot while it is running. Before changing settings, make sure OffShoot is closed.

If changes do not appear, make sure to also restart macOS’s preferences server:

```
sudo killall cfprefsd
killall cfprefsd
```

{% endhint %}

#### App Settings

{% tabs %}
{% tab title="macOS" %}
**Example**

Check OffShoot's default settings

* Open Terminal
* Paste this command and press Return<br>

  ```
  defaults read "/Applications/OffShoot.app/Contents/Resources/SFIDefaults"
  ```

{% endtab %}

{% tab title="Windows" %}
**Example**

Check OffShoot's default settings

* Open PowerShell
* Paste this command and press Return<br>

  ```
  Get-ItemProperty -Path "HKCU:\Software\OffShoot"
  ```

{% hint style="info" %}
Don't see all the settings? Change the setting you want in OffShoot > Settings, then run the command again.&#x20;
{% endhint %}
{% endtab %}
{% endtabs %}

#### Computer Settings

{% tabs %}
{% tab title="macOS" %}
**Example**

Adds a computer-level setting for `OffShoot > Settings > Connect > Computer Name`

* Open Terminal
* Paste this command and press Return<br>

  ```
  sudo /usr/libexec/PlistBuddy \
    -c "Add :SFIDefaultsConnectConnectionName string 'COMPUTER DEFAULT'" \
    "/Library/Preferences/nl.syncfactory.Hedge.Mac.plist"
  ```
* Validate<br>

  ```
  defaults read "/Library/Preferences/nl.syncfactory.Hedge.Mac" SFIDefaultsConnectConnectionName
  ```

{% endtab %}

{% tab title="Windows" %}
**Example**

Adds a computer-level setting for `OffShoot > Settings > Connect > Computer Name`

* Open PowerShell
* Paste this command and press Return<br>

  ```
  New-Item -Path "HKLM:\Software\OffShoot" -Force | Out-Null

  New-ItemProperty `
    -Path "HKLM:\Software\OffShoot" `
    -Name "ConnectClientName" `
    -Value "COMPUTER DEFAULT" `
    -PropertyType String `
    -Force
  ```
* Validate<br>

  ```
  Get-ItemProperty -Path "HKLM:\Software\OffShoot" -Name "ConnectClientName"
  ```

{% endtab %}
{% endtabs %}

#### **User Settings**

{% tabs %}
{% tab title="macOS" %}
**Example**

Adds a user-level setting for `OffShoot > Settings > Connect > Computer Name`

* Open Terminal
* Paste this command and press Return

  * Current user<br>

    ```
    defaults write ~/Library/Preferences/nl.syncfactory.Hedge.Mac SFIDefaultsConnectConnectionName "USER DEFAULT"
    ```

    \
    Validate<br>

    ```
    defaults read ~/Library/Preferences/nl.syncfactory.Hedge.Mac.plist SFIDefaultsConnectConnectionName
    ```

  * Specific user<br>

    ```
    sudo /usr/libexec/PlistBuddy \
      -c "Add :SFIDefaultsConnectConnectionName string 'USER DEFAULT'" \
      "/Users/<username>/Library/Preferences/nl.syncfactory.Hedge.Mac.plist"
    ```

{% endtab %}

{% tab title="Windows" %}
**Example**&#x20;

Adds a computer-level setting for `OffShoot > Settings > Connect > Computer Name`

* Open PowerShell
* Paste this command and press Return
  * Current user<br>

    ```
    New-Item -Path "HKCU:\Software\OffShoot" -Force | Out-Null

    New-ItemProperty `
      -Path "HKCU:\Software\OffShoot" `
      -Name "ConnectClientName" `
      -Value "USER DEFAULT" `
      -PropertyType String `
      -Force
    ```

    \
    Validate<br>

    ```
    Get-ItemProperty -Path "HKCU:\Software\OffShoot" -Name "ConnectClientName"
    ```

{% endtab %}
{% endtabs %}

#### **Computer Policy**

{% tabs %}
{% tab title="macOS" %}
**Example**

Adds a computer-level policy for `OffShoot > Settings > Connect > Computer Name`

* Open Terminal
* Paste this command and press Return<br>

  ```
  sudo /usr/libexec/PlistBuddy \
    -c "Add :SFIDefaultsConnectConnectionName string 'COMPUTER POLICY'" \
    "/Library/Managed Preferences/nl.syncfactory.Hedge.Mac.plist"
  ```

Validate

```
defaults read "/Library/Managed Preferences/nl.syncfactory.Hedge.Mac" SFIDefaultsConnectConnectionName
```

{% endtab %}

{% tab title="Windows" %}
**Example**

Adds a computer-level policy for `OffShoot > Settings > Connect > Computer Name`

* Open PowerShell as Administrator
* Paste this command and press Return<br>

  ```
  New-Item -Path "HKLM:\Software\Policies\OffShoot" -Force | Out-Null

  New-ItemProperty `
    -Path "HKLM:\Software\Policies\OffShoot" `
    -Name "ConnectClientName" `
    -Value "COMPUTER POLICY" `
    -PropertyType String `
    -Force
  ```

Validate

```
Get-ItemProperty -Path "HKLM:\Software\Policies\OffShoot" -Name "ConnectClientName"
```

{% endtab %}
{% endtabs %}

#### **User Policy**

{% tabs %}
{% tab title="macOS" %}
**Example**

Adds a user-level policy for `OffShoot > Settings > Connect > Computer Name`

* Open Terminal
* Paste this command and press Return<br>

  ```
  sudo /usr/libexec/PlistBuddy \
    -c "Add :SFIDefaultsConnectConnectionName string 'USER POLICY'" \
    "/Library/Managed Preferences/<username>/nl.syncfactory.Hedge.Mac.plist"
  ```
* Validate<br>

  ```
  defaults read "/Library/Managed Preferences/<username>/nl.syncfactory.Hedge.Mac" SFIDefaultsConnectConnectionName
  ```

{% endtab %}

{% tab title="Windows" %}
**Example**&#x20;

Adds a user-level policy for `OffShoot > Settings > Connect > Computer Name`

* Open PowerShell as Administrator
* Paste these commands and press Return
  * To set a user policy for another user, write to that user’s hive under `HKEY_USERS` using their SID.<br>

    ```
    Get-CimInstance Win32_UserProfile |
      Select-Object LocalPath, SID
    ```

    \
    Then, replace `S-1-5-21-...` with the user’s actual SID:<br>

    ```
    New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS -ErrorAction SilentlyContinue

    New-Item -Path "HKU:\S-1-5-21-...\Software\Policies\OffShoot" -Force | Out-Null

    New-ItemProperty `
      -Path "HKU:\S-1-5-21-...\Software\Policies\OffShoot" `
      -Name "AutoSourceSearchPattern" `
      -Value "USER POLICY SETTINGS" `
      -PropertyType String `
      -Force
    ```
* Validate<br>

  ```
  Get-ItemProperty -Path "HKCU:\Software\Policies\OffShoot" -Name "ConnectClientName"
  ```

{% endtab %}
{% endtabs %}

### Presets

By default, presets are stored separately for each account. You can set a different preset location with a computer setting or policy. This allows multiple users on the same computer to share the same presets.

{% tabs %}
{% tab title="macOS" %}
**Example**

Override OffShoot's default preset folder location for all users.

* Open Terminal
* Paste this command and press Return<br>

  <pre><code><strong>sudo mkdir -p "/Users/Shared/OffShoot Presets"
  </strong>
  sudo /usr/libexec/PlistBuddy \
    -c "Add :PresetsLocation string '/Users/Shared/OffShoot Presets'" \
    "/Library/Preferences/nl.syncfactory.Hedge.Mac.plist"
  </code></pre>
* Validate<br>

  ```
  defaults read "/Library/Preferences/nl.syncfactory.Hedge.Mac" PresetsLocation
  ```

{% endtab %}

{% tab title="Windows" %}
**Example**&#x20;

Override OffShoot's default preset folder location for all users.

* Open PowerShell as administrator
* Paste this command and press Return<br>

  ```
  New-Item -Path "HKLM:\Software\OffShoot" -Force | Out-Null

  New-ItemProperty `
    -Path "HKLM:\Software\OffShoot" `
    -Name "PresetsLocation" `
    -Value "C:\Users\Public\OffShoot Presets" `
    -PropertyType String `
    -Force
  ```
* Validate<br>

  ```
  Get-ItemProperty -Path "HKLM:\Software\OffShoot" -Name "PresetsLocation"
  ```

{% endtab %}
{% endtabs %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hedge.video/offshoot/deployment.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
