1. At least one non-transitory computer-readable medium comprising one or more instructions that when executed by at least one processor: receive untrusted data for input to an application at an enclave in an electronic device, wherein the enclave includes a protected region of memory in which the application resides for execution; receive a flag associated with the application; determine whether the flag associated with the application indicates that the application is to be used with integrity verification, wherein the integrity verification module performs data integrity attestation functions to verify the untrusted data for input and wherein the data integrity attestation functions include a data attestation policy specifying constraints on input values for the application; responsive to determining the application is to be used with integrity verification: isolate the untrusted data for input from at least a portion of the enclave; communicate at least a portion of the untrusted data for input to an integrity verification module using an attestation channel; receive data integrity verification of the untrusted data for input from the integrity verification module; and return the verified untrusted data for input to the application for processing.