@adv-ui/boros-tcf

Adevinta GDPR - Transparency and Consent Framework - API

Usage no npm install needed!

<script type="module">
  import advUiBorosTcf from 'https://cdn.skypack.dev/@adv-ui/boros-tcf';
</script>

README

Boros TCF

Build status codecov GitHub license npm version

Table of Contents

About

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

Features

  • Initialization with Stub, see details here

  • Extra cookie storage

    A cookie named "borosTcf" is stored with the user consents stringified data, encoded in Base64.

    Sample borosTcf value: eyJwb2xpY3lWZXJzaW9uIjoyLCJjbXBWZXJzaW9uIjoxLCJwdXJwb3NlIjp7ImNvbnNlbnRzIjp7IjEiOnRydWUsIjIiOnRydWUsIjMiOnRydWUsIjQiOnRydWUsIjUiOnRydWUsIjYiOnRydWUsIjciOnRydWUsIjgiOnRydWUsIjkiOnRydWUsIjEwIjp0cnVlfX0sInNwZWNpYWxGZWF0dXJlcyI6eyIxIjp0cnVlfX0=

    The encoded data in this sample value, and the cookie encoded data structure is:

    {
      "policyVersion": 2,
      "cmpVersion": 1,
      "purpose": {
        "consents": {
          "1": true,
          "2": true,
          "3": true,
          "4": true,
          "5": true,
          "6": true,
          "7": true,
          "8": true,
          "9": true,
          "10": true
        }
      },
      "specialFeatures": {
        "1": true
      }
    }
    

    To decode the cookie, p.ex.:

    // Java
    String decoded = new String(Base64.getDecoder().decode(cookieValue));
    
    // Node
    const decoded = Buffer.from(cookieValue, 'base64').toString()
    
    

npm i @adv-ui/boros-tcf

Initialization

import BorosTcf from '@adv-ui/boros-tcf'

const borosTcf = BorosTcf.init()

Allowed initialization parameters

BorosTcf.init({language, reporter})

  • language (optional, defaults to 'es'), a valid two-letter ISO 639-1 language code
  • reporter (optional), a function which can receive (event, payload) parameters. Boros TCF relevant actions will be notified to the reporter, which can be used p.ex. to debug.

Boros TCF actually will report events

  • LISTENER_ERROR: any error on registered event status listeners
  • USE_CASE_CALLED: any call to the use cases, which has finished OK
  • USE_CASE_ERROR: any call to the use cases, which has failed due to an error
  • LOAD_CONSENT_ERROR: loading the stored consent catched an error and an empty consent will be returned

License

Boros TCF is MIT licensed.