{"repo":"bloomberg/selekt","free":true,"listed":false,"github":"https://github.com/bloomberg/selekt","clone":"git clone https://github.com/bloomberg/selekt.git","description":"Android and JDBC SQLite library with encryption and SQLite-aware connection pooling.","language":"Kotlin","stars":58,"topics":["sqlite","sqlite3","kotlin","sqlcipher","android","jdbc"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Selekt Selekt is a familiar Android and JDBC SQLite database library that by default wraps the community edition of SQLCipher, an SQLite extension that provides 256-bit AES encryption of database files. Selekt realises the maximum concurrency offered by SQLite3: When enabled for WAL-journal mode, \"readers do not block writers and a writer does not block readers. Reading and writing can proceed concurrently.\" The Selekt project is used to securely and efficiently store data in the Bloomberg Professional application for Android. Menu - Rationale - Quick start - Contributions - Licenses - Code of Conduct - Security Vulnerability Reporting Rationale Android The two most popular publicly available alternatives to Selekt are the Android SDK's own SQLite database, and SQLCipher for Android. The Android SDK's SQLite database does not encrypt databases, instead relying on the OS's user security model to restrict access. SQLCipher for Android uses the SQLCipher library to encrypt databases, but because the derivation of every key is by design expensive it can't also be allowed to make full use of the concurrency offered by SQLite3: Each database must have only one connection, connections cannot be ephemeral and must persist even if idling. Selekt sits somewhere between the two: when Selekt uses SQLCipher, it does so in a mode that moves the responsibility for deriving keys to the caller. This sacrifices some of the security guarantee offered by the default operating mode of SQLCipher, ","default_branch":null,"files":null,"tree":[],"storefront":"/r/bloomberg","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bloomberg/selekt/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}