Binoculars
Binoculars copied to clipboard
Consent, consent, consent.
Once the Configuration/Settings Method https://github.com/teamtreedyn/Binoculars/issues/12 is implemented we need to ensure data is only collected as permitted.
@radumg has suggested an elegant catch-all solution, to bail early and prevent data collection immediately. https://github.com/teamtreedyn/Binoculars/pull/1#discussion_r273245851
if( ! Settings.consent ) return false;
But it may also be wise to allow per data item settings. For instance, some organisations may be interested in implementing Binoculars to collect all graph run data but not want the overheard of geolocation. Therefore we should make geolocation optional
if( Settings.collect.geolocation ) Data.PerformGeolocation()
Or they might want to respect their users privacy and log all runs but not anything personally identifying (this may also be necessary under GDPR data storage/use). Therefore:
if( Settings.collect.username ) Data.user = Environment.UserName;
Working prototype is on the settings branch. It's still a work in progress so refinement is needed before it's merged.
The consent prototype is now merged into master https://github.com/teamtreedyn/Binoculars/pull/32 but I'll leave this open for the moment as we aren't actually storing whether or not the user has consented; currently it's just defined as a variable in settings.json
.