element-hq / element-meta

Shared/meta documentation and project artefacts for Element clients
73 stars 12 forks source link

Feature-Request: Client-side backup #1388

Open baldo opened 4 years ago

baldo commented 4 years ago

Is your suggestion related to a problem? Please describe. Our homeserver has crashed pretty badly and recovery is not really possible for all the data. This results in all one-on-one chats, and a lot of group-chats being lost. This is even worse for contacts I only had via Matrix. The problem is having to rely on the homeserver reliably backing up your data.

Describe the solution you'd like I do full backups of my harddrives on a regular basis. Is there a way to restore chats / contacts from those and perhaps even re-import them into Element? If that's not possible I propose the following feature(s) to give users control over their data / backups:

  1. Backups should only be stored locally (bonus points for encrypted backups). Not talking about cloud backups here.
  2. In-app ability to do a full backup of:
    • All rooms, including messages, room ids and memebers.
    • User ids of my contacts (one-on-one).
    • Posted files / images.
    • Matchings e2ee keys.
    • Profile data / settings.
    • ... (What is missing?)
  3. An option to allow local automatic backups on a regular basis. (Similar to how other apps like e.g. WhatsApp implement this.)
  4. An option to re-import a backup (bonus points for allowing this with a different account).
  5. Having those features not only in web, but also in the mobile clients (bonus points if backups are compatible).

Describe alternatives you've considered

Existing issues related to this one:

Existing tools:

Additional context Such features would be a possibility for users to export their data and perhaps even move to other servers. Therefor it would help with GDPR compliance. On the other hand the privacy impact of having full backups being stored on clientside (in the context of GDPR).

t3chguy commented 4 years ago

(Similar to how other apps like e.g. WhatsApp implement this.)

Hopefully that doesn't include uploading it not encrypted to Google Drive :((

baldo commented 4 years ago

(Similar to how other apps like e.g. WhatsApp implement this.)

Hopefully that doesn't include uploading it not encrypted to Google Drive :((

It's under 3.:

  1. Backups should be stored locally (bonus points for encrypted backups).
t3chguy commented 4 years ago

Right but that 3. seems to want encrypted local backups

baldo commented 4 years ago

Right but that 3. seems to want encrypted local backups

I have reordered the list and adjusted the wording to make it clearer...

hex-m commented 3 years ago

An option to re-import a backup (bonus points for allowing this with a different account)

Something like the account migration script would be much more useful if it would be able to import room history and e2ee keys. When looking at this from the migration side it is related to https://github.com/vector-im/element-web/issues/12577 and https://github.com/matrix-org/matrix-doc/issues/915.

SimonBrandner commented 3 years ago

Something like the account migration script would be much more useful if it would be able to import room history and e2ee keys. When

It actually probably should do that right now - the keys are shared with new users in a room if everything is configured correctly (see #5763)