1. A computer-implemented method comprising: receiving an application update request from a mobile device, the request comprising a specification of the mobile device and a license; identifying an available hardware component of the mobile device based on the specification; identifying an access privilege of the hardware component based on the license; identifying an application that utilizes the available hardware component of the mobile device and is accessible under the identified access privilege; and recommending the application in response to the application update request.