))
+```
+If you are using hybrid MDM management with System Center Configuration Manager or using Intune, ensure that you are using Base64 as the Data type when using Custom OMA-URI
+functionality to apply the Code Integrity policy.
+
+### Deploy policies
+To deploy a new base policy using the CSP, perform an ADD on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy** using the Base64-encoded policy node as {Data}. Refer to the the Format section in the Example 1 below.
+
+To deploy base policy and supplemental policies:
+- Perform an ADD on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy** using the Base64-encoded policy node as {Data} with the GUID and policy data for the base policy.
+- Repeat for each base or supplemental policy (with its own GUID and data).
+
+The following example shows the deployment of two base policies and a supplemental policy (which already specifies the base policy it supplements and does not need that reflected in the ADD).
+
+**Example 1: Add first base policy**
+```xml
+
+ 1
+ -
+
+ ./Vendor/MSFT/ApplicationControl/Policies/{Base1GUID}/Policy
+
+
+ b64
+
+ {Base1Data}
+
+
+```
+**Example 2: Add second base policy**
+```xml
+
+ 1
+ -
+
+ ./Vendor/MSFT/ApplicationControl/Policies/{Base2GUID}/Policy
+
+
+ b64
+
+ {Base2Data}
+
+
+```
+**Example 3: Add supplemental policy**
+```xml
+
+ 1
+ -
+
+ ./Vendor/MSFT/ApplicationControl/Policies/{Supplemental1GUID}/Policy
+
+
+ b64
+
+ {Supplemental1Data}
+
+
+```
+### Get policies
+
+Perform a GET using a deployed policy’s GUID to interrogate/inspect the policy itself or information about it.
+
+The following table displays the result of Get operation on different nodes:
+
+|Nodes | Get Results|
+|------------- | ------|
+|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy|raw p7b|
+|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/Version|Policy version|
+|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsEffective|Is the policy in effect|
+|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsDeployed|Is the policy on the system|
+|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/IsAuthorized|Is the policy authorized on the system|
+|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/Status|Was the deployment successful|
+|./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/PolicyInfo/FriendlyName|Friendly name per the policy|
+
+The following is an example of Get command:
+```xml
+
+ 1
+ -
+
+ ./Vendor/MSFT/ApplicationControl/Policies/{PolicyGUID}/Policy
+
+
+
+```
+
+### Delete policies
+To delete an unsigned policy, perform a DELETE on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy**.
+
+> [!Note]
+> Only signed things should be able to update signed policies. Hence, performing a DELETE on **./Vendor/MSFT/ApplicationControl/Policies/_Policy GUID_/Policy** is not sufficient to delete a signed policy.
+
+To delete a signed policy:
+1. Replace it with a signed update allowing unsigned policy.
+2. Deploy another update with unsigned policy.
+3. Perform delete.
+
+The following is an example of Delete command:
+```xml
+
+ 1
+ -
+
+ ./Vendor/MSFT/ApplicationControl/Policies/{PolicyGUID}/Policy
+
+
+
+```
\ No newline at end of file
diff --git a/windows/client-management/mdm/configuration-service-provider-reference.md b/windows/client-management/mdm/configuration-service-provider-reference.md
index 06824c4c4a..a282ba8384 100644
--- a/windows/client-management/mdm/configuration-service-provider-reference.md
+++ b/windows/client-management/mdm/configuration-service-provider-reference.md
@@ -172,6 +172,34 @@ Additional lists:
+
+[ApplicationControl CSP](applicationcontrol-csp.md)
+
+
+
+
+ Home |
+ Pro |
+ Business |
+ Enterprise |
+ Education |
+ Mobile |
+ Mobile Enterprise |
+
+
+ 6 |
+ 6 |
+ 6 |
+ 6 |
+ 6 |
+ 6 |
+ 6 |
+
+
+
+
+
+
[AppLocker CSP](applocker-csp.md)
diff --git a/windows/client-management/mdm/images/provisioning-csp-applicationcontrol.png b/windows/client-management/mdm/images/provisioning-csp-applicationcontrol.png
new file mode 100644
index 0000000000..012b0b392b
Binary files /dev/null and b/windows/client-management/mdm/images/provisioning-csp-applicationcontrol.png differ
diff --git a/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md b/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md
index c7dde016cf..61350998ce 100644
--- a/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md
+++ b/windows/client-management/mdm/new-in-windows-mdm-enrollment-management.md
@@ -142,6 +142,10 @@ For details about Microsoft mobile device management protocols for Windows 10 s
EnrollmentStatusTracking CSP |
Added new CSP in Windows 10, version 1903.
|
+
+ApplicationControl CSP |
+Added new CSP in Windows 10, version 1903.
+ |
@@ -1887,6 +1891,7 @@ How do I turn if off? | The service can be stopped from the "Services" console o
|New or updated topic | Description|
|--- | ---|
+|[ApplicationControl CSP](applicationcontrol-csp.md)|Added new CSP in Windows 10, version 1903.|
|[Policy CSP - Privacy](policy-csp-privacy.md)|Added the following new policies:
LetAppsActivateWithVoice, LetAppsActivateWithVoiceAboveLock|
|Create a custom configuration service provider|Deleted the following documents from the CSP reference because extensibility via CSPs is not currently supported:
Create a custom configuration service provider
Design a custom configuration service provider
IConfigServiceProvider2
IConfigServiceProvider2::ConfigManagerNotification
IConfigServiceProvider2::GetNode
ICSPNode
ICSPNode::Add
ICSPNode::Clear
ICSPNode::Copy
ICSPNode::DeleteChild
ICSPNode::DeleteProperty
ICSPNode::Execute
ICSPNode::GetChildNodeNames
ICSPNode::GetProperty
ICSPNode::GetPropertyIdentifiers
ICSPNode::GetValue
ICSPNode::Move
ICSPNode::SetProperty
ICSPNode::SetValue
ICSPNodeTransactioning
ICSPValidate
Samples for writing a custom configuration service provider|