cordova-plugin-sernutec-secure-storage
v1.0.0
Published
Cordova secure storage using Android Keystore and iOS Keychain without requiring device authentication.
Maintainers
Readme
cordova-plugin-sernutec-secure-storage
Cordova key/value storage for secrets, backed by Android Keystore AES-GCM and iOS Keychain. Access does not require a device PIN, password, or biometric prompt.
API
cordova.plugins.SernutecSecureStorage.set(key, value, success, error);
cordova.plugins.SernutecSecureStorage.get(key, success, error);
cordova.plugins.SernutecSecureStorage.remove(key, success, error);
cordova.plugins.SernutecSecureStorage.keys(success, error);
cordova.plugins.SernutecSecureStorage.clear(success, error);get returns null through the success callback when a key is absent. clear removes only this plugin's stored values.
Backends
- Android: AES/GCM/NoPadding with a non-exportable Android Keystore key. A new IV is generated for each write. User authentication is explicitly not required.
- iOS: Keychain generic-password items with
WhenUnlockedThisDeviceOnlyaccessibility; no biometric access control or iCloud synchronization. - Browser: namespaced
localStoragefor development/demo only. This backend is not secure storage and must not be used to protect production credentials.
Native storage errors fail closed. The plugin does not fall back to browser storage on Android or iOS.
PortalEmp browser session test
On a development site recognized by App.esDesarrollo(), enable the refresh-token flow from the browser console with App.setRefreshSessionWebDev(true) and reload the page. Disable it with App.setRefreshSessionWebDev(false) and reload. This app-level test backend uses namespaced localStorage and is not suitable for production.
Packaging
The Cordova plugin is referenced by name in the app's VoltBuilder template. Publish this package to the configured private/public npm registry before building an app that uses it. No native build is run as part of this source package.
