1. At least one non-transitory machine readable storage medium having instructions stored thereon, the instructions when executed on at least one processor, cause the at least one processor to: analyze code of a particular application against a machine-readable semantic model of a software development kit of a particular platform based on a request to download the particular application, wherein the machine-readable semantic model associates a plurality of application behaviors with respective application programming interface (API) calls of the particular platform and analysis of the code of the particular application comprises: parsing the code to identify a subset of the API calls capable of being made by the particular application; and identifying, from the machine-readable semantic model, a set of application behaviors of the particular application corresponding to the subset of the API calls, wherein the set of application behaviors describes functionality of the particular application; identify data describing a prior user selection of a subset of the plurality of application behaviors, wherein the prior user selection defines a set of undesired behaviors to be associated with a particular user profile; determine that a particular one of the set of application behaviors is an undesired behavior based on the prior user selection, wherein the particular one of the set of application behaviors corresponds to a particular one of the subset of the API calls; autonomously modify, by the at least one processor, code of the particular application based on the machine-readable semantic model to remediate the undesired behavior and generate a custom version of the particular application, wherein modifying the code comprises replacing code of the particular API with code of another API; and provide the custom version of the particular application for download by a device associated with the particular user profile in lieu of an unmodified version of the particular application.