All Collections
Advanced usage
Getting user consent prior to using Bugfender
Getting user consent prior to using Bugfender

You might need to ask for consent for legal, compliance, or transparency reasons. Here is how.

Jordi Giménez avatar
Written by Jordi Giménez
Updated over a week ago

Bugfender gives you great flexibility on the things you log from your application. Some of these things might be sensitive, so you might want to ask your users for consent before gathering logs with Bugfender. Depending on which data you log, you might be even legally required to ask for consent first.

In this article, we present three strategies you can use to gather logs with consent from your users.

Strategy A: Terms of Service

A very simple way to get consent from users is to inform them in your terms of service or privacy policy language. When they accept the terms, they are also giving you consent.

Please note this strategy might not be considered explicit enough, so depending on the data you log, you might want to look at the other strategies we present. In case of doubt, make sure to contact a lawyer to choose the best strategy.

Strategy B: Log Feature Toggle

You may want to use Bugfender to gather both logs that contain sensitive data and others that do not. You can use a simple toggle to distinguish between those cases in your code, making sure the sensitive data is only logged if consent was given.

For example:

Bugfender.log("this is a regular log");
if (userGaveConsent)
Bugfender.log("this is a sensitive log that requires consent");

Strategy C: Conditionally Load Bugfender

A more all-or-nothing alternative is to just not initialize Bugfender unless consent is given. Bugfender ignores logging calls when not initialized.

For example:

// Bugfender.init has not been called yet
Bugfender.log("this log will be ignored");

// Now initializing Bugfender
Bugfender.log("this log will be logged properly");

Please note there is no way at the moment to undo the Bugfender.init() call, so Bugfender will remain initialized until the app is restarted or the web page is reloaded.

Did this answer your question?