---
title: ManagedApp
framework: ManagedApp
role: collection
role_heading: Framework
platforms: [iOS 18.4+, iPadOS 18.4+, visionOS 2.4+]
path: managedapp
---

# ManagedApp

Customize your app for managed deployments by providing configurable features that rely on secure access to secrets and data that an administrator provisions.

## Mentioned in

Specifying and decoding a configuration Accessing provisioned secrets with identifiers

## Overview

Overview This framework defines API to configure managed deployments of your app for installation on multiple devices, using mobile device management (MDM). An administrator determines the configuration of, or manages, your app for a specific company, school, or government by creating unique configurations for people within an organization. The framework works in conjunction with Device Management to provide streamlined and secure access to secrets and configuration. Secrets include passwords, certificates, and identities. Configuration includes general information, for example a server URL and its timeout in seconds. Enabling managed secrets and configuration lets an MDM admin customize the behavior of your app. For example, an MDM admin could configure an app to skip first-time setup and launch ready to use, with a person already logged in, and their app preferences or job-specific information present.

Use secrets to implement managed features The server-provisioned secrets and configuration available in ManagedApp enable you to add the following kinds of common Device Management features to your app: Enforcing the role of a person Receiving identities provisioned by an administrator for authentication and signing Receiving API access tokens Acquiring certificates for custom trust, for example, pinning certificates Using hardware-bound keys and Managed Device Attestation for strong device authentication Provision your app or app extension ManagedApp works with apps and app extensions. Any framework use that the documentation describes in an app also applies in app extensions. An MDM admin can provision your app and each of its app extensions differently depending on their intended functions. For example, an MDM admin can provision your app’s Packet tunnel provider extension using a VPN authentication identity that your app can’t access, which enhances security. You architect the unique provisioning requirements of your app and its app extensions and communicate the requirements to MDM admins, so they can prepare accordingly.

## Topics

### Configuration

- [Specifying and decoding a configuration](managedapp/specifying-and-decoding-a-configuration.md)
- [ManagedAppConfigurationProvider](managedapp/managedappconfigurationprovider.md)

### Secrets and identifiers

- [Accessing provisioned secrets with identifiers](managedapp/accessing-provisioned-secrets-with-identifiers.md)
- [ManagedAppCertificatesProvider](managedapp/managedappcertificatesprovider.md)
- [ManagedAppIdentitiesProvider](managedapp/managedappidentitiesprovider.md)
- [ManagedAppPasswordsProvider](managedapp/managedapppasswordsprovider.md)

### Errors

- [ManagedAppError](managedapp/managedapperror.md)
- [ManagedAppConfigurationDecodingError](managedapp/managedappconfigurationdecodingerror.md)
- [ManagedAppConfigurationDecodingErrorCode](managedapp/managedappconfigurationdecodingerrorcode.md)
