Skip to main content

Patch Preferences

Used to customize the Patch CLT for your organization.

Domain: com.alectrona.patch

SettingDescription
License

Your valid license key provided upon subscription to Alectrona Patch.

info

While it is recommended to configure the License key, you can optionally use the --license option with the Patch CLT if necessary.

<key>License</key>
<string>LICENSE_HERE<string>
RedactUsernamesInLogs

Set to true to ensure usernames are redacted in logs.

<key>RedactUsernamesInLogs</key>
<true/>
MaxConcurrentDownloads

Setting this key to 1 will disable simultaneous downloads. Otherwise, set it to the desired number of concurrent downloads to balance update efficiency and network bandwidth usage.

info

By default Alectrona Patch allows 10 simultaneous downloads. We find this to be a good balance between efficient updates and minimal impact on network bandwidth.

<key>MaxConcurrentDownloads</key>
<integer>3</integer>
AppPolicies

Per-app update policies that customize update behavior on an individual-app basis. The outer dictionary is keyed by catalog ID; each value is a dictionary of policy options for that app. See App Policies for the full feature reference, common use cases, and the CLI counterpart.

Supported policy keys

MaxUpdateVersion (string) sets a ceiling above which catalog updates are skipped — Patch always installs the latest catalog version that satisfies the cap, so this cannot pin an app to a specific historical version; BlockedVersions (array of strings) skips specific catalog versions; RequireClosed (Bool) requires the app to be closed before updating; PreInstallScript (string path) runs before each install; PostInstallScript (string path) runs after each install.

Visibility

Apps held back by a policy are silently skipped from the user's perspective — there is no Menu Bar UI indicator. Admin-facing visibility is via the Patch log at /var/log/alectrona-patch.log, which records when a policy is loaded and when an update is skipped.

<key>AppPolicies</key>
<dict>
<key>google-chrome</key>
<dict>
<key>MaxUpdateVersion</key>
<string>120.0.6099.234</string>
<key>RequireClosed</key>
<true/>
</dict>
<key>slack</key>
<dict>
<key>BlockedVersions</key>
<array>
<string>4.40.0</string>
<string>4.40.1</string>
</array>
<key>PreInstallScript</key>
<string>/usr/local/bin/slack-pre.sh</string>
<key>PostInstallScript</key>
<string>/usr/local/bin/slack-post.sh</string>
</dict>
</dict>