Add SimpleX Chat iOS support (SQLCipher via keychain) - #2257
Merged
Merged
Conversation
SimpleX keeps its data in a SQLCipher-encrypted database (simplex_v1_chat.db) in the group.chat.simplex.app app group. The database passphrase is a generic-password keychain item (account databasePassword, access group chat.simplex.app), so the keychain is supplied with --keychain or the GUI field, matching the Signal module. The database is decrypted in memory with the SQLCipher 4 defaults (4096 byte pages, 256000 PBKDF2-HMAC-SHA512 iterations, SHA512 HMAC), which authenticated every page on the tested sample. Three artifacts: - Messages (chat_items): time, direction (item_sent), sender and chat resolved from contacts, groups and group members, message text, and a conversation view. Attachments render inline from the unencrypted app_files, linked through the files table. - Contacts (contacts + contact_profiles). - Group Members (group_members + groups + profiles). Field mapping was done against a private sample; no sample data recorded. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds SimpleX Chat support for iOS, which had no coverage.
SimpleX keeps its data in a SQLCipher-encrypted database, simplex_v1_chat.db, in the group.chat.simplex.app app group. The database passphrase is stored in the iOS keychain (generic-password account databasePassword, access group chat.simplex.app), so the keychain is supplied with --keychain or the keychain field in the GUI, the same way the Signal module works; a keychain the extraction carries is picked up automatically. The database is decrypted in memory with the SQLCipher 4 defaults (4096 byte pages, 256000 PBKDF2-HMAC-SHA512 iterations, SHA512 HMAC), and every page authenticated on the sample tested.
Three artifacts:
Field mapping was done against a private sample.