SkillAgentSearch skills...

KVault

Secure key-value storage for Kotlin Multiplatform projects.

Install / Use

/learn @Liftric/KVault

README

CI maven-central OSS Sonatype (Releases)

KVault

KVault is a secure key-value storage for Kotlin Multiplatform projects. It acts as an iOS Keychain wrapper and implements encrypted SharedPreferences for Android.

Import

sourceSets {
    val commonMain by getting {
        dependencies {
            implementation("com.liftric:kvault:<version>")
        }
    }
}

How-to

Init

Android

val store = KVault(context, "<fileName>")

| Parameter | Description | | :------------------ | :---------------------------------- | | fileName (optional) | Name of the shared preferences file |

iOS

val store = KVault("<serviceName>", "<accessGroup>")

| Parameter | Description | | :--------------------- | :---------------------------------- | | serviceName (optional) | Used to categories objects | | accessGroup (optional) | Used to share objects between apps |

Setting

val stringStored: Boolean = store.set(key = "LEET", stringValue = "1337")
val intStored: Boolean = store.set(key = "ANSWER", intValue = 42)
val floatStored: Boolean = store.set(key = "PI", floatValue = 3.14)

Supported Types

  • String
  • Int
  • Long
  • Float
  • Double
  • Bool
  • ByteArray

Getting

val stringValue: String? = store.string(forKey = "PASSWORD")
val intValue: Int? = store.int(forKey = "SECRET")

To check if an object is stored you can use:

val existsObject: Boolean = store.existsObject(forKey = "PASSWORD")

To check for which keys objects are stored:

val allKeys: List<String> = store.allKeys()

Deleting

Single object

val isRemoved: Boolean = store.removeObject(forKey = "PASSWORD")

All objects

val isCleared: Boolean = store.clear()

License

KVault is available under the MIT license. See the LICENSE file for more info.

View on GitHub
GitHub Stars308
CategoryDevelopment
Updated6d ago
Forks24

Languages

Kotlin

Security Score

100/100

Audited on Mar 25, 2026

No findings