Coder Social home page Coder Social logo

consentcookie's People

Contributors

christianvriens avatar rockxwre avatar stevenchoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

consentcookie's Issues

get configured consents

Description

Let's say I configured ConsentCookie with three applications: A, B, and C.
I visit the website. I will get three consent cookies.
Now I change the configuration with only two applications: A and B.

If a plugin executes the following code:

ConsentCookie.get().consents

it will return all consents (cookies) which are found for the current visitor: A, B, and C.
But only A and B might be relevant.
Therefore it would be nice to have a function which only returns the configured consents. For example something like:

ConsentCookie.getConsentsConfigured()

Which come to think of it: maybe ConsentCookie.get() is a bit ambigious: what are you getting?! Maybe ConsentCookie.getConsents() is better?

Hide omitted trackers

Description

If trackers are omitted in the settings but are specified in the ConsentCookie for the current user, they still are visible

// An example of ConsentCookie initialized with a custom config
ConsentCookie.init({
    'connections': {
      'cc': {
        'initstate': 'disabled'
      },
      'iq': {
        'initstate': 'optout'
      },
      'ga': {
        'initstate': 'disabled'
      }//, Google Tag Manager omitted
      //'gtm': {
        //'initstate': 'disabled'
      //}
    },
    'moreinfolink': 'https://www.humanswitch.io/over/privacy/'
  });
</script>

ConsentCookie content

cc=-1&iq=0&ga=1&gtm=-1

Expected Behavior

I expected the omitted tracker to not-be-shown

Actual Behavior

It shows, if i clean my local cookies it behaves as expected

Possible Fix

don't initialize trackers not mentioned in the init of they are not mentioned in the settings

Workaround

Remove consentcookie cookie

transparent icon not rendered well after opening ConsentCookie

Description

I configured ConsentCookie with an almost transparent secondary color.
screenshot from 2018-04-12 11 25 46

Expected Behavior

The whole circle should be transparent.

Steps to Reproduce

Configure ConsentCookie using:

window.ConsentCookie.init({"apps":{"endpoint":"https://www.consentcookie.nl/consentcookie/latest/consentcookie.json","consent":{"cc":{"initstate":"optin"},"gtm":{"initstate":"optin"}}},"design":{"layout":{"position":"right"},"colorscheme":{"primary":"#6DFC90","secondary":"rgba(157,32,119,0.02)","tertiary":"#2C612B"}},"resources":{"nl":{"info":{"title":"Over ConsentCookie","text":""}}}});
    if (true) {
}

Your Environment

  • Firefox 59.0.2

use of ConsentCookie.off function results in error

Description

When unregistering a listener with ConsentCookie.off the error:

app.js?7ac9:104 Uncaught TypeError: mainInstance.off is not a function
at Object.off (eval at (consentcookie.js:1012), :104:23)
at :1:15

is thrown. The listener is still active.

Expected Behavior

No error, listener unregistered (inactive).

Steps to Reproduce

  1. add the following listener at the end of the init script:
window.myListener = function($payload) { console.log($payload); };
ConsentCookie.on("connection", window.myListener); 
  1. execute ConsentCookie.off("connection" , window.myListener) in your browser console

tekst boven popup

Ook nog een bugje gezien in de tekst die boven de popup te zien is... zie bijlage.
screen shot 2018-03-20 at 16 44 30

Consentcookie option to persit on top domain

Description

Currently the ConsentCookie cookie is always persisted the the Domain value set with the current domain visited by the user. To support multisite consents we need to have the option to save the cookie on a higher domain level.

Expected Behavior

image

Actual Behavior

image

icoontjes links zijn onduidelijk

Veelbelovend maar nog niet helemaal duidelijk genoeg. De icoontjes links in de popup zijn (voor mij) nietszeggend op dit moment. Dit zou veel duidelijker moeten zijn wat de verschillende soorten cookies zijn. Misschien gewoon textueel voor te stellen ipv aan de hand van iconen.

missing icon shows 'broken' image

If an application image is missing the image shows as a broken image.

In previous versions it just doesn't show. That is a better solution.

Description

In version 1.0.0 the image of an application shows as a broken image. In revision 150a0a6 it just doesn't show.

Expected Behavior

No application icon available then just don't show.
screen shot 2018-10-03 at 08 40 58

Actual Behavior

It shows a broken image
screen shot 2018-10-03 at 08 10 55

Possible Fix

Steps to Reproduce

I used a custom application without filling in the iconurl.

Put code from below in a testpage.

<script type='text/javascript' src='https://cdn.humanswitch.services/cc/consentcookie/app/1/consentcookie.min.js'></script>
<script type='text/javascript'> window.ConsentCookie.init({"general":{"uuid":"f214c780-c6d2-11e8-998e-6fbaff97eac7","generatedBy":"_2.0.1","consent":{"type":"application"},"gdpr":{"contact":"https://www.christianvriens.com"},"consentwall":{"enabled":true,"timeout":1000},"language":{"default":"en","fallback":"en"}},"apps":{"consent":{"testapp":{"initstate":"optin"},"aco":{"dataProcessings":[],"initstate":"optin"}},"endpoint":"","static":{"nl":[{"id":"iq","name":"IQNOMYapp","company":"HumanSwitch","description":"Deze app wordt gebruikt om CC te testen","icon":"//cdn.humanswitch.services/cc/consentcookie/logo/ga.png","infolink":{"connection":"https://analytics.google.com","profile":"https://analytics.google.com"},"dataProcessing":[{"id":"ga","dataIds":{"cookies":["_ga","__utma","__utmb"]}}],"plugin":"https://cdn.humanswitch.services/cc/consentcookie/plugins/google-analytics/plugin.js"}],"en-US":[{"id":"testapp","name":"TestApp","company":"HumanSwitch","description":{"connection":"Thisappisfortestingpurposes","profile":""},"icon":"//cdn.humanswitch.services/cc/consentcookie/logo/ga.png","infolink":{"connection":"https://analytics.google.com","profile":"https://analytics.google.com"},"dataProcessing":[{"id":"ga","dataIds":{"cookies":["_ga","__utma","__utmb"]}}],"plugin":"https://cdn.humanswitch.services/cc/consentcookie/plugins/google-analytics/plugin.js"}]}},"design":{"layout":{"position":"right"},"colorscheme":{"primary":"#2F3499","secondary":"#B7BAFE"}},"resources":{"en":"en-US","en-US":{"general":{"on":"on","off":"off","close":"close","moreInfo":"Moremore"},"menu":{"applications":"Yourconfiguration","about":"AboutCC","open":"OpenCC","close":"CloseCC","disabled":"Firstaccepts"}}},"purposes":{"consent":{"ccp-ot":{"initstate":"optin"}}}}				);
</script>

Context

Your Environment

  • Version used: 1.0.0
  • Browser Name and version: chrome
  • Operating System and version (desktop or mobile): mac

Classes styling zijn te globaal

De achtergrond van titelbalk 'jouw instelling' was wit bij een test.
Reden is dat de styling te globaar is. '.wrapper' in dit geval.

Description

Voorbeeld van een situatie waarin het fout gaat.
screen shot 2018-04-26 at 16 55 33

Expected Behavior

Styling van de website mag niet styling van CC overschrijven.

Possible Fix

Beter zou zijn om bij een class naam een prefix te zetten: cc_

Steps to Reproduce

In standaard demoshop magento gaat het fout.
http://ccm1.fros.it/

Your Environment

  • Version used: //www.consentcookie.nl/consentcookie/latest/consentcookie.min.js en via console van browser 'window.ConsentCookie.ver' = "0.6.0"
  • Browser Name and version: chrome
  • Link to your project: http://ccm1.fros.it/

Errors when I try to add the consentcookie to my Laravel project

Description

When I try to add the script to my Laravel project I'm getting multiple JS errors: http://joxi.ru/EA4BYJ9UD39Pvm

[Error] [vuex] already installed. Vue.use(Vuex) should be called only once.
[Error] TypeError: undefined is not an object (evaluating 'D.$store.state') — viewService.js:93
[Error] TypeError: undefined is not an object (evaluating 'M.$services') — consentService.js:119
[Error] TypeError: undefined is not an object (evaluating 'D.$store.commit') — viewService.js:158
[Error] TypeError: undefined is not an object (evaluating 'this.$store.state') — consentcookie.min.js:4473
[Error] TypeError: undefined is not an object (evaluating 'D.$store.state')

Expected Behavior

The script is working as expected

Actual Behavior

multiple JS errors (see above)

Possible Fix

Steps to Reproduce

  1. Build your own ConsentCookie or use downloaded version
  2. Include to a Laravel project using <script src="/path/to/consentcookie.min.js"></script>
  3. Initialize ConsentCookie
  4. Open your site and check the js console

Context

I can't use ConsentCookie

Your Environment

Laravel 5.4

Language codes reference to available languages

This list shows language codes used in browsers: https://www.metamodpro.com/browser-language-codes

If someone has language en-US and the languages available in CC are 'en' and 'nl'.
There is no default setting and the fallback is 'nl'.

I think we should use 'en'

Are we going to use the as an automatic process OR/AND are should there be an option to set a reference from a language code to an available language.

Example:
'ar' (arabic as browser language) should refer to 'en'
'pl' (polish as browser language) should refer to 'en'

Cannot read property 'isConsentWallAccepted' of undefined

Description

Copied the script from the configurator to my website to put consentcookie live.

  • Button is visible
  • Cannot click on the ConsentCookie.
  • Got error in the console.

screen shot 2018-04-09 at 10 31 55

My script:

<script src="//www.consentcookie.nl/consentcookie/dev/consentcookie.min.js"></script>
<script>window.ConsentCookie.init({
   "apps": {
      "endpoint": "https://www.consentcookie.nl/consentcookie/latest/consentcookie.json",
      "consent": {
         "cc": {
            "initstate": "optin"
         },
         "ga": {
            "initstate": "optin"
         },
         "gtm": {
            "initstate": "optin"
         }
      }
   },
   "design": {
      "layout": {
         "position": "right"
      },
      "colorscheme": {
         "primary": "#6DE2FC",
         "secondary": "#FFFFFF",
         "tertiary": "#FFFFFF"
      }
   },
   "resources": {
      "nl": {
         "info": {
            "title": "Over ConsentCookie",
            "text": "<p>Baas over eigen data, dat vinden wij heel normaal. Niet alleen vanwege de AVG, maar omdat wij geloven in transparantie en fatsoen. Daarom gebruiken wij ConsentCookie.</p>\n<p>ConsentCookie laat jou zien welke data we van jou verzamelen en waarom we dat doen. Ga naar Jouw instellingen om jouw persoonlijke voorkeuren vast te leggen. Ze zijn daarna direct van kracht en kunnen op elk moment worden aangepast.</p>\n<p>ConsentCookie op jouw eigen website gebruiken?<br />Voor meer informatie:<a href=\"\\&quot;http:/www.consentcookie.nl\\&quot;\">www.consentcookie.nl</a></p>"
         }
      }
   }
});
</script> 

Descriptions based on settings

Description

Some details in the description need to be based on tracker settings on the website

Expected Behavior

The description "Google Analytics verzameld geanonimiseerd gegevens over het surfgedrag op deze website. Door het anonimiseren is dit niet naar jou te herleiden." should partially be based on the initstate setting.

"Door het anonimiseren is dit niet naar jou te herleiden." depends on how GA is configured (anonymise thingie).

Possible Fix

This could reflect as a option for 'initstate'

  • disabled: Om dit mogelijk te maken staat {} altijd aan.
  • optin: Je bepaalt zelf of je {} aan- of uitzet.
  • optout: Je bepaalt zelf of je {} uit- of aanzet.
  • anonimised: Door anonimisering is dit niet naar jou te herleiden en staat {} altijd aan.

ConsentCookie plugin selection

Description

With the new datamodel ConsentCookie applications can have multiple plugins defined. But not plugins are aplicable. We need to determine how to handle which plugin to be loaded when multiple plugins are available.

Default and fallback language

Issue #47 describes the functionality for multilanguage. But this is based on browser language and the default language is Dutch.

Description

You should be able to configure default and fallback languages

Preference in CC language:

  1. CC - API language. If configurated or not available (not available yet)
  2. CC - Default language. If configurated or not available
  3. CC - Browser language. If not available
  4. CC - Fallback language
  5. CC - Default CC code setting (Dutch at the moment)

definition

Default language throug CC-API. Set the default language through the API.
Default language then this language is always used if available in language file.
Next preferred browser language If preferred browser language isn't available then the next second etc. should be checked before going to the fallback (improvement for #47)
Fallback language If browser language isn't available then this language should be used. Now this is dutch and this should be configurable
CC default code language English is improvement

Context

In CC init json you should be able to configure in object 'general':

  • Default language
  • Fallback language

This should be used in ConsentCookie language setting.

ConsentCookie API changes #23 regression bug

Description

Return of ConsentCookie.get() does not contain a public variables consents with the key-value mapping of the Consents mapped by the id

Expected Behavior

image

Actual Behavior

image

Possible Fix

Make the API backwards compatible with 0.6.4

Steps to Reproduce

  1. load the demo page
  2. from console after ConsentCookie has been initialized: ConsentCookie.get()

Context

GTM implementation does not work properly

Your Environment

n.a.

Update webpack 1

Description

Current used Webpack is outdated. We need to update Webpack used for building ConsentCookie

Expected Behavior

Replace Webpack and Webpack dependencies with newer version

Exception when requesting consent info not clear when ConsentCookie is not initialised

Description

The current error is as follow

image

Expected Behavior

A more clear message what happend

Actual Behavior

See screen above.

Possible Fix

Improve the error message or catch the error and throw a default error message

Steps to Reproduce

  1. Place consentcookie script on the website
  2. Request a consent info without initializing ConsentCookie first

Context

n.a.

Your Environment

n.a. all enviroments.

reintroduce application detail info

The versions before version 1.0, it was possible to show an application info panel by clicking on an application in the list.
We agreed to drop this info panel for version 1.0, but also agreed it should be added back in the future. So let's put it back.

scrollbar missing

Description

When having lot's of applications, the applications won't fit in the application window. Scrolling works just fine in this case, but there is no indication that scrolling is possible. We need something like a scrollbar. The code already contains code for this, but does not seem to work and is therefore disabled.

Multilanguage support

Description

Currently all texts are in Duch and not other language is supported

Expected Behavior

ConsentCookie should have the option to show texts in different languages. Also you should be able to update the language settings, so that you can toggle between different translations.

Actual Behavior

No multi language support

ConfigService getDefault

Description

The constants file provide a default config object. We want to have the option to get default configs configured in the constants file

You were added to awesome-humane-tech

This is just a FYI issue to notify that you were added to the curated awesome-humane-tech in the 'Consent' category, and - if you like that - are now entitled to wear our badge:

Awesome Humane Tech

By adding this to the README:

[![Awesome Humane Tech](https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true)](https://github.com/humanetech-community/awesome-humane-tech)

https://github.com/humanetech-community/awesome-humane-tech

Set default language through CC API

Description

This options is very handy for multi language websites. The consent cookie can then automaticly be set by the website to the default language.

Expected Behavior

Is described in #55.

bug: consent initstate alwayson not working

Description

A consent initialized with a consent having initstate:alwayson does not have the alwayson state.
#6 describes the change initstate:disabled to initstate:alwayson.
This is implemented in 0.6 but apparantly not working.

Expected Behavior

initstate:alwayson should behave as "Always on"

Actual Behavior

Nothing happens. The inistate is not used

Possible Fix

n.a.

Steps to Reproduce

  1. Intialize ConsentCookie with using the following
  ConsentCookie.init({
    'apps': {
      'endpoint': '',
      'consent': {
        'cc': {
          'initstate': 'disabled'
        },
        'iq': {
          'initstate': 'optout'
        },
        'ga': {
          'initstate': 'optin'
        },
        'gtm': {
          'initstate': 'alwayson'
        }
      }
    },
    'design': {
      'layout': {
        'position': 'right'
      },
      'colorscheme': {
        'primary': '',
        'secondary': '',
        'tertiary': '',
      }
    },
    'resources': {
      'nl': {
        'info': {
          "title":"",
          "text":""
        }
      }
    }
  });

Context

n.a.

Your Environment

On all

consent property 'flag' ambigious

Description

With ConsentCookie.get("<app id>") you will get an object that represents a consent.
This object will have a property called flag. Like stated in the documentation the value 0 represents a disabled (rejected?) consent and the value 1 represents an enabled (granted?) consent.
I think the term flag is ambiguous.

Expected Behavior

In my opinion, it would be better to have this flag property only for internal use and backward compatibility.
Instead, functions like:

  • ConsentCookie.isGranted("<app id">)
  • ConsentCookie.isRejected("<app id">)
  • ConsentCookie.get("<app id>").isGranted()
  • ConsentCookie.get("<app id>").isRejected()
    will be more intuitive to use.

Navigate within consentcookie using API

Description

Open, Close and change view in ConsentCookie using the ConsentCookie API

Expected Behavior

An API that is available to navigate within ConsentCookie

Actual Behavior

There is no API available

Alwayson tracker toggle shows 'off' instead of on

Description

image

Expected Behavior

In the demo, shown in the screenshot, the Google Tag Manager and IQNOMY the toggle should be disabled but shown as 'on'

image

Actual Behavior

The toggles value is set 'off'

Possible Fix

n.a.

Steps to Reproduce

  1. configure ConsentCookie with a always on application
  2. open application view

Context

It is showing the wrong state

Your Environment

  • All enviroments

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.