I have:
Before version 4.17.5, Signal backups were in a plaintext XML format, which could be parsed by other programs (including on a desktop system). The current Signal documentation does not describe how to parse the new encrypted backup format into a plaintext format similar to what was possible before, or whether this is even possible.
Before version 4.17.5, I was regularly using the plaintext XML backups for (a) a text mining project, and (b) to have an offline copy of the text content of some of my chats, which I'd like to archive and be able to search through (outside of Signal).
I recognize (following #7565 and #7473, as well as the updated documentation) that Signal now uses an encrypted format; I can see how this is useful for data security on the phone itself. But the plaintext format was really useful to me, and I am hoping that it is possible to decrypt an encrypted backup outside of Signal (for example, to be able to search through my messages in a text editor, or to parse my messages into a spreadsheet format).
Is decryption outside of Signal possible? If not, is plaintext backup (as an alternative to encrypted backup) still possible? I would be happy to help write up documentation about this, but I'm unsure from the current documentation how this works.
Settings -> Chats and media -> Chat backups/sdcard/Signal/Backups/ to a desktop computer.head /path/to/that/file.backupActual result: The file shows as encrypted (as is expected), but there is no documentation on how to do anything with the file outside of Signal itself.
Expected result: Documentation would describe a terminal command that can be used to decrypt the file, or Signal would retain an "Export Plaintext Backup" button that users could use in addition to the new encrypted "Chat backups" option.
Device: Galaxy S8 (Samsung SM G950U)
Android version: 8.0.0
Signal version: 4.17.5
Thank you for your work on this project!
I updated the issue title just now to try to better reflect that the issue that I'm raising isn't that encrypted chat is now used, but rather that the current documentation does not make clear how to decrypt the backup outside of Signal (which I am really hoping is possible : / ).
I'm not going to write a command line utility that does this, but you're totally welcome to. The source code for the file format is in this repo. You might find collaborators over on the forum, we try not to use this for discussion.
@publicus this is the link for the forum: https://whispersystems.discoursehosting.net/
Thank you both for your replies!
@moxie0 Just to confirm, is there any interest / willingness to reintroduce the plaintext backup feature, in addition to the new encrypted chats?
Hasn't this made this a bit of a "haha, we have you data and you can't have it unless you're a decent-ish skilled programmer which you're probably not so we will just go 'Oh well'" kind of app?
Before this everyone wanted a proper backup solution. Now that there is one people keep complaining (https://xkcd.com/1172). Most important is you are able to create the backup and to import it again if there is data loss or you are switching phone.
I still however see there are valid use cases for plaintext backups if attachments are not that important. So maybe the removal of the plaintext export option should be reconsidered. I'm not sure but I think the code for it is still there.
I get the idea of binary backups being good, but removing the option for searchable backups when no other option exists seems shortsighted.
Hey everyone, as said before, we don't use this issue tracker for discussion. Please respect the developers' time and inboxes and continue the discussion at https://whispersystems.discoursehosting.net/. Thanks!
You are right, I'm sorry! Just felt the need to defend the Signal developers.
To add something valuable the new domain for the community forum is https://community.signalusers.org/ now!
I posted to the forums requesting the "plain text export" be brought back, to respect the (misguided) decision of developers to not have feature requests in the GitHub issues.
But I feel like the lack of documentation and tooling is a bug, and a very pressing one too. The ability to get our data out of tools is a very important one, and I don't want to really call it openness since most walled gardens (Twitter, Facebook, WhatsApp) still allow this much: for the user to get his own data out.
For Signal to have removed the only way of getting their data out of the app before any replacement was put in place is a very severe issue, and a complete breach of users' trust. I feel like I cannot recommend this app to any of my friends, now that the project has proven that they will take away basic freedom from us at any time, without any regard to community response (just close issues and point to the forums?)
Signal is no longer open, no longer safe, and no longer something that I want to use. Please at least let me get my data out as I move to an opensource alternative.
@remram44 I'm actually not sure that I even understand what you're asking for. Signal attempted to use an existing data format/schema in order to maintain portability for a long time. The problem, however, is that there is no existing schema that perfectly maps Signal onto anything else. This was a big problem for Signal for a long time. We used the "SMS Backup & Restore" schema to try to maintain portability, but it meant that people would lose all their media, groups, etc. People asked us to fix it. So, we finally built something that works.
It sounds like you are really into open source. Right now we're using open source software to create an archive that uses an open data format (protobuf) in order to allow people to export their data from Signal. We maintain Signal, so we can also configure Signal to import that data back into Signal.
By definition, there won't be anything else that you can import that data into unless someone writes it. There is absolutely nothing to stop you from writing it. It's just some OSS code that reads some protobufs. I have absolutely no idea what you want to do with this data, so I can't write it for you. The only thing I can do is support the piece of software that I maintain, which is Signal. If you want this data to work with software that I don't maintain, then please feel free to make that happen. That is how OSS is supposed to work.
Most helpful comment
I get the idea of binary backups being good, but removing the option for searchable backups when no other option exists seems shortsighted.