signalapp / signalapp/Signal-Android

Can not verify integrity of a backup with local backup v2

Open
#14,769 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

acknowledged
Dominant language
Kotlin
Stars
29.4k
Forks
6.9k
PR merge metrics
No merged PRs in 30d

Description

Guidelines
  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic
Bug description

The new on-device v2 backup scheme has no option to verify the integrity of the backup. This is important as it seems to be an incremental backup, so any issue in the initial or a follow-up backup would cause complete data loss in case of a restore attempt.

Why this is a bug and not a feature request: The previous version had the "check passphrase" button to verify that the file is at least recognized as a backup file. It wasn't good enough, but it was at least something.

Is there any way to verify the integrity of a v2 backup that I'm missing? Can I do a "dry-run restore" somehow without destroying the current in-use application and data?

As a workaround is there a way to go back to the backup v1 format where a new backup was created every day and I could keep two of them?

As a side note, the information on the new local backup format is really limited (I dare say nonexistent), the page on the website (https://support.signal.org/hc/en-us/articles/10066926526362-Android-On-Device-Backups) only has information on the previous version with the 30 digit passphrase.

Screenshots

No response

Device

No response

Android version

No response

Signal version

8.9.1

Link to debug log

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reproducing the missing integrity check with an on-device v2 backup and tracing the Android backup flow; done should provide a reliable verification or dry-run restore path, with its behavior covered by tests or clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.