Skip to content

Commit

Permalink
Change information collection to comply with GDPR
Browse files Browse the repository at this point in the history
With Couchbase's new GDPR policies, we need to be very careful in
handling any person data we collect. We had a GDPR meeting this week
concerning phone home data, and we came to the following conclusions:

1) We should not collect Name/Email/Company Name, because we have
never actually used that information, and we don't want to have to
come up with a privacy statement and figure out how to safely handle
all the data.

2) We need some kind of privacy statement in the configuration page
relating to "Enable software update notifications in the web console."

To solve #1, I removed the "Register for Updates" section in the
configuration panel. To solve #2, I copied the toolip that currently
exists in the "Settings" panel to the "New Cluster / Configure" panel.

I also removed replication IP address from the XDCR information
included in PhoneHome, because that is potentially identifiable
information.

Change-Id: Id6e983a3cc9474852a5672b515aff88da66467c9
Reviewed-on: http://review.couchbase.org/92205
Tested-by: Eben Haber <[email protected]>
Well-Formed: Build Bot <[email protected]>
Reviewed-by: Rob Ashcom <[email protected]>
Reviewed-by: Pavel Blagodov <[email protected]>
  • Loading branch information
ebenhaber committed Apr 10, 2018
1 parent 7f9df65 commit c7fa18c
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 102 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@ angular.module('mnSettingsNotificationsService', [
if (remotes && remotes.filtered) {
stats.xdcr.remotes = remotes.filtered.map(function (remote) {
return {
hostname: remote.hostname,
name: remote.name,
uuid: remote.uuid
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,9 +152,15 @@ <h2>Couchbase &gt; New Cluster / Configure </h2>
id="init-notifications-updates-enabled"
ng-model="clusterConfigurationCtl.sendStats"
checked="checked">
<label for="init-notifications-updates-enabled">
Enable software update notifications in the web console
</label>
<label for="init-notifications-updates-enabled" class="margin-right-zero">
Enable software update notifications in the web console.
</label>
<span class="fa-stack icon-info"
uib-tooltip="Enabling software update notifications allows notification in the Couchbase web console when a new version of Couchbase Server is available. Configuration information transferred in the update check is anonymous and does not include any stored key-value data."
tooltip-placement="top">
<span class="icon fa-circle-thin fa-stack-2x"></span>
<span class="icon fa-info fa-stack-1x"></span>
</span>
</div>
</div>
<div class="panel-footer">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@
return addErrorHandler(mnClusterConfigurationService.postJoinCluster(data), "postJoinCluster");
}
function postStats() {
var user = mnWizardService.getTermsAndConditionsState();
var promise = mnClusterConfigurationService.postStats(user, vm.sendStats);
var promise = mnClusterConfigurationService.postStats(vm.sendStats);

return mnPromiseHelper(vm, promise)
.catchGlobalErrors()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
lookup: lookup,
getConfig: getConfig,
postAuth: postAuth,
postEmail: postEmail,
postStats: postStats,
getQuerySettings: getQuerySettings,
postQuerySettings: postQuerySettings,
Expand Down Expand Up @@ -110,21 +109,10 @@
});
}

function postStats(user, sendStats) {
user.email && postEmail(user);
function postStats(sendStats) {
return doPostStats({sendStats: sendStats});
}

function postEmail(register) {
var params = _.clone(register);
delete params.agree;

return $http({
method: 'JSONP',
url: 'https://ph.couchbase.net/email',
params: params
});
}
function doPostStats(data) {
return $http({
method: 'POST',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,73 +52,6 @@ <h4 class="inline">Terms and Conditions&nbsp;</h4>
</span>
</label>
</div>

<div
class="formrow disclosure"
ng-click="termsCtl.toggleRegisterSection = !termsCtl.toggleRegisterSection"
ng-class="{'disclosed': termsCtl.toggleRegisterSection}">
Register for updates
</div>
</div>

<div ng-show="termsCtl.toggleRegisterSection">
<div
class="error error-form"
ng-show="termsCtl.form.$invalid">
<span ng-show="termsCtl.form.email.$error.email">Email appears to be invalid</span>
<span ng-show="termsCtl.errors">{{errors}}</span>
</div>

<div class="row margin-bottom-half">
<div class="column width-6">
<label for="init-join-community-firstname">First Name</label>
<input
type="text"
autocorrect="off"
spellcheck="false"
autocapitalize="off"
id="init-join-community-firstname"
ng-model="termsCtl.register.firstname">
</div>

<div class="column width-6">
<label for="init-join-community-lastname">Last Name</label>
<input
type="text"
autocorrect="off"
spellcheck="false"
autocapitalize="off"
id="init-join-community-lastname"
ng-model="termsCtl.register.lastname">
</div>
</div>

<div class="formrow row">
<div class="column width-6">
<label for="init-join-community-company">Company</label>
<input
type="text"
autocorrect="off"
spellcheck="false"
autocapitalize="off"
id="init-join-community-company"
ng-model="termsCtl.register.company">
</div>
<div class="column width-6">
<label for="init-join-community-email">Email</label>
<input
id="init-join-community-email"
type="email"
name="email"
autocorrect="off"
spellcheck="false"
autocapitalize="off"
ng-model="termsCtl.register.email">
</div>
</div>



</div>
</div>
<div class="panel-footer">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
vm.onSubmit = onSubmit;
vm.finishWithDefault = finishWithDefault;


mnWizardService.getTermsAndConditionsState().version = (pools.implementationVersion || 'unknown');
vm.register = mnWizardService.getTermsAndConditionsState();
activate();
function activate() {
var promise;
Expand All @@ -38,7 +35,7 @@
}

mnClusterConfigurationService
.postStats(vm.register, true).then(function () {
.postStats(true).then(function () {
var services = "kv,index,fts,n1ql";
if (vm.isEnterprise) {
services += ",eventing";
Expand Down
12 changes: 0 additions & 12 deletions priv/public/ui/app/mn_wizard/mn_wizard_service.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
var mnWizardService = {
getNewClusterState: getNewClusterState,
getState: getState,
getTermsAndConditionsState: getTermsAndConditionsState,
getCELicense: getCELicense,
getEELicense: getEELicense
};
Expand All @@ -22,13 +21,6 @@
password: '',
verifyPassword: ''
}
},
termsAndConditionsState: {
email: '',
firstname: '',
lastname: '',
company: '',
version: ''
}
};

Expand Down Expand Up @@ -61,9 +53,5 @@
return state.newClusterState;
}

function getTermsAndConditionsState() {
return state.termsAndConditionsState;
}

}
})();

0 comments on commit c7fa18c

Please sign in to comment.