Giter VIP home page Giter VIP logo

pppc-utility's Introduction

PPPC Utility logo Privacy Preferences Policy Control (PPPC) Utility

PPPC Utility is a macOS (10.15 and newer) application for creating configuration profiles containing the Privacy Preferences Policy Control payload for macOS. The profiles can be saved locally, signed or unsigned. Profiles can also be uploaded directly to a Jamf Pro server.

All changes to the application are tracked in the changelog.

Installation

Download the latest version from the Releases page.

Building profile

Start by adding the bundles/executables for the payload by using drag-and-drop or by selecting the add (+) button in the left corner.

Start by adding to the Applications table

Saving

Profiles can be saved locally either signed or unsigned.

Click Save button to save a profile

Choose a Signing Identity to save a signed profile

Upload to Jamf Pro

PPPC Utility can use bearer token authentication (or basic authentication as a fallback for versions of Jamf Pro older than v10.34) to any supported Jamf Pro version using the username and password of a Jamf Pro user account. The user account at minimum needs the two privileges indicated below.

Jamf Pro 10.49 and higher can use OAuth client credentials to access the API. The client ID and client secret generated by Jamf Pro in the "API Roles and clients" settings are used during the PPPC Utility upload process. When setting up the API Role, these are the permissions that PPPC Utility requires to upload the profiles.

Required API Permissions

  • "Create macOS Configuration Profiles" - primary permission to upload profiles; each upload from PPPC Utility creates a new profile.
  • "Read Activation Code" - needed to retrieve the organization name that is placed in the profile.

Jamf Pro 10.7.1 and newer

Starting in Jamf Pro 10.7.1 the Privacy Preferences Policy Control Payload can be uploaded to the API without being signed before uploading.

In 10.7.1 or greater choosing Signing Identity is optional before upload

Jamf Pro 10.7.0 and below

To upload the Privacy Preferences Policy Control Payload to Jamf Pro 10.7.0 and below, the profile will need to be signed before uploading.

In 10.7.0 or less Signing Identity must be chosen before uploading

Importing

Signed and unsigned profiles can be imported.

Import any profile

pppc-utility's People

Contributors

adku avatar big-rat avatar cyrusingraham avatar hisaac avatar jacobhearst avatar kkot avatar macblazer avatar markusbux avatar mm512 avatar pirkla avatar pmoprhy avatar stavares843 avatar ty-wilson avatar watkyn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pppc-utility's Issues

SystemPolicyDocumentsFolder does not work

Hi.

I am trying to set SystemPolicyDocumentsFolder to "allow" for an app but it doesn't appear to work as expected. SystemPolicyDownloadsFolder and SystemPolicyDesktopFolder work and when I view the policy in Jamf SystemPolicyDocumentsFolder doesn't appear to be listed, nor can I add it manually in the payload. If I save the file from the app the entry is there.

Thanks

Failed deployment of configuration profile

Hi

I use Jamf Pro 10.15 and PPPC for accecibility of a wacom driver in Mojave

So when a add a mac in scope of configuration profile, the deployment of configuration profile failed, without error.

I've created a case (JAMF-0767429) on jamf support for this error of deploying profile

Bye

Cant drag app to PPPC utility window

Im working with Mimio Notebook and it won't allow me to add it to the window with the plus button or with drag and drop. This may be a duplicate issue since I saw another posting describing the same issue.

Unable to add App from /opt/ directory

I have an app which, by default, lives in /opt/. I am unable to drag this .app file in nor can I add it using the '+' option. Please advise. Thanks in advance!

Unable to add Code Signed Script

I have code signed a script but PPPC utility will not accept it. I have verified it it is code signed by running the appropriate commands.

New entitlement support for macOS 10.15.4??

Apple introduced 4 new items in the Privacy System preferences panel
Screen Recording, Automation, Analytics & Improvements, and Advertising.

In the new days of remote working we need at least a way to allow Screen Recording and these are not currently covered that I can find. Could we get an update to cover either Screen Recording or all of them??
Thanks!

Properties Verbiage

"All Files" in the properties fields should be listed as "Full Disk Access", as the verbiage not being identical is rather confusing.
We even had a jamf pro member get confused by this for a minute.

Long code signing requirements are not fully displayed

As a user of this app I would like the full code signing requirement to be displayed for the selected item so that I understand exactly what the full requirement is.

Currently when an item is selected in the left-most list, it's name, bundle identifier, and code signing requirement are displayed in the top of the window. The code signing requirement is given two lines of text to display, and if it is longer then the top half of a third line will display (sometimes). This is especially noticeable when the window is shrunk to it's minimum horizontal size. Jamf Pro's Self Service app has a long requirement; Sublime Text also has a long requirement.

We could either cap it at two lines and give some indicator that there is more with a hover displaying the full text, or we could make the requirement scrollable, or we could have it auto-expand to more lines as needed. The auto-expand would still probably require some hard upper limit (so the rest of the controls are still usable) so the hover or scrollable solution would be needed anyway for really really long requirements.

Big Sur compatibility mode- incorrect other values

Testing out the Big Sur compatibility setting gives a result that setting allow on a setting that doesn't have the allow standard users setting uploads to jamf with that value set.
I noticed this setting a profile up that had the screen capture setting in it as well.

PPPC Utility
Jamf

Add Github action to run SwiftLint on PR

As a developer I want Github to run an action to verify code changes pass our SwiftLint checks before being approved.

Automated verification of SwiftLint via Github actions will allow us to simplify the PR process. Developers will get immediate feedback if their PRs violate the linting process, even if they don't lint the code themselves.

Note: Issue #55 must be completed first.

Add SwiftLint and custom rules

Add swiftlint as a script phase to the project to integrate warnings with Xcode and standardize on some code styles and conventions:

https://github.com/realm/SwiftLint

Here are some rules to add to a .swiftlint file for the project:

opt_in_rules:
  - empty_count
  - operator_usage_whitespace
  - trailing_closure
  - yoda_condition

disabled_rules:
  - line_length
  - trailing_whitespace

# Overriding existing rules

file_length:
  ignore_comment_only_lines: true

type_body_length:
  - 200 # warning
  - 400 # error

Here is an example script to add to the Xcode build phase

if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

Once added, all warnings should then be resolved as part of this ticket.

Untypable keychain Prompt when signing

Hi, I'm using the latest release (1.2.0) and i'm unable to sign my config profile, whenever I chose to save a signed profile, it prompts me with a keychain password and the text fields are broken. It seems i can focus them, it highlights and i can even see the cursor but whenever i try to type in, nothing happens, there's only the anoying error system sound telling that you're typing nowhere.

I tried on different macs, same thing.

Any clue ?

New PPPC Keys available in Big Sur beta 9

Hello, I would like to request the addition of the newly released keys for the PPPC settings.

The new Authorization keys we have been granted are Allow/Deny for the Screen Recording and Input Monitoring.

There is also the new addition of the AllowStandardUserToSetSystemService which is different than the above model but still applies. It persists non-admin users to allow access to predefined apps in System Preferences.

Screen Shot 2020-09-29 at 1 29 35 PM

Feature Request - Sites

It would be great if the utility would have an option to upload to a specific Site in the Jamf server. We have several departments with distributed administration of each site.

Thanks!

Enhancement - Save and open a configuration

I would like to be able to build a configuration, upload it, and save it. I would then like to later re-open this configuration and make changes to it - typically the addition of more PPPC settings.

It is highly unlikely that a single computer would not have all the source apps on it and indeed in some cases it might not even be possible to install all the apps on a single computer. Therefore if the config can be saved and reloaded it would be possible to build the settings via several different computers before uploading the complete list to the JSS server. It would also make it possible to load an existing config then update it and upload the new version to the JSS server without having to laboriously repeat previous apps.

Apple Events list items should default to Allow

When adding applications to receive Apple Events from an application, the receiving applications default to Deny. Considering the more common use case for this utility is to allow one application to receive Apple Events from another, I believe that receiving applications should default to Allow.

SmartBoard Service not adding

Smart Notebook on Mojave requires the "SmartBoardService" in the Accessibility tab to be enabled.

It is located in "SMART Technologies -> SMART Settings -> Contents -> bin -> SMARTBoardService"

Right now you cannot add it in or drag it in.

Import PPPC Mac's TCC database

Some of the requirements for PPPC can be quite annoying to get exactly right. It'd be really useful to be able to import the TCC database of the computer running PPPC as a starting point.

Missing "Full Disk Access"

Although there is an "all files" property (in Catalina at least) that doesn't translate to the "Full Disk Access" privacy request. I'm not sure what the correct flag should be though, so I can't help there.

Duplicate apps should not be added to Apple Events

Duplicate apps can be added to the Apple Events view for each app in the Applications view.

#39 was partially fixed by #43 but the Apple Events view is still able to receive duplicates. The same definition works:
The app should not allow duplicate applications. Duplicates should be defined as an app that matches the name/identifier and code requirements.

Example images are misleading.

Since Jamf supplies this profile, a much better example images would show an actual application without reference to the Jamf binaries... to avoid confusion and misdirection.

PayloadType value not set to "Configuration"

The value for the PayloadType key in the root element isn't being set to "Configuration" when file is saved. Instead, it uses the same value (com.apple.TCC.configuration-profile-policy) for the other PayloadType key that is located in the PayloadContent's element .

This causes profiles to not be able to be uploaded into Jamf Now's Custom Profiles feature. Jamf Now requires that this "root" PayloadType value must be "Configuration".

self.type = "Configuration"

Duplicate applications should not be added to the view

You can add the same application many times in Applications view and Apple Events view.

The app should not allow duplicate applications. Duplicates should be defined as an app that matches the name/identifier and code requirements.

Anyone having login issues to Jamf Pro 10.23?

PPPC has been working fine for me until the latest Jamf Pro release 10.23, now Check Connection at Upload just doesn't do anything for me. Anyone having this problem too? Thanks.

PPPC Version 1.2.0 (1.2.0-t1588162790)
Jamf Pro 10.23.0-t1595614145

1.2.1 downloads 1.2.0

After downloading latest release [https://github.com/jamf/PPPC-Utility/releases/download/1.2.1/PPPC-Utility.zip] and extracting it from the archive, the application is still version 1.2.0, not 1.2.1.

Trying to add adagent to grant full disk access

My company is trying to deploy the AccessData agent and it requires full disk access to function as expected, so I'd like to deploy a config profile allowing this via Jamf. After installing the agent on a VM and running the PPPC Utility from there, I am unable to add the adagent application to the Applications section in the PPPC Utility. When I use the drag/drop method, the Applications sidebar lights up with the green outline as if it's going to complete the add, but when I release the app, nothing is added. Similarly, using the + button and manually navigating to the app through the file system doesn't work either. I can select the adagent app, but after clicking Open, nothing is in the Applications sidebar.

Thoughts?

Not able to see Allow

In the PPPC utility, the function to allow access to the microphone and camera are missing. The other items appear to have allow or deny.

Wrong PayloadType at top level

I used PPPC utility to generate profile with payload of PayloadType : com.apple.TCC.configuration-profile-policy.

However top level profile PayloadType was also set to com.apple.TCC.configuration-profile-policy.

That's incorrect. Apple docs say:

PayloadType - String - The only supported value is Configuration.

I was not able to upload this profile to SimpleMDM until I fixed it.

Signing Identity not prompting for Keychain Password

I was just testing the app and I noticed that when I choose the save option and try to sign the profile I do not get the keychain prompt to unlock for signing. I am getting the prompt when trying to sign and upload the profile.

Thanks
Allen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.