Nudge Payload data missing from Low Profile but is present in System Information > Profiles view
hkystar35 opened this issue · comments
Low Profile version: 3.0.1
macOS version: 12.6.3
architecture: arm64 (Apple Silicon - M1 Pro)
Nudge version: 1.1.7.81411
Deployed a new Nudge config profile and went to verify the keys in Low Profile. In Low Profile, the Nudge profile shows as "0 payloads" in the sidebar and in the main window, only the General payload properties show.
Opening System Information > Profiles, the Nudge profile clearly shows up with the com.apple.ManagedClient.preferences domain and excerpt of the contents is visible:
{
PayloadContent = {
"com.github.macadmins.Nudge" = {
Forced = (
{
"mcx_preference_settings" = {
optionalFeatures = {
acceptableApplicationBundleIDs = (
);
acceptableCameraUsage = 1;
acceptableScreenSharingUsage = 1;
aggressiveUserExperience = 1;
aggressiveUserFullScreenExperience = 1;
asynchronousSoftwareUpdate = 1;
enforceMinorUpdates = 1;
terminateApplicationsOnLaunch = 0;
};
I can't upload screenshots due to DLP rules, so I hope this is enough information. Nudge launches as expected, so the payload is correctly installed on the computer.
This one was a doozy! 🤪
The issue boiled down to Low Profile not interpreting special characters (ie. ones that fall outside of the ASCII range) correctly when reading data from installed configuration profiles.
For example, the following characters are found in the example Nudge configuration profile:
- 🇩🇪 German:
ä, ö, ü
- 🇪🇸 Spanish:
á, é, í, ó, ú
- 🇫🇷 French:
â, ê, î, ô, û
This fix now loads the Nudge configuration profiles correctly, as well as any configuration profiles with special characters: