@financial-times/privacy-legislation-client
v5.8.1
Published
## What it is
Downloads
8,093
Maintainers
Keywords
Readme
Privacy Legislation Client
What it is
A module that reports which privacy-related legislation applies in the user's current location.
Available for both server and client: see example
Usage
Typical usage would be to add the module to your app, call the imported method and then update the UI in line with any applicable legal requirements:
import { fetchLegislation, buildConsentPageUrl } from "@financial-times/privacy-legislation-client";
function onPageLoad() {
/**
* `legislation`: a Set of applicable laws: "ccpa", "gdpr", etc
* `region`: Identifies countries or subdivisions - "GB", "US-CA"
*/
const { legislation, region } = await fetchLegislation();
// Contruct a standardised URL for the Consent Page, embedding legislation & referrer
const url = buildConsentPageUrl({ url: "...", legislation })
if(legislation.has("ccpa")) {
insertCCPALink(url)
}
if(legislation.has("gdpr")) {
...
}
}
How it works
This module is a lightweight wrapper over the Fetch API that hits
https://privacy.ft.com/api/v1/compliance-region.json
, and exposes the comma-delimted response as a property called legislation
in the form of a Set
.
The abstraction allows us to change implementation details like the API's URL, version, etc. without impacting consumers
See the legislation-api for more details