A computer-implemented method, comprising: determining (310; 520) that a device is in at least one of a locked or verified state upon initiation of a boot process, wherein the boot process corresponds to a time from when the device is activated until a runtime environment is operating on the device; responsive to determining that the device is in at least one of the locked or verified state, determining (320; 520) that a selected user-provided keystore stored on the device and comprising a plurality of keys for a boot image does not verify against a first key during the boot process, wherein the first key comprises an alphanumeric code known only to the computing device, and wherein the selected user-provided kevstore was provided to the device when the device was in an unlocked state; responsive to determining that the selected user-provided keystore does not verify against the first key, providing (325; 530) a prompt that asks whether the device may continue the boot process or not; receiving a response to the prompt instructing the device to continue the boot process; determining (328; 550) that the boot image verifies against the selected user-provided keystore during the boot process; and responsive to determining (328; 550) that the boot image verifies against the selected user-provided keystore during the boot process, finishing (399; 560) the boot process of the device using the boot image, wherein, in the locked state, the device cannot be flashed. wherein, in the verified state, a user may not alter the selected user-provided keystore but may flash one or more partitions of the device. wherein, in the unlocked state, the user may replace the selected user-provided keystore, and wherein transitioning a state of the device between the locked state, unlocked state or verified state requires a data wipe of a partition of the device containing user data. determining (310; 520) that a device is in at least one of a locked or verified state upon initiation of a boot process, wherein the boot process corresponds to a time from when the device is activated until a runtime environment is operating on the device; responsive to determining that the device is in at least one of the locked or verified state, determining (320; 520) that a selected user-provided keystore stored on the device and comprising a plurality of keys for a boot image does not verify against a first key during the boot process, wherein the first key comprises an alphanumeric code known only to the computing device, and wherein the selected user-provided kevstore was provided to the device when the device was in an unlocked state; responsive to determining that the selected user-provided keystore does not verify against the first key, providing (325; 530) a prompt that asks whether the device may continue the boot process or not; receiving a response to the prompt instructing the device to continue the boot process; determining (328; 550) that the boot image verifies against the selected user-provided keystore during the boot process; and responsive to determining (328; 550) that the boot image verifies against the selected user-provided keystore during the boot process, finishing (399; 560) the boot process of the device using the boot image, wherein, in the locked state, the device cannot be flashed. wherein, in the verified state, a user may not alter the selected user-provided keystore but may flash one or more partitions of the device. wherein, in the unlocked state, the user may replace the selected user-provided keystore, and wherein transitioning a state of the device between the locked state, unlocked state or verified state requires a data wipe of a partition of the device containing user data.