Cookie consent
This repo contains helper functions to make your application compliant with ICO
regulations.
How to make your application compliant with ICO regulations
Install
yarn add @transferwise/cookie-consent
Use
hasValidConsent()
import { hasValidConsent } from "@transferwise/cookie-consent";
if (hasValidConsent()) {
mixpanel.opt_in_tracking();
}
hasValidConsent()
checks the cookie consent from document.cookie
. If consent
cookie is not there or document
is undefined then it will return false
.
cookie.write(string, object(optional))
import { cookie } from "@transferwise/cookie-consent";
cookie.write(
"username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/"
);
cookie.write(string, object)
takes 2 arguments:
- cookie name, value and params you want to write to
document.cookie
- Optional: object that contains value if the cookie is
essential
- if it's
true
then we will add it to document.cookie
even when we don't have
consent
How to know if my cookie is essential?
Adding essential cookie
:
import { cookie } from "@transferwise/cookie-consent";
cookie.write(
"username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/",
{ essential: true }
);
Test
yarn test
Constants & cookie policy
The package also includes the constants used when creating the consent cookie,
and a JSON representation of the cookie policy.
These are typically utilised by the
consent mechansim, audit
tooling (e.g.,
cookie monster).
Releasing a new version
- Make your changes and write tests for it
- Bump the version (We follow semver) and update
CHANGELOG.md
- Create a PR and ask for a code review in #marketing-platform-dev
- Merge to master after it's approved
- Enjoy your new version in NPM