1e41f4b71Sopenharmony_ci# Access Control Overview 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciApplications can access limited system resources by default. However, to provide extended features, an application may need to access excess system data (or personal data) or functions. The system must also provide explicit APIs to share data or functions. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciTo prevent improper or malicious use of data or functions, the system provides a variety of access control mechanisms, including the application sandbox, application permissions, and system components. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci## Application Sandbox 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ciAll applications running on the system are deployed in independent sandbox directories, which isolate the data of different applications and prevent improper application behavior, such as unauthorized data access between applications and device tampering. Each application has a unique ID ([TokenID](app-permission-mgmt-overview.md#tokenid)), which can be used to identify the application and restrict its access behavior. 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ciThe application sandbox directory specifies the data range visible to an application. For details, see [Application Sandbox](../../file-management/app-sandbox-directory.md). 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci## Application Permissions 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciThe system has process domain and data domain labels set based on the Ability Privilege Level (APL) of an application, and uses the access control mechanism to restrict the data accessible to each application. This minimizes the risks of application data leakage. 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ciApplications of different APLs can apply for different levels of permissions, and different system resources (such as the Contacts) or system capabilities (such as the capability for accessing a camera or a microphone) are protected by different application permissions. Strict hierarchical permission protection effectively defends against malicious attacks and ensures system security and reliability. 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciFor more information, see [Application Permission Management Overview](app-permission-mgmt-overview.md). 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci## Secure Access Mechanism 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ciOpenHarmony provides a secure access mechanism to redefine the way for applications to obtain private data. Instead of managing permissions, users only need to manage data and grant system data as required. For example, when a user wants to change a profile photo on a social platform, the application can only use the photo selected by the user instead of accessing the Gallery. This mechanism isolates the user's privacy data from the application, safeguarding user privacy. 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ciSpecifically, the secure access mechanism is implemented by system Pickers and security components, which allow an application to temporarily access a restricted resource without requesting the permission from the user. This mechanism implements precise permission control while better protecting user privacy. 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci- [System Pickers](../../application-models/system-app-startup.md) 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci A Picker is implemented by an independent system process. It provides a safe, built-in way for users to grant your application access to only selected resources. By starting a Picker component, the application can access the resources, such as images or documents, selected by the user using the Picker. For example, before accessing a user's image, an application normally needs to request user authorization. However, by using **PhotoViewPicker**, the application can directly access the image selected by the user. 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci- [Security components](security-component-overview.md) 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci Security components are a set of button-like ArkUI components provided with certain permissions. You can integrate them to your application UI. When a security component is tapped, the application is temporarily granted with the related permission. For example, you can use the **LocationButton** component for the application that needs to share location information. When this component is tapped by a user, the application is temporarily authorized with the precise location permission and can call the location service to obtain the precise location. <br>The permission, however, is temporarily granted to the application and is automatically revoked when the screen is turned off or the application switches to the background or exits. 34