Skip to content

GDPR CMP (Consent Managment Provider) implementation

License

Notifications You must be signed in to change notification settings

madmax/boros-CMP

Repository files navigation

Boros CMP

Build status codecov GitHub license npm version

Table of Contents

About

Boros CMP is a stand alone Consent Management Provider solution compliant with the "Transparency & Consent Framework" standard established by the IAB Europe.

Boros CMP is registered with ID 129

Features

  • Open Source project
  • Supports the IAB specification
  • Supports consent management for a single site or multiple sites from a single brand
  • Stand alone project (without User Interface). We also developed a User Interface and a bundle project including UI + CMP
  • Have a look at our CMP Showcase and try Boros

Technical features

  • Importable as a library from NPM.
  • Developed in Javascript (ECMAScript 6) using Promises and Events
  • We ❤️ Domain Driven Design
  • Supports local storage using single site cookie
  • Supports global storage using multi site cookie via iFrames

Usage

Boros CMP is available as npm package named @schibstedspain/boros-cmp.

To install the last stable version:

npm install --save @schibstedspain/boros-cmp

To initialize Boros CMP using default configuration values:

import boroscmp from '@schibstedspain/boros-cmp'

boroscmp.init()

To initialize Boros CMP using customized configuration values:

import boroscmp from '@schibstedspain/boros-cmp'

const customConfig = {
  gdpr: {
    gdprApplies: true,
    storeConsentGlobally: false
  },
  consent: {
    consentScreen: 1,
    consentLanguage: 'es'
  }
}

boroscmp.init({config: customConfig})

Configuration

There are some default configuration values that can be overwritten before CMP is loaded. Following you will find all the configuration properties and their default values.

Configuration Properties and default Values

Property Description Default Value
gdpr.gdprApplies Defines if GDPR applies or not. true
gdpr.storeConsentGlobally Defines if Consent Storage is Global (true) or Local (false). false
gdpr.globalConsentLocation The source URL of global storage html.
consent.consentScreen Screen number where consent was given. 1
consent.consentLanguage Defines the language for the UI. es
vendorList.host Host URL to retrieve Vendor lists. https://vendorlist.consensu.org
log.level Defines the Log level. 3

gdpr.gdprApplies

Defines if GDPR applies or not.

gdpr.storeConsentGlobally

Defines if Consent Storage is Global (true) or Local (false).

gdpr.globalConsentLocation

The source URL of global storage html.

consent.consentScreen

Defines the Screen number in the CMP where consent was given. The screen number is CMP and CmpVersion specific, and is for logging proof of consent

consent.consentLanguage

This language will be used by the User interface using CMP. Language values are ISO 639-1 codes, like:

Code Language Observations
es Spanish Default
en English Not available yet

vendorList.host

To find Vendor lists, CMP tries to retrieve a JSON named vendorlist.json and uses the IAB version structure, as follows:

log.level

Available log level values:

Code Level
1 debug
2 info
3 warn
4 error
5 off

CMP version

CMP version is set according to the version defined inside the package.json file. IAB standard uses only one number to define this version, so only the major version (first digit) will be used.

License

CMP is MIT licensed.

About

GDPR CMP (Consent Managment Provider) implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.8%
  • HTML 0.2%