1# Customization 2 3## Introduction 4 5When you develop OpenHarmony devices or applications for specific industries or regions, you may need to customize the system to meet the requirements of specific scenarios. This is where the customization subsystem comes into the picture. This subsystem provides enterprise device management and policy configuration. 6 7| Module Name | Description | 8| :--------------: | ------------------------------------------------------------ | 9| Config Policy Kit | Provides APIs for service modules to obtain the configuration directory or configuration file path at different configuration levels.| 10| EnterpriseDeviceManagement Kit| Provides the management application development framework, management mode setting, and enterprise device management capabilities for developing Mobile Device Management (MDM) applications. You can leverage the system-level management APIs for your applications in the enterprise context.| 11 12 13 14## System Architecture 15 16**Figure 1** Customization subsystem 17 18 19![](figures/customization-subsystem.png) 20 21 22- Application layer 23 24 System applications, extended applications, and third-party applications invoke interfaces at the interface layer to configure functions or obtain specific data. 25 26- Interface layer 27 28 The EnterpriseDeviceManagement Kit provides system-level management APIs for applications in the enterprise context. The Config Policy Kit provides APIs for service modules to obtain the configuration directory or configuration file path at different configuration levels. 29 30- Service layer 31 32 EnterpriseDeviceManagerService provides specific implementation capabilities for EnterpriseDeviceManagement Kit at the interface layer to help ensure normal service running. 33 34## Directory Structure 35 36The source code of the Customization subsystem is stored in **/base/customization**. The directory structure is as follows: 37 38``` 39/base/customization/ 40├── config_policy # Code repository of the Config Policy Kit 41│ ├── frameworks # Core code of the Config Policy Kit 42│ │ ├── config_policy # Module of the Config Policy Kit 43│ │ │ └── src # Implementation code 44│ ├── interfaces # Interfaces of the Config Policy Kit 45│ │ ├── inner_api # Interfaces between Config Policy Kit subsystems 46│ │ └── kits # JavaScript interfaces of the Config Policy Kit 47│ └── test # Test code 48├── enterprise_device_management # Code repository of the EnterpriseDeviceManagement Kit 49│ ├── common # Common code 50│ ├── etc # Configuration files of the processes contained in the EnterpriseDeviceManagement Kit 51│ ├── interfaces # EdmKits code 52│ │ └── inner_api # Subsystem interfaces 53│ │ └── kits # Developer interfaces 54│ ├── profile # Configuration files of the system services contained in the EnterpriseDeviceManagement Kit 55│ └── services # Implement code of the EnterpriseDeviceManagement Kit 56``` 57 58## Repositories Involved 59 60**Customization** 61 62[customization_config_policy](https://gitee.com/openharmony/customization_config_policy) 63 64[customization_enterprise_device_management](https://gitee.com/openharmony/customization_enterprise_device_management) 65 66[applications_admin_provisioning](https://gitee.com/openharmony/applications_admin_provisioning) 67