TechbeeAT / jtxBoard

jtx Board allows you to manage your Journals (like meeting minutes), Notes and Tasks in one Android app. The app is compatible with the iCal standard (RFC5545) and is integrated with DAVx5 to allow the synchronisation of entries through CalDAV.
https://jtx.techbee.at/
GNU General Public License v3.0
391 stars 10 forks source link

[Feature] encryption of online data #1585

Closed Schweber closed 1 month ago

Schweber commented 1 month ago

Is your feature request related to a problem? Please describe.

I’m syncing the data of jtx Board via the integration of DAVx5.

It works fine but i’d like jtx Board to only upload encrypted data so my data can’t be read by everyone having access to my davx location.

Interoperability with other apps is not a concern to me as i’m only using jtx board.

Describe the solution you'd like

I’d like jtx Board to offer the encryption of all uploaded data via davx with a password. The password should only be prompted once by jtx Board during setup and be automatically applied thereafter (so no prompt each time there is a synchronization).

Describe alternatives you've considered

I didn’t find a FLOSS solution that has the capabilities of jtx Board plus encryption.

patrickunterwegs commented 1 month ago

Hi @Schweber , this is basically a nice idea, but really hard to implement. Within jtx Board the data is stored in a database that is only accessible within the app - or if you're using a sync app, the data is accessible for the sync app, but only data that is coming from the given sync app. So within jtx Board and the sync app, there's not really a need for an encryption.

DAVx5 to the server could maybe use encryption, but on what? The structure of the iCalendar file must be preserved for the exchange with a CalDAV server - there is no standard that would define how such an exchange would take place in an encrypted way. Would then DAVx5 need to encrypt text only? Is it worth the encryption then when rather the communication channel should be secured? How would a key be stored? Does it really add value when a custom encryption is established that only works with a specific app combination?

Those questions are just examples for thoughts that come up when thinking about such an encription. And in any case, I believe DAVx5 is rather the place where the encryption should be done. I'm up for discussion, but I just see it very unlikely that something like this can be done in a meaningful way ;-)