Skip to content

Repository files navigation

EDVO logo

EDVO

A local-first encrypted vault for Android.

Latest release Android 7.0 or newer Kotlin 2.2.20 MIT license

EDVO stores sensitive notes and assets in an encrypted local vault. There is no sync backend and vault contents remain on the device unless the user explicitly exports an encrypted backup.

Highlights

  • AES-256-GCM encryption with password-derived keys.
  • Biometric unlock backed by the Android Keystore.
  • Encrypted asset titles and content.
  • Automatic titles when a new asset is saved without one.
  • Versioned encrypted backups with support for existing v1 backups.
  • Master-password rotation with vault re-encryption.
  • Password, passphrase, and username generators.
  • Local session locking, panic wipe, and secure editor controls.

Release

The current Android release is 0.6.0 (versionCode 7).

Download the latest release or read the changelog.

Compatibility

  • Android 7.0 or newer (minSdk 24).
  • Existing app data is migrated in place.
  • Backups created by the previous v1 format remain importable.
  • New backups use the v2 format and cannot be restored by older app versions.

Architecture

EDVO uses Kotlin Multiplatform and Compose Multiplatform with a shared presentation and domain layer.

composeApp/src/
├── commonMain/       Shared UI, domain logic, repositories and SQLDelight schema
├── androidMain/      Android crypto, biometrics, storage and application resources
├── androidUnitTest/  Security, migration, repository and system-flow tests
├── iosMain/          iOS platform implementations
└── jvmMain/          Desktop platform implementations

Core technologies:

  • Kotlin 2.2.20
  • Compose Multiplatform 1.9.1
  • SQLDelight 2.0.2
  • AndroidX Biometric
  • Kotlin Coroutines and Flow
  • Ktor 3.5.2

Build

Requirements:

  • JDK 17 or newer
  • Android SDK 36
./gradlew :composeApp:assembleDebug

The debug APK is written to composeApp/build/outputs/apk/debug/.

Verification

./gradlew :composeApp:testDebugUnitTest
./gradlew :composeApp:lintDebug
./gradlew :composeApp:assembleRelease

Release signing reads local credentials from composeApp/keystore.properties. Do not commit signing credentials or private keys.

Platform status

Platform Status
Android Primary platform; release tested
Desktop/JVM Experimental
iOS Source available; release build not currently verified

Security

EDVO is designed to keep vault data local and encrypted. It has not undergone an independent security audit. Review the implementation and threat model before relying on it for high-risk secrets.

Please report security issues privately to the repository owner rather than opening a public issue.

License

Licensed under the MIT License.

About

Store Data and Credentials securely on your Android Device. Locally.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages