Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@financial-times/x-privacy-manager

Package Overview
Dependencies
Maintainers
0
Versions
136
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@financial-times/x-privacy-manager

A component to let users give or withhold consent to the use of their data

  • 14.7.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

x-privacy-manager

This module creates an interface giving users the ability to give or withhold consent to the sale of their data under the provisions of the CCPA (California Consumer Protection Act), as a first step towards the FT's journey towards a Unified Privacy solution.

It is rendered with Page Kit on FT.com at https://www.ft.com/preferences/privacy-ccpa as part of next-control-centre and rendered directly by the FT App. Additionally, it is intended to be embedded on pages curated by Specialist Titles

Privacy Manager UI

Installation

This module is supported on Node 12 and is distributed on npm.

npm install --save @financial-times/x-privacy-manager

The x-engine module is used to inject your chosen runtime into the component. Please read the x-engine documentation first if you are consuming x- components for the first time in your application.

Usage

Properties

FeatureTypeNotes
consentSourcestringName of the consuming app to be included in requests to Consent Proxy (e.g. "next-control-centre")
consentProxyEndpointsobjectDictionary containing already-formed Consent Proxy Endpoints to use (including userId). It must include, at least, consentProxyEndpoints.createOrUpdateRecord
consentboolean(optional) Any existing preference expressed by the user
referrerstring(optional) Used to provide a link back to the referring app's home page
cookieDomainstring(optional) Specify the domain for the cookie set with the response from Consent Proxy (e.g. ".thebanker.com"). Will default to ".ft.com" if not provided
legislationstring[](optional) An array of the applicable legislation IDs
onConsentSavedCallbacksfunction[](optional) An array of callbacks to invoken after a successful request to Consent Proxy

A callback registered with onConsentSavedCallbacks will be executed with the following signature:

customCallback(
  err: null | Error,
  {
    consent: boolean,
    payload: {
      formOfWordsId: string,
      consentSource: string,
      cookieDomain?: string,
      data: {
        ['behaviouralAds' | 'demographicAds' | 'programmaticAds']: {
          onsite: {
            status: boolean;
            lbi: boolean;
            source: string;
            fow: string;
          }
        }
      }
    }
  }
)

Callbacks are executed on regardless of the success (200 status) or failure of the call to the server, so we encourage returning early if the value of the error is anything but null:

function setCookie(err, {consent, payload}) {
  if(err) return;

  // Store the value of `consent`
  const uspString = `1Y${consent ? "N" : "Y"}N`;
  document.cookie = `usprivacy=${uspString}; max-age=${60 * 60 * 24 * 365}`;
}

Keywords

FAQs

Package last updated on 29 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc