FLUTTER ECOSYSTEM

jeroentrappers/flutter_keychain

A flutter plugin for secure storage on Android via KeyStore and iOS via Keychain

flutter_keychain project cover
Stars
59
Forks
87
Last push (UTC)
Mar 30, 2026
Project status
Active
Jeroen Trappers GitHub avatar
GITHUB User

Jeroen Trappers ↗

Design and development, Flutter, web, security, databases, usability enthousiast. Nuanced, pragmatic, sociable, optimist/realist, open and honest. Likes cats

@appmire BelgiumOfficial website ↗
LanguagesKotlinObjective-CDartRubySwift

Packages published by this repository

Dependencies used

Dependency list 2 items
  • flutter{"sdk":"flutter"}
  • flutter_testDevelopment{"sdk":"flutter"}

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

flutter_keychain

A Flutter plugin for supporting secure storage of strings via Keychain and Keystore

If you have other types you want to store, you need to serialize to and from UTF-8 strings.

  • 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

Note KeyStore was introduced in Android 4.3 (API level 18). The plugin does not work on earlier versions.

Getting Started


import 'package:flutter_keychain/flutter_keychain.dart';
...

// Get value
var value = await FlutterKeychain.get(key: "key");

// Put value
await FlutterKeychain.put(key: "key", value: "value");

// Remove item
await FlutterKeychain.remove(key: "key");

// Clear the secure store
await FlutterKeychain.clear();

Configure Android version

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

android {
    ...
    defaultConfig {
        ...
        minSdkVersion 18
        ...
    }
}

Contributing

For help on editing plugin code, view the documentation.