From 90d6eedc901c9dc3f30588d7b2230ccaed817c49 Mon Sep 17 00:00:00 2001 From: Taksh Date: Sun, 16 Aug 2026 08:08:30 +0530 Subject: [PATCH] Keep app-private data out of backup and device transfer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The extraction rules excluded exactly two SharedPreferences files, and one of them is no longer written: EncryptionService moved its key store from "bitchat_crypto" to "bitchat_crypto_secure". Because these lists are allow-by-default, everything not named is eligible — which is the live key store, SecureIdentityStateManager's "bitchat_identity", the geohash alias and conversation registries, and private_conversations.db, the whole private message history. android:allowBackup="false" covers cloud backup. It does not settle device-to-device migration: for apps targeting Android 12 or higher the platform documents that D2D transfer cannot be disabled on some manufacturers' devices, so the section is the only thing between a phone migration and a copy of the identity keys and every private message. Make both files deny-by-default across every storage domain instead of naming individual files. A name-based list has to be updated every time storage is renamed or added, and this one already wasn't. --- app/src/main/res/xml/backup_rules.xml | 19 ++++++++-- .../main/res/xml/data_extraction_rules.xml | 36 ++++++++++++++++--- 2 files changed, 49 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml index 4307b01c..d1ac6ee5 100644 --- a/app/src/main/res/xml/backup_rules.xml +++ b/app/src/main/res/xml/backup_rules.xml @@ -1,5 +1,20 @@ + - - + + + + + + + + + diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml index 3093aa7f..296fc686 100644 --- a/app/src/main/res/xml/data_extraction_rules.xml +++ b/app/src/main/res/xml/data_extraction_rules.xml @@ -1,11 +1,39 @@ + - - + + + + + + + + + - - + + + + + + + + +