Files
Amber/app/src/main/res/xml/data_extraction_rules.xml
T
Claude 275d726996 Add explicit backup/data-extraction excludes as defense-in-depth
allowBackup is already false, but backup_rules.xml and
data_extraction_rules.xml were empty stubs. Add explicit <exclude>
entries for the sharedpref, database and DataStore (file/datastore)
domains so the signer's secret material can never leave the device
via cloud backup or device-to-device transfer even if backups were
ever enabled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CX7WR4DwXfEyMW55r9jLjn
2026-06-19 09:35:27 +00:00

28 lines
1.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?><!--
Data extraction rules for cloud backup and device-to-device transfer
on API 31+.
See https://developer.android.com/about/versions/12/backup-restore#xml-changes
for details.
Amber sets android:allowBackup="false", so cloud backups are already
disabled. These explicit excludes are defense-in-depth: the signer's
secret material (encrypted keys, per-account SharedPreferences, Room
databases and DataStore files) must never leave the device through
either cloud backup or device transfer.
-->
<data-extraction-rules>
<cloud-backup>
<!-- Encrypted keys / settings live in SharedPreferences (prefs, prefs_<npub>). -->
<exclude domain="sharedpref" path="." />
<!-- Per-account apps/permissions, logs and history Room databases (amber_db_<npub>, etc.). -->
<exclude domain="database" path="." />
<!-- DataStore preferences (secure_datastore_<npub>, app_datastore). -->
<exclude domain="file" path="datastore" />
</cloud-backup>
<device-transfer>
<exclude domain="sharedpref" path="." />
<exclude domain="database" path="." />
<exclude domain="file" path="datastore" />
</device-transfer>
</data-extraction-rules>