https://github.com/airgap-it/cordova-plugin-airgap-secure-storage
Cordova Secure Storage Plugin for Android & iOS.
https://github.com/airgap-it/cordova-plugin-airgap-secure-storage
android cordova-plugin ios secure-storage
Last synced: about 1 year ago
JSON representation
Cordova Secure Storage Plugin for Android & iOS.
- Host: GitHub
- URL: https://github.com/airgap-it/cordova-plugin-airgap-secure-storage
- Owner: airgap-it
- Created: 2018-08-14T12:41:41.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-03-24T07:55:03.000Z (about 4 years ago)
- Last Synced: 2025-03-28T07:51:15.138Z (about 1 year ago)
- Topics: android, cordova-plugin, ios, secure-storage
- Language: Kotlin
- Homepage:
- Size: 431 KB
- Stars: 2
- Watchers: 7
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AirGap Secure Storage - Cordova Plugin
## Installation
Install the plugin simply using npm:
```
npm install cordova-plugin-airgap-secure-storage --save
```
Make sure the plugin is added in your cordova `config.xml` as follows:
```
```
### iOS
In order to use Face ID, this plugins requires the following usage description:
* `NSFaceIDUsageDescription` describes the reason why the app needs access to the secure storage.
To add this entry into the `info.plist`, you can use the `edit-config` tag in the `config.xml` like this:
```
Face ID is needed to save your keys to the secure storage.
```
## Pre-Requisites Android / iOS
To work, SecureStorage requires a secure lock-screen setup, either secured by a PIN / Pattern or Fingerprint. Otherwise, the keystore cannot be used to safely store data.
### Android Version Support
Versions below Android 4.3 (API Version 18) are not supported by this plugin.
| Version | Fingerprint / Biometric | Paranoia Mode (additional Encryption) | Lockscreen Setup (PIN) |
| ------------- |-------------:| -----:| -----:|
| >= Android 6.0 M (23) | ✅ | Optional | Required |
| >= Android 4.3 (18) | ❌ | Required | Required |
## Usage
The plugin provides a global variable as any cordova plugin does, to create a new instance call it as follows:
```
const secureStorage = new window.SecureStorage("secure-storage-alias", false)
```
You need to init() the SecureStorage instance in order to set it up properly if necessary.
```
secureStorage.init(() => {
// successful setup
}), (error) => {
// setup failed
})
```
Then, the plugin provides the following functionalities:
```
secureStorage.isDeviceSecure(key, value, () => {}, (error) => {})
secureStorage.secureDevice(key, value, () => {}, (error) => {})
secureStorage.setItem(key, value, () => {}, (error) => {})
secureStorage.getItem(key, (value) => {}, (error) => {})
secureStorage.removeItem(key, () => {}, (error) => {})
secureStorage.removeAll(key, () => {}, (error) => {})
```
Everything else is handled by the device.