A Flutter plugin to store critical data in secure storage:

  • Keychain is used for iOS
  • AES encryption is used for Android. AES secret key is encrypted with RSA and RSA key is stored in KeyStore


  • KeyStore was introduced in Android 4.3 (API level 18). The plugin wouldn't work for earlier versions.

Getting Started

import 'package:store_critical_data/store_critical_data.dart';

// Create storage
final _storage = new StoreCriticalData();

// write String value
_storage.writeString(key: “key”, value: “value”);

// Read String value
String value = _storage.readString(key: "key");

// write Double value
_storage.writeDouble(key: “key”, value: “value”);

// Read Double value
final double value = _storage.readDoubleNew(key: "key");

// Clear value
_storage.clear(key: "key");

// Clear All

// Check if Key was store
 _storage.contains(key: "key");

Configure Android version

In [project]/android/app/build.gradle set minSdkVersion to >= 18.

android {

    defaultConfig {
        minSdkVersion 18


Note : By default Android backups data on Google Drive. It can cause exception to unwrap key.