Cordova plugin to determine the encryption status of device's storage
Index
Supported Platforms
- iOS
- Android
Installation
$ cordova plugin add cordova-plugin-storage-encryption-status
Usage
const storageEncryptionStatus = cordova.plugins.storageEncryptionStatus;
storageEncryptionStatus.isEncrypted().then((isEncrypted) => {
console.log(`isEncrypted: ${isEncrypted}`);
// => isEncrypted: true
});
storageEncryptionStatus.getEncryptionStatus().then((encryptionStatus) => {
console.log(`encryptionStatus: ${encryptionStatus}`);
// => encryptionStatus: ENCRYPTION_STATUS_ACTIVE_PER_USER
});
API
storageEncryptionStatus.isEncrypted()
Whether device's storage is encrypted. Returns a Promise
that fulfills with the device's encryption status as a boolean
.
storageEncryptionStatus.getEncryptionStatus()
Determines the device's detailed encryption status. Returns a Promise
that fulfills with the device's encryption status as one the encryption status enum values (see storageEncryptionStatus.statusValues
).
storageEncryptionStatus.statusValues
An a lookup hashmap (as a plain JS object
) for all the possible values that can be returned by StorageEncryptionStatus.getEncryptionStatus()
.
See DevicePolicyManager docs for more information on the meaning of enum values on Android.
On iOS, only the values 'ENCRYPTION_STATUS_UNSUPPORTED'
, 'ENCRYPTION_STATUS_INACTIVE'
, and 'ENCRYPTION_STATUS_ACTIVE_PER_USER'
are used.
ENCRYPTION_STATUS_UNSUPPORTED: "ENCRYPTION_STATUS_UNSUPPORTED"
Indicates that encryption is not supported.
ENCRYPTION_STATUS_INACTIVE: "ENCRYPTION_STATUS_INACTIVE"
Indicates that encryption is supported, but is not currently active.
ENCRYPTION_STATUS_ACTIVATING: "ENCRYPTION_STATUS_ACTIVATING"
Indicates that encryption is not currently active, but is currently being activated.
ENCRYPTION_STATUS_ACTIVE: "ENCRYPTION_STATUS_ACTIVE"
Indicates that encryption is active.
ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY: "ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY"
Indicates that encryption is active, but an encryption key has not been set by the user.
ENCRYPTION_STATUS_ACTIVE_PER_USER: "ENCRYPTION_STATUS_ACTIVE_PER_USER"
Indicates that encryption is active and the encryption key is tied to the user or profile.
Tested Devices
- Nexus 5 (Android 6, 7, 8)
- Moto G7 Plus (Android 10)
- Huawei P20 lite (Android 8)
- Sony Xperia Z1 (Android 5.1)
- iPhone X (iOS 13.3.1, iOS 13.6.1)
- iPhone 6 (iOS 12.4.2)