Skip to content

Conversation

felix-schwarz
Copy link
Contributor

Description

Adds a new MDM option confidential.exempted-actions to exempt one or more actions from being automatically disallowed when enabling Confidential Protection.

Example to allow the open in action:

<key>confidential.exempted-actions</key>
<array>
	<string>com.owncloud.action.openin</string>
</array>

Related Issue

https://github.com/owncloud/enterprise/issues/7296

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

felix-schwarz and others added 2 commits August 25, 2025 18:36
	- add new class method to return the array of actions automatically disallowed when confidential protection is turned on
	- add new exempted actions setting (OCClassSettingsKeyConfidentialExemptedActions)
	- adapt disallowedActions to remove exempt actions, thereby allowing them
	- .h: fix ObjC property definitions
	- replace calls to ConfidentialManager with self where favorable
	- classSettingsMetadata: replace strings with symbols
	- .. and other code and style improvements
- doc/CONFIGURATION.json: run automatic MDM documentation re-creation after addition of new options
@felix-schwarz felix-schwarz self-assigned this Aug 25, 2025
@felix-schwarz felix-schwarz requested review from hosy and jesmrec August 25, 2025 16:52
@jesmrec
Copy link
Contributor

jesmrec commented Sep 12, 2025

QA checks

Based in the plist published in https://github.com/owncloud/enterprise/issues/7296#issuecomment-3279484072

  • No confidential.exempted-actions block
  • confidential.exempted-actions block
    • With no entries
    • With <string>com.owncloud.action.openin</string> entry
    • <string>com.owncloud.action.openin</string> and <string>com.owncloud.action.copy</string> entries
    • With more entries (check which ones)

@jesmrec
Copy link
Contributor

jesmrec commented Sep 12, 2025

(1)

NOTE: Don't check it yet... i realised that Cut operation is banned in the tested Branding.plist

The action <string>com.owncloud.action.cutpasteboard</string> does not seem to work. I've tested different actions to be exempted:

<string>com.owncloud.action.openin</string>
<string>com.owncloud.action.markup</string>
<string>com.owncloud.action.copy</string>
<string>com.owncloud.action.cutpasteboard</string>

cutpasteboard is the only one that does not work individually. That's probably not related with the work done here, but, adding the following snippet to the Branding.plist file:

<key>confidential.exempted-actions</key>
<array>
         <string>com.owncloud.action.openin</string>
         <string>com.owncloud.action.markup</string>
         <string>com.owncloud.action.copy</string>
         <string>com.owncloud.action.cutpasteboard</string>
</array>

the exemptions are not applied together. If i remove the cutpasteboard from the array:

<key>confidential.exempted-actions</key>
<array>
         <string>com.owncloud.action.openin</string>
         <string>com.owncloud.action.markup</string>
         <string>com.owncloud.action.copy</string>
</array>

those three are applied ✅ . So, something about cutpasteboard is not correct somewhere.

@felix-schwarz could you take a look?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants