{ "description": "Preference settings for Nudge (com.github.macadmins.Nudge). See: https://github.com/macadmins/nudge", "title": "Nudge", "properties": { "optionalFeatures": { "description": "All optional features to enhance and customize the Nudge experience for your employer's needs.", "title": "optionalFeatures", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "object", "properties": { "acceptableApplicationBundleIDs": { "description": "The application Bundle ID which Nudge allows without taking focus. (You can specify one or more Bundle ID.)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "array", "items": { "options": { "inputAttributes": { "placeholder": "us.zoom.xos" } }, "type": "string", "title": "acceptableApplicationBundleIDs" } } ] }, "acceptableAssertionApplicationNames": { "description": "The application names using assertions which Nudge allows without taking focus. (You can specify one or more applications. To find the names please run /usr/bin/pmset -g assertions in terminal while the application is open and running)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "array", "items": { "options": { "inputAttributes": { "placeholder": "zoom.us" } }, "type": "string", "title": "acceptableAssertionApplicationNames" } } ] }, "acceptableAssertionUsage": { "description": "When enabled, Nudge will not activate or re-activate when assertions are currently set.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "acceptableCameraUsage": { "description": "When enabled, Nudge will not activate or re-activate when the camera is on.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "acceptableUpdatePreparingUsage": { "description": "When enabled, Nudge will not activate or re-activate when an update is being downloaded, prepared or staged. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "acceptableScreenSharingUsage": { "description": "When enabled, Nudge will not activate or re-activate when screen sharing is active.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "aggressiveUserExperience": { "description": "When disabled, Nudge will not hide all non-acceptableApplicationBundleIDs after the requiredInstallationDate or allowedDeferrals.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "aggressiveUserFullScreenExperience": { "description": "When disabled, Nudge will not create a blurred background when the user is past the deferral window.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "asynchronousSoftwareUpdate": { "description": "When disabled, Nudge will wait for Software Update to finish downloading (if any) updates before showing the UI.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": true } ] }, "attemptToBlockApplicationLaunches": { "description": "When enabled, Nudge will attempt to block application launches after the required installation date. This key must be used in conjunction with blockedApplicationBundleIDs (Note: This key is only used with Nudge v1.1.7 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": false } ] }, "attemptToCheckForSupportedDevice": { "description": "When disabled, Nudge will no longer compare the current device against the SOFA feed for the required update. If the device cannot install this update, Nudge will not present the Unsupported UI (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": true } ] }, "attemptToFetchMajorUpgrade": { "description": "When a major upgrade is required, Nudge will attempt to download it through the softwareupdate binary. (Note: This key is only used with Nudge v1.1 and will not be honored in v1.0.)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": true } ] }, "blockedApplicationBundleIDs": { "description": "The application Bundle ID which Nudge disallows from launching after the required installation date. (You can specify one or more Bundle ID.)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "array", "items": { "options": { "inputAttributes": { "placeholder": "us.zoom.xos" } }, "type": "string", "title": "blockedApplicationBundleIDs" } } ] }, "customSOFAFeedURL": { "description": "A url path to use a custom SOFA feed. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "https://sofafeed.macadmins.io/v1/macos_data_feed.json" } } } ] }, "disableNudgeForStandardInstalls": { "description": "When utilizing a SOFA feed and disableNudgeForStandardInstalls is true, Nudge will only enforce updates with published CVEs. Defaults to false. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": false } ] }, "disableSoftwareUpdateWorkflow": { "description": "When disableSoftwareUpdateWorkflow is true, Nudge will not attempt to run the softwareupdate process. Defaults to false.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": false } ] }, "enforceMinorUpdates": { "description": "When enabled, Nudge will enforce minor updates. This should likely never be disabled.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": true } ] }, "honorFocusModes": { "description": "When enabled, Nudge will not activate or re-activate when a user is in DoNotDisturb/Focus status. This feature is expiremental and may not work in all user settings. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": false } ] }, "honorCycleTimersOnExit": { "description": "When enabled, Nudge will honor the current cycle timers when user's press the `Quit` button. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": false } ] }, "refreshSOFAFeedTime": { "description": "The maximum age the cached SOFA feed file can be on disk. When this file age expires, Nudge will re-assess the SOFA feed for updates. Please be mindful of changing this value as there is an associated cost for maintaining the SOFA service. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 86400, "type": "integer", "options": { "inputAttributes": { "placeholder": "86400" } } } ] }, "terminateApplicationsOnLaunch": { "description": "When enabled, Nudge will terminate the applications listed in blockedApplicationBundleIDs upon initial launch.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": false } ] }, "utilizeSOFAFeed": { "description": "When enabled, Nudge will utilize the SOFA feed url for update data. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "boolean", "default": true } ] } } } ] }, "osVersionRequirements": { "description": "The required components necessary to enforce an Operating System version through Nudge. Specify one array to enforce a single Operating System version across all machines or specify multiple arrays for specific enforcements.", "title": "osVersionRequirements", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "array", "items": { "title": "osVersionRequirement", "type": "object", "properties": { "aboutUpdateURL": { "description": "A single URL, enabling the More Info button URL path. While this accepts a string, it must be a valid URL (http://, https://, file://). Note: If this value is passed with aboutUpdateURLs, the aboutUpdateURLs key will be ignored.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "https://github.com/macadmins/nudge" } } } ] }, "aboutUpdateURLs": { "description": "The aboutUpdateURL - per country localization.", "title": "aboutUpdateURLs", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "array", "items": { "title": "aboutUpdateURL - Dictionary", "type": "object", "properties": { "_language": { "description": "The targeted language locale for the user interface. Note: For a list of locales, please run the following command in Terminal: /usr/bin/locale -a", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "EX: en" } } } ] }, "aboutUpdateURL": { "description": "The URL for the More Info button. While this accepts a string, it must be a valid URL (http://, https://, file://).", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "https://github.com/macadmins/nudge" } } } ] } } } } ] }, "actionButtonPath": { "description": "A path to a URI for opening alternative actions, like Jamf self service items.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "jamfselfservice://content?entity=&id=&action=execute" } } } ] }, "activelyExploitedCVEsMajorUpgradeSLA": { "description": "When a major upgrade is under active exploit, this is the amount of days a user has to install the update. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 14, "type": "integer", "options": { "inputAttributes": { "placeholder": "14" } } } ] }, "activelyExploitedCVEsMinorUpdateSLA": { "description": "When a minor update is under active exploit, this is the amount of days a user has to install the update. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 14, "type": "integer", "options": { "inputAttributes": { "placeholder": "14" } } } ] }, "majorUpgradeAppPath": { "description": "The app path for a major upgrade. (Note: Requires Nudge v1.0.1 or higher.)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "/Applications/Install macOS Monterey.app" } } } ] }, "minorVersionRecalculationThreshold": { "description": "The amount of minor versions a device can be behind before the requiredInstallationDate is recalculated against a previous update. (Note: This key is only used with Nudge v2.0.5 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 0, "type": "integer", "options": { "inputAttributes": { "placeholder": "0" } } } ] }, "nonActivelyExploitedCVEsMajorUpgradeSLA": { "description": "When a major upgrade is not under active exploit but contains CVEs, this is the amount of days a user has to install the update. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 21, "type": "integer", "options": { "inputAttributes": { "placeholder": "21" } } } ] }, "nonActivelyExploitedCVEsMinorUpdateSLA": { "description": "When a minor update is not under active exploit but contains CVEs, this is the amount of days a user has to install the update. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 21, "type": "integer", "options": { "inputAttributes": { "placeholder": "21" } } } ] }, "requiredInstallationDate": { "description": "The required installation date for Nudge to enforce the required operating system version. You must follow a standard date string as YYYY-MM-DDTHH:MM:SSZ - Example: 2021-09-15T00:00:00Z", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "2021-09-15T00:00:00Z" } } } ] }, "requiredMinimumOSVersion": { "description": "The required minimum operating system version. Note: When passing versions such as `11.2.0`, it will be normalized to `11.2`. It is recommended to remove the trailing zero from the version number.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "11.5.2" } } } ] }, "standardMajorUpgradeSLA": { "description": "When a major upgrade has no known CVEs, this is the amount of days a user has to install the update. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 28, "type": "integer", "options": { "inputAttributes": { "placeholder": "28" } } } ] }, "standardMinorUpdateSLA": { "description": "When a minor update has no known CVEs, this is the amount of days a user has to install the update. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 28, "type": "integer", "options": { "inputAttributes": { "placeholder": "28" } } } ] }, "targetedOSVersionsRule": { "description": "The OS string rule for targeting Nudge events. You can target with \"default\", the full OS version (example: \"11.5.1\"). or the major OS version (example: \"11\"). (Note: This key is only used with Nudge v1.1 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "default" } } } ] }, "unsupportedURL": { "description": "A single URL, enabling the More Info button URL path when using the unsupported UI. While this accepts a string, it must be a valid URL (http://, https://, file://). Note: If this value is passed with aboutUpdateURLs, the aboutUpdateURLs key will be ignored. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "https://github.com/macadmins/nudge" } } } ] }, "unsupportedURLs": { "description": "The unsupportedURL - per country localization.", "title": "unsupportedURLs", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "array", "items": { "title": "unsupportedURL - Dictionary", "type": "object", "properties": { "_language": { "description": "The targeted language locale for the user interface. Note: For a list of locales, please run the following command in Terminal: /usr/bin/locale -a", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "EX: en" } } } ] }, "unsupportedURL": { "description": "A single URL, enabling the More Info button URL path when using the unsupported UI. While this accepts a string, it must be a valid URL (http://, https://, file://). Note: If this value is passed with aboutUpdateURLs, the aboutUpdateURLs key will be ignored. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "https://github.com/macadmins/nudge" } } } ] } } } } ] } } } } ] }, "userExperience": { "description": "All features related to how Nudge refreshes and defines the user experience", "title": "userExperience", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "object", "properties": { "allowGracePeriods": { "description": "Allows a device to modify the requiredInstallationDate logic and launch behavior. Useful for new device provisioning.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "allowLaterDeferralButton": { "description": "Allows the user to press the `Later` button through the custom deferrals UI", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "allowMovableWindow": { "description": "Allows the user to move the Nudge window. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "allowUserQuitDeferrals": { "description": "Allows the user to specify when they will next be prompted by Nudge. (Set to `False` to maintain v1.0.0 behavior.) When using this feature, Nudge will no longer adhere to your LaunchAgent logic as the user is specifying their own execution time for the next Nudge event.(See: `~/Library/Preferences/com.github.macadmins.Nudge.plist`.)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "allowedDeferrals": { "description": "The number of times a user can defer Nudge (change it from the currently active window) before the \"aggressive user experience\" is enabled.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 1000000, "type": "integer", "options": { "inputAttributes": { "placeholder": "1000000" } } } ] }, "allowedDeferralsUntilForcedSecondaryQuitButton": { "description": "The number of times a user can defer Nudge (change it from the currently active window) before both quit buttons need to be actioned.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 14, "type": "integer", "options": { "inputAttributes": { "placeholder": "14" } } } ] }, "approachingRefreshCycle": { "description": "The amount of time in seconds Nudge will use as a timer to refresh the user interface if it is not the currently active window. This key is directly tied to its partner key `approachingWindowTime` to know when to trigger this timer.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 6000, "type": "integer", "options": { "inputAttributes": { "placeholder": "6000" } } } ] }, "approachingWindowTime": { "description": "The amount of time in hours Nudge will use to determine that the `requiredInstallationDate` is \"approaching\".", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 72, "type": "integer", "options": { "inputAttributes": { "placeholder": "72" } } } ] }, "calendarDeferralUnit": { "description": "Utilize the approachingWindowTime or imminentWindowTime for calendar deferrals.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "default": "imminentWindowTime", "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "imminentWindowTime" } } } ] }, "elapsedRefreshCycle": { "description": "The amount of time in seconds Nudge will use as a timer to refresh the user interface if it is not the currently active window. This key is triggered once the `requiredInstallationDate` has expired.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 300, "type": "integer", "options": { "inputAttributes": { "placeholder": "300" } } } ] }, "gracePeriodInstallDelay": { "description": "The amount of time in hours Nudge will extend the requiredInstallationDate for newly provisioned devices.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 23, "type": "integer", "options": { "inputAttributes": { "placeholder": "23" } } } ] }, "gracePeriodLaunchDelay": { "description": "The amount of time in hours Nudge will bypass launching for newly provided devices.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 1, "type": "integer", "options": { "inputAttributes": { "placeholder": "1" } } } ] }, "gracePeriodPath": { "description": "The path of the file Nudge will read and assess for allowGracePeriods.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "default": "/private/var/db/.AppleSetupDone", "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "/private/var/db/.AppleSetupDone" } } } ] }, "imminentRefreshCycle": { "description": "The amount of time in seconds Nudge will use as a timer to refresh the user interface if it is not the currently active window. This key is directly tied to its partner key `imminentWindowTime` to know when to trigger this timer.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 600, "type": "integer", "options": { "inputAttributes": { "placeholder": "600" } } } ] }, "imminentWindowTime": { "description": "The amount of time in hours Nudge will use to determine that the `requiredInstallationDate` is \"imminent\".", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 24, "type": "integer", "options": { "inputAttributes": { "placeholder": "24" } } } ] }, "initialRefreshCycle": { "description": "The amount of time in seconds Nudge will use as a timer to refresh the user interface if it is not the currently active window. This key is triggered for all Nudge launches until the `approachingWindowTime` has been passed.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 18000, "type": "integer", "options": { "inputAttributes": { "placeholder": "18000" } } } ] }, "launchAgentIdentifier": { "description": "The identifier of the Nudge LaunchAgent. Only set this if you use a custom identifier", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "com.github.macadmins.Nudge" } } } ] }, "loadLaunchAgent": { "description": "Loads the Nudge LaunchAgent using macOS Ventura's SMAppService API (macOS 13+ required).", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "maxRandomDelayInSeconds": { "description": "The maximum amount of delay Nudge will utilize before launching the UI. This is useful if you do not want your users to all receive the Nudge prompt at the exact time of the LaunchAgent. Note: This functionality only applies when also enabling `randomDelay`.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 1200, "type": "integer", "options": { "inputAttributes": { "placeholder": "1200" } } } ] }, "noTimers": { "description": "This will disable all functionality related to the `userExperience` preference domain.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean", "options": { "inputAttributes": { "placeholder": "false" } } } ] }, "nudgeMajorUpgradeEventLaunchDelay": { "description": "When a new major upgrade is posted to the SOFA feed, this can artificially delay the SOFA nudge events by x amount of days. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 0, "type": "integer", "options": { "inputAttributes": { "placeholder": "0" } } } ] }, "nudgeMinorUpdateEventLaunchDelay": { "description": "When a new minor update is posted to the SOFA feed, this can artificially delay the SOFA nudge events by x amount of days. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 0, "type": "integer", "options": { "inputAttributes": { "placeholder": "0" } } } ] }, "nudgeRefreshCycle": { "description": "The amount of time in seconds Nudge will use as its core timer to refresh all the core code paths. Note: While you can lower this setting, it could make Nudge too aggressive. Be mindful of decreasing this value.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": 60, "type": "integer", "options": { "inputAttributes": { "placeholder": "60" } } } ] }, "randomDelay": { "description": "Enables an initial delay Nudge before launching the UI. This is useful if you do not want your users to all receive the Nudge prompt at the exact time of the LaunchAgent.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean", "options": { "inputAttributes": { "placeholder": "true" } } } ] } } } ] }, "userInterface": { "description": "All features related to how Nudge defines the user interface.", "title": "userInterface", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "object", "properties": { "actionButtonPath": { "description": "A path to a URI for opening alternative actions, like Jamf self service items.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "jamfselfservice://content?entity=&id=&action=execute" } } } ] }, "applicationTerminatedNotificationImagePath": { "description": "A local image path for the notification event when Nudge terminates and application. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "/Library/Application Support/Nudge/LogoLight.png" } } } ] }, "fallbackLanguage": { "description": "The language to revert to if no localizations are available for the device's current language.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "default": "en", "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "EX: en" } } } ] }, "forceFallbackLanguage": { "description": "Force the custom localizations to the value of `fallbackLanguage`.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "forceScreenShotIcon": { "description": "Force the built-in ScreenShot icon to render in the UI if a ScreenShot path is not passed.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "iconDarkPath": { "description": "A path to a local jpg, png, icns that contains the icon for dark mode. This will replace the Apple logo on the left side of Nudge.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "/Library/Application Support/Nudge/logoDark.png" } } } ] }, "iconLightPath": { "description": "A path to a local jpg, png, icns that contains the icon for light mode. This will replace the Apple logo on the left side of Nudge.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "/Library/Application Support/Nudge/logoLight.png" } } } ] }, "requiredInstallationDisplayFormat": { "description": "When utilizing showRequiredDate, set a custom display format. Be aware that the format you desire may not look good on the UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "MM/dd/yyyy" } } } ] }, "screenShotDarkPath": { "description": "A path to a local jpg, png, icns that contains the screen shot for dark mode. This will replace the Big Sur logo on the lower right side of Nudge.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "/Library/Application Support/Nudge/screenShotDark.png" } } } ] }, "screenShotLightPath": { "description": "A path to a local jpg, png, icns that contains the screen shot for light mode. This will replace the Big Sur logo on the lower right side of Nudge.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "/Library/Application Support/Nudge/screenShotLight.png" } } } ] }, "showActivelyExploitedCVEs": { "description": "When disabled, Nudge will not show the Actively Exploited CVEs in the left sidebar. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "showDeferralCount": { "description": "Enables or disables the deferral count of the current Nudge event.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "showDaysRemainingToUpdate": { "description": "When disabled, Nudge will not show the `Days Remaining To Update:` item on the left side of the UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": true, "type": "boolean" } ] }, "showRequiredDate": { "description": "When enabled, Nudge will also show the requiredInstallationDate as string formatted date. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "simpleMode": { "description": "Enables Nudge to launch in the simplified user experience.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "singleQuitButton": { "description": "Only display one quit button regardless of proximity to the due date.", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "default": false, "type": "boolean" } ] }, "updateElements": { "description": "The individual buttons and text elements that can be customized for your employer's needs. This includes per country localization.", "title": "updateElements", "anyOf": [ { "title": "Not Configured", "type": "null" }, { "title": "Configured", "type": "array", "items": { "title": "updateElement - Dictionary", "type": "object", "properties": { "_language": { "description": "The targeted language locale for the user interface. Note: For a list of locales, please run the following command in Terminal: /usr/bin/locale -a", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "EX: en" } } } ] }, "actionButtonText": { "description": "Modifies the actionButton, also known as the \"Update Device\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Update Device" } } } ] }, "actionButtonTextUnsupported": { "description": "Modifies the primaryQuitButton, also known as the \"Update Device\" button when using the Unsupported UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Replace Your Device" } } } ] }, "applicationTerminatedTitleText": { "description": "Modifies the terminated application notification title. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Application terminated" } } } ] }, "applicationTerminatedBodyText": { "description": "Modifies the terminated application notification body. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Please update your device to use this application" } } } ] }, "customDeferralButtonText": { "description": "Modifies the customDeferralButtonText, also known as the \"Custom\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Custom" } } } ] }, "customDeferralDropdownText": { "description": "customDeferralDropdownText, also known as the \"Defer\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Defer" } } } ] }, "informationButtonText": { "description": "Modifies the informationButton, also known as the \"More Info\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "More Info" } } } ] }, "mainContentHeader": { "description": "Modifies the mainContentHeader. This is the \"Your device will restart during this update\" text.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "**Your device will restart during this update**" } } } ] }, "mainContentHeaderUnsupported": { "description": "Modifies the mainContentHeader. This is the \"Your device is no longer capable of receiving critical security updates\" text when using the Unsupported UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "**Your device is no longer capable of receiving critical security updates**" } } } ] }, "mainContentNote": { "description": "Modifies the mainContentNote. This is the \"Important Notes\" text.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "**Important Notes**" } } } ] }, "mainContentNoteUnsupported": { "description": "Modifies the mainContentNote. This is the \"Important Notes\" text when using the Unsupported UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "**Important Notes**" } } } ] }, "mainContentSubHeader": { "description": "Modifies the mainContentSubHeader. This is the \"Updates can take around 30 minutes to complete\" text.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Updates can take around 30 minutes to complete" } } } ] }, "mainContentSubHeaderUnsupported": { "description": "Modifies the mainContentSubHeader. This is the \"Please work with your local IT team to obtain a replacement device\" text when using the Unsupported UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Please work with your local IT team to obtain a replacement device" } } } ] }, "mainContentText": { "description": "Modifies the `mainContentText`. This is the \"A fully up-to-date device is required to ensure that IT can your accurately protect your device.\" text. (See the Wiki for information on adding line breaks.)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "A fully up-to-date device …" } } } ] }, "mainContentTextUnsupported": { "description": "Modifies the `mainContentText`. This is the \"A fully up-to-date device is required to ensure that IT can your accurately protect your device.\" text when using the Unsupported UI. See the Wiki for information on adding line breaks. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "A fully up-to-date device …" } } } ] }, "mainHeader": { "description": "Modifies the `mainHeader`. This is the \"Your device requires a security update\" text.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Your device requires a security update" } } } ] }, "mainHeaderUnsupported": { "description": "Modifies the `mainHeader`. This is the \"Your device requires a security update\" text when using the Unsupported UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Your device requires a security update" } } } ] }, "oneDayDeferralButtonText": { "description": "Modifies the oneDayDeferralButtonText, also known as the \"One Day\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "One Day" } } } ] }, "oneHourDeferralButtonText": { "description": "Modifies the oneHourDeferralButtonText, also known as the \"One Hour\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "One Hour" } } } ] }, "primaryQuitButtonText": { "description": "Modifies the `primaryQuitButton`, also known as the \"Later\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Later" } } } ] }, "screenShotAltText": { "description": "Modifies the accessible hover over on screen shots.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "Click to zoom into screenshot" } } } ] }, "secondaryQuitButtonText": { "description": "Modifies the `secondaryQuitButton`, also known as the \"I understand\" button.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "I understand" } } } ] }, "subHeader": { "description": "Modifies the `subHeader`. This is the \"A friendly reminder from your local IT team\" text.", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "**A friendly reminder from your local IT team**" } } } ] }, "subHeaderUnsupported": { "description": "Modifies the `subHeader`. This is the \"A friendly reminder from your local IT team\" text when using the Unsupported UI. (Note: This key is only used with Nudge v2.0 and higher)", "anyOf": [ { "type": "null", "title": "Not Configured" }, { "title": "Configured", "type": "string", "options": { "inputAttributes": { "placeholder": "**A friendly reminder from your local IT team**" } } } ] } } } } ] } } } ] } } }