20500a0671be

M-06: Android 12+ dataExtractionRules + legacy backup_rules XML, all prefs domains excluded from cloud+device transfer

time
2026-07-29 14:58 UTC · 2 months ago
machine
koh2
agent
claude-opus-4
session
audit-remediation-2026-07-29
parent
dc00496b3964
3 files app/src/main/AndroidManifest.xml+2 −1app/src/main/res/xml/backup_rules.xml+25 −0app/src/main/res/xml/data_extraction_rules.xml+46 −0
app/src/main/AndroidManifest.xml+2 −1
@@ -26,7 +26,8 @@2626     <application2727         android:name=".PeachApplication"2828         android:allowBackup="false"29-        android:fullBackupContent="false"29+        android:fullBackupContent="@xml/backup_rules"30+        android:dataExtractionRules="@xml/data_extraction_rules"3031         android:icon="@mipmap/ic_launcher"3132         android:label="@string/app_name"3233         android:roundIcon="@mipmap/ic_launcher_round"

view file

app/src/main/res/xml/backup_rules.xml+25 −0
@@ -0,0 +1,25 @@1+<?xml version="1.0" encoding="utf-8"?>2+<!--3+  API < 31 auto-backup rules. allowBackup="false" disables Auto Backup at the4+  manifest level, but listing the excluded prefs here makes the no-backup intent5+  explicit for tooling that inspects this file in isolation.6+-->7+<full-backup-content>8+    <exclude domain="sharedpref" path="peach_vault_store.xml" />9+    <exclude domain="sharedpref" path="peach_prefs.xml" />10+    <exclude domain="sharedpref" path="peach_bio_prefs.xml" />11+    <exclude domain="sharedpref" path="peach_autofill.xml" />12+    <exclude domain="sharedpref" path="peach_license_prefs.xml" />13+    <exclude domain="sharedpref" path="peach_updates.xml" />14+    <exclude domain="sharedpref" path="peach_sync_battery.xml" />15+    <exclude domain="sharedpref" path="peach_chirp_identity.xml" />16+    <exclude domain="sharedpref" path="peach_nav_prefs.xml" />17+    <exclude domain="sharedpref" path="peach_background_sync.xml" />18+    <exclude domain="sharedpref" path="peach_duress_prefs.xml" />19+    <exclude domain="sharedpref" path="peach_pro_notice.xml" />20+    <exclude domain="sharedpref" path="peach_relay_settings.xml" />21+    <exclude domain="sharedpref" path="peach_pending_vouched_devices.xml" />22+    <exclude domain="sharedpref" path="peach_sync_outcome.xml" />23+    <exclude domain="sharedpref" path="peach_paired_devices.xml" />24+    <exclude domain="sharedpref" path="peach_sync_alerts.xml" />25+</full-backup-content>\ No newline at end of file

view file

app/src/main/res/xml/data_extraction_rules.xml+46 −0
@@ -0,0 +1,46 @@1+<?xml version="1.0" encoding="utf-8"?>2+<!--3+  API 31+ dataExtractionRules. allowBackup="false" alone does not stop4+  device-to-device transfer on Android 12+; an explicit <device-transfer> block5+  is required. We exclude every SharedPreferences file in both transfer paths.6+-->7+<data-extraction-rules>8+    <cloud-backup>9+        <exclude domain="sharedpref" path="peach_vault_store.xml" />10+        <exclude domain="sharedpref" path="peach_prefs.xml" />11+        <exclude domain="sharedpref" path="peach_bio_prefs.xml" />12+        <exclude domain="sharedpref" path="peach_autofill.xml" />13+        <exclude domain="sharedpref" path="peach_license_prefs.xml" />14+        <exclude domain="sharedpref" path="peach_updates.xml" />15+        <exclude domain="sharedpref" path="peach_sync_battery.xml" />16+        <exclude domain="sharedpref" path="peach_chirp_identity.xml" />17+        <exclude domain="sharedpref" path="peach_nav_prefs.xml" />18+        <exclude domain="sharedpref" path="peach_background_sync.xml" />19+        <exclude domain="sharedpref" path="peach_duress_prefs.xml" />20+        <exclude domain="sharedpref" path="peach_pro_notice.xml" />21+        <exclude domain="sharedpref" path="peach_relay_settings.xml" />22+        <exclude domain="sharedpref" path="peach_pending_vouched_devices.xml" />23+        <exclude domain="sharedpref" path="peach_sync_outcome.xml" />24+        <exclude domain="sharedpref" path="peach_paired_devices.xml" />25+        <exclude domain="sharedpref" path="peach_sync_alerts.xml" />26+    </cloud-backup>27+    <device-transfer>28+        <exclude domain="sharedpref" path="peach_vault_store.xml" />29+        <exclude domain="sharedpref" path="peach_prefs.xml" />30+        <exclude domain="sharedpref" path="peach_bio_prefs.xml" />31+        <exclude domain="sharedpref" path="peach_autofill.xml" />32+        <exclude domain="sharedpref" path="peach_license_prefs.xml" />33+        <exclude domain="sharedpref" path="peach_updates.xml" />34+        <exclude domain="sharedpref" path="peach_sync_battery.xml" />35+        <exclude domain="sharedpref" path="peach_chirp_identity.xml" />36+        <exclude domain="sharedpref" path="peach_nav_prefs.xml" />37+        <exclude domain="sharedpref" path="peach_background_sync.xml" />38+        <exclude domain="sharedpref" path="peach_duress_prefs.xml" />39+        <exclude domain="sharedpref" path="peach_pro_notice.xml" />40+        <exclude domain="sharedpref" path="peach_relay_settings.xml" />41+        <exclude domain="sharedpref" path="peach_pending_vouched_devices.xml" />42+        <exclude domain="sharedpref" path="peach_sync_outcome.xml" />43+        <exclude domain="sharedpref" path="peach_paired_devices.xml" />44+        <exclude domain="sharedpref" path="peach_sync_alerts.xml" />45+    </device-transfer>46+</data-extraction-rules>\ No newline at end of file

view file