Resolve "Service for sending data to server"
Closes #194 (closed)
I considered making a general HttpService
and using that in the REPOSE workspace, but decided against it because we don't have any other use case for HTTP requests at the moment and I guess we're trying to keep it that way.
Some background on the server:
The Nextcloud instance is provided to us by Charité. I created a folder that anyone can anonymously upload files to (but not view, edit or download) through a public link. Nextcloud calls this "file drop". We like this because we don't want the hassle that comes with user accounts. The study team can then easily download all the data through the UI.
Of course, this approach allows anyone to PUT data to the server/folder. We've determined that this is a risk we can accept, although Charité might want to implement some security on their end (e.g. rate limiting?). Any further thoughts on this are appreciated though!
Our idea for separating valid data from potentially fake ones is giving each study participant a passphrase in addition to their respondent ID. The questionnaire reports are transmitted as encrypted zip archives, where the filename is the respondent ID and the password is the passphrase. The study team can then filter out fake data by decrypting the zip archives with the passphrase that corresponds to the respondent ID.
Passphrase:
Currently, the zip archives are not encrypted. We don't have the settings entry for the passphrase yet, this will be taken care of in a later issue. So ignore this for now.