Managing WindowClerk Screen Recorder features in an MDM environment

 

WindowClerk Screen Recorder for macOS offers per-window and per-app screenshotting and screen recording on macOS. App windows can be moved while recording, or covered by other windows, without affecting the results.

Screen recordings can include per-app audio, excluding sound from other apps. Full screen recordings can include full system audio. The mouse cursor can be hidden or included in recordings.

WindowClerk Screen Recorder offers full privacy, no tracking or analytics, no ads, and no internet connection is required or used. Screen recordings and screenshots are created and stored locally.

Enterprise MDM features

For enterprise users, WindowClerk Screen Recorder (version 1.3.7 and upwards) offers support for managed features and blacklisted applications. Screenshotting and screen recording may be allowed for certain apps, but disallowed for others, depending on privacy and security policies.

In an MDM environment, for example using Jamf, Kandji or Apple Platform Deployment, WindowClerk Screen Recorder can be set up to meet company policies by implementing key-value pairs in the user defaults, also known as user preferences.

This way, screen recording and screenshotting may be available to users, for instance for support purposes, but limited to prevent unwanted data to be recorded.

Some features may be disabled and an app blacklist can be set up which limits apps that can be recorded or screenshotted. Even when making a full-screen recording, blacklisted apps will no be visible in the resulting recording or screenshot.

This article will explain how to manage WindowClerk Screen Recorder features and set up an application black list, by setting key-value pairs in the user preferences plist file.

Contents

  1. Using /Library/Preferences or ../Library/Preferences in the sandboxed macOS app container.
  2. Limiting WindowClerk Screen Recorder features
  3. Setting up an application black list for WindowClerk Screen Recorder

Using /Library/Preferences or ../Library/Preferences in the sandboxed macOS app container

WindowClerk Screen Recorder is a sandboxed macOS app. This means the app cannot access anything on the system apart from its own files and user selected locations.

User preferences for sandboxed macOS apps are commonly stored as a plist file in ~/Library/Containers/{bundleid}//Data/Library/Preferences.

Global user preferences are also available and are stored as a plist file in /Library/Preferences. They apply to all users on the system.

Sandboxed apps that access the users preferences will receive key-value pairs from the plist file in the sandbox container. If not present, the operating system will return key-value pairs from the global domain, if available.

In a managed environment, the user is commonly not able to edit the preferences files in both the sandbox and the global domain, allowing system administrators to control preferences by managing these files.

App bundleid and plist file names

Preferences files for WindowClerk Screen Recorder are named 'nl.p-edge.windowclerk.plist' in either the global or sandbox location; the app bundleid is 'nl.p-edge.windowclerk'.

Limiting WindowClerk Screen Recorder features

WindowClerk Screen Recorder offers the following key-value pairs to allow or disallow specific features:

  • applicationBlackList - array of strings containing blacklisted apps (see "Setting up an application black list for WindowClerk Screen Recorder").
  • allowRecordEntireScreen - boolean indicating whether the use can record the entire screen.
  • allowRecordWindow - boolean indicating whether the use can record single windows.
  • allowedRecordingSeconds - integer indicating if recording is time-limited (in seconds).​​ Zero means unlimited recording.​
  • allowRecordAudio - boolean indicating whether the user can enable the "Include app audio" or "Include system audio" checkboxes.
  • allowShowMouseCursor - boolean indicating whether the user can enable the "Show mouse cursor" checkbox.
  • allowScreenShot - boolean indicating whether the user can make screenshots
  • allowScreenRecord - boolean indicating whether the user can make screen recordings

Examples

An example to set a restriction on recording the mouse cursor in the global domain:

sudo defaults write /Library/Preferences/nl.p-edge.windowclerk.plist allowShowMouseCursor -bool false

An example to set a restriction on allowing screenshotting in the user domain:

defaults write nl.p-edge.windowclerk allowScreenShot -bool false

Setting up an application black list for WindowClerk Screen Recorder

WindowClerk Screen Recorder will disable recording for specific apps that are specified in the application black list. This is a key-value pair containing an array of strings, where the strings represent application bundleids or application names.

When previewing, screenshotting or screen recording the blacklisted apps will simply not be included, even if they are running and in the foreground or even on top of other apps that are being screenshotted or recorded.

An example to set an application black list in the global domain:

sudo defaults write /Library/Preferences/nl.p-edge.windowclerk.plist applicationBlackList -array \"com.apple.mail\" \"desktop.WhatsApp\" \"Safari\"

An example to set an application black list in the user domain:

defaults write nl.p-edge.windowclerk applicationBlackList -array \"com.apple.mail\" \"desktop.WhatsApp\" \"Safari\"

In above examples, "Safari" is simply the application name, whereas the other entries are bundleids. Both will work and both are case sensitive.