# US 2017/0286129 A1 · Managed application detection logic

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286129 A1
- Document ID: US20170286129A1
- Status: Published application
- Kind: A1
- Application number: 15/627,543
- Filed: 2017-06-20
- Published: 2017-10-05
- Earliest claimed: 2015-06-05
- Assignees: AirWatch LLC
- Applicants: AirWatch LLC
- Inventors: Lucas Chen; Raghuram Rajan; Jonathan Black Brannon
- Web page: https://patentgrep.com/patent/US20170286129A1

## CPC

- G06F 9/448: Execution paradigms, e.g. implementations of programming paradigms
- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 9/44536: {Selecting among different versions}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various examples for application management detection are described. In one example, depending upon whether an installation token includes a unique token value, a client device can determine whether an application is managed or unmanaged. Additionally, the client device can determine whether the application is managed or unmanaged based on whether a keychain installation token includes a unique token value, a value of a keychain installation token, and a value of a launched flag for the application. Using the concepts described herein, an unmanaged application can proceed to execute with limited functionality, present a notification that it should be reinstalled by the management service, stop executing, or take other measures.

## Claims

### Claim 1

A system for managed application detection, comprising:
a client device;
program instructions executable in the client device that, when executed by the client device, cause the client device to:
store an installation token in a data store in response to an installation of or an update to a client application being performed on the client device, wherein the installation token is unique to the client application; and
execute the client application in a managed mode of operation or an unmanaged mode of operation based at least in part on the installation token stored in the data store.

### Claim 2 (depends on 1)

The system of claim 1, wherein the installation token is generated by a mobile management service remotely located and received by the client device over a network.

### Claim 3 (depends on 2)

The system of claim 2, further comprising program instructions executable in the client device that, when executed by the client device, cause the client device to download the client application from an application host service at the direction of the mobile management service.

### Claim 4 (depends on 1)

The system of claim 1, further comprising program instructions executable in the client device that, when executed by the client device, cause the client device to copy the installation token from managed configuration data to keychain data as a keychain installation token in response to a first execution of the client application.

### Claim 5 (depends on 1)

The system of claim 1, wherein the installation token is stored in the data store by:
storing the installation token in managed configuration data; and
copying the installation token in keychain data as a keychain installation token.

### Claim 6 (depends on 5)

The system of claim 5, wherein the client application is executed in the managed mode of operation or the unmanaged mode of operation based at least in part on the installation token stored in the data store by:
determining that the keychain installation token is present in the keychain data;
determining a value of the keychain installation token; and
determining a value of a launched flag in user default data for the client application.

### Claim 7 (depends on 6)

The system of claim 6, wherein the value of the launched flag is set in response to a first execution of the client application on the client device.

### Claim 8

A non-transitory computer-readable medium embodying program code for application management detection, the program code executable in a client device that, when executed by the computing device, causes the at least one computing device to:
store an installation token in a data store in response to an installation of or an update to a client application being performed on the client device, wherein the installation token is unique to the client application; and
execute the client application in a managed mode of operation or an unmanaged mode of operation based at least in part on the installation token stored in the data store.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the installation token is generated by a mobile management service remotely located and received by the client device over a network.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, further comprising program code executable in the client device that, when executed by the client device, causes the client device to download the client application from an application host service at the direction of the mobile management service.

### Claim 11 (depends on 8)

The non-transitory computer-readable medium of claim 8, further comprising program code executable in the client device that, when executed by the client device, causes the client device to copy the installation token from managed configuration data to keychain data as a keychain installation token in response to a first execution of the client application.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the installation token is stored in the data store by:
storing the installation token in managed configuration data; and
copying the installation token in keychain data as a keychain installation token.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the client application is executed in the managed mode of operation or the unmanaged mode of operation based at least in part on the installation token by:
determining that the keychain installation token is present in the keychain data;
determining a value of the keychain installation token; and
determining a value of a launched flag in user default data for the client application.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the value of the launched flag is set in response to a first execution of the client application on the client device.

### Claim 15

A method for application management detection, comprising:
storing an installation token in a data store of a client device in response to an installation of or an update to a client application being performed on the client device, wherein the installation token is unique to the client application; and
executing the client application in a managed mode of operation or an unmanaged mode of operation based at least in part on the installation token stored in the data store.

### Claim 16 (depends on 15)

The method of claim 15, wherein the installation token is generated by a mobile management service remotely located and received by the client device over a network.

### Claim 17 (depends on 16)

The method of claim 16, further comprising downloading the client application from an application host service at the direction of the mobile management service.

### Claim 18 (depends on 15)

The method of claim 15, further comprising copying the installation token from managed configuration data to keychain data as a keychain installation token in response to a first execution of the client application.

### Claim 19 (depends on 15)

The method of claim 15, wherein storing the installation token in the data store comprises:
storing the installation token in managed configuration data; and
copying the installation token in keychain data as a keychain installation token.

### Claim 20 (depends on 19)

The method of claim 19, wherein:
executing the client application in the managed mode of operation or the unmanaged mode of operation based at least in part on the installation token stored in the data store comprises:
determining that the keychain installation token is present in the keychain data;
determining a value of the keychain installation token; and
determining a value of a launched flag in user default data for the client application; and
the value of the launched flag is set in response to a first execution of the client application on the client device.
