dneuge / legacy-status-proxy-vatsim

Proxy server for making status/datafiles available to passive clients in legacy formats
MIT License
3 stars 0 forks source link

add option for update notification #14

Open dneuge opened 2 years ago

dneuge commented 2 years ago

Users should have the option to enable some kind of update check.

Currently, users need to regularly check GitHub to know about updates. This was an intentional design choice to not "phone home" (GDPR concerns). As updates may become less regular when #13 is being implemented, users should also be able to somehow perform automated update checks.

The option must not be enabled by default and users should be notified according to GDPR regulations what happens if they enable the option (requires extra disclaimer to be accepted).

Update check interval needs to be configurable with a hard-coded minimum value.

It needs to be decided where update information can be retrieved from.

dneuge commented 2 years ago

The Log4j security issue present before 0.95.5 (CVE-2021-44228) shows that it could be reasonable to even activate update checks by default if it is (by plausible argument, overlooked exemptions in DSGVO/GDPR or by prior legal cases) legally safe to do so.

Update information should probably include a "security rating" to raise awareness in case of security updates as compared to uncritical updates.

In addition to a plain notification that may get overlooked or ignored by users, it may be reasonable to also add a killswitch to trigger an immediate shutdown (and denied restart) of the proxy application. Such a feature would be supposed to be used only in similarly highly critical situations like the Log4j security issue where all users are immediately affected in default configuration or even without depending on any specific configuration or setup.

dneuge commented 2 years ago

A quick check on Google did not turn up any useful information.

As I personally see it, DSGVO §6 Abs. 1 contains some points which might apply to security updates as in case of Log4j:

As I am not a lawyer and will not pay one to clarify this issue (which then is still not legally safe until I get sued and win in final decision at court - internationally...) the best way is to add a one-time nag screen to let users decide but also clearly state that it is highly recommended to enable update checks as security concerns probably outweigh possible privacy concerns:

VATSIM allows minors to sign up for their services (age 13 or above). This means minors are a possible audience to use this application as well. DSGVO §8 complicates acceptance of legal terms regarding privacy further.

I am still puzzled if an update check can be legal at all while maintaining the current regulations. Maybe it is best not to implement such check and rely on users taking care of their own as it is stated with the license of this application anyway.