Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose Fides Consent Cookie for Browser Integrations - Client side Javascript #1395

Closed
mfbrown opened this issue Oct 11, 2022 · 0 comments · Fixed by #1756
Closed

Expose Fides Consent Cookie for Browser Integrations - Client side Javascript #1395

mfbrown opened this issue Oct 11, 2022 · 0 comments · Fixed by #1756

Comments

@mfbrown
Copy link

mfbrown commented Oct 11, 2022

We want to reflect different data uses explicitly and expose them for customers and users to quickly integrate with, in plain English.

As a marketer or web developer, I want to expose the Fides consent cookie in such a way that I can easily interact with it via code directly on my website or with tag managers made by Google, Adobe, etc.

Details

The sample consent configuration listed below is part of our privacy center config. We want to avoid the arbitrary grouping of cookies and instead provide a reasonable set of default mappings from consent to cookie, so that we support standard use cases out of the box. The mappings will also allow users to create their own cookies should they want to name things differently.

AC

  • Given that a user includes a Fides javascript widget in their <head> when the page loads, then the consent object is set based on the cookie
  • Given that a fides cookie is set based on the cookie config of the privacy center, when a user includes our fides javascript widget, then the properties of the cookie are made available on the window.
  • Given that a user updates their cookie, when a page reloads with the fides script, then the fides consent object is updated to reflect the cookie.
  • Given that a user has no Fides cookie on their browser, when a page with the Fides script reloads, then the consent object is set to the default configurations of the privacy center. - Note - this requires the script to read from the privacy center config to get the defaults. Can this be done?
{
    "title": "Take control of your data",
    "description": "When you use our services, you’re trusting us with your information. We understand this is a big responsibility and work hard to protect your information and put you in control.",
    "serverurldevelopment": "http://localhost:8080/api/v1",
    "serverurlproduction": "http://localhost:8080/api/v1",
    "logopath": "/logo.svg",
    "actions": [
        {
            "policykey": "examplerequestpolicy",
            "iconpath": "/download.svg",
            "title": "Access your data",
            "description": "We will email you a report of the data related to your account.",
            "identityinputs": {
                "name": "optional",
                "email": "required",
                "phone": "optional"
            }
        },
        {
            "policykey": "exampleerasurepolicy",
            "iconpath": "/delete.svg",
            "title": "Erase your data",
            "description": "We will delete all of your account data. This action cannot be undone.",
            "identityinputs": {
                "name": "optional",
                "email": "required",
                "phone": "optional"
            }
        }
    ],
    "includeConsent": true,
    "consent": {
        "cookieName": "ethycaconsent",
        "consentOptions": [
            {
                "fidesDataUseKey": "thirdpartysharing",
                "name": "Share my information",
                "description": "...",
                "highlight": true,
                "url": "https://example.com/privacy#data-sales",
                "cookieKeys": [
                    "datasharing",
                    "googleanalytics"
                ],
            },
            {
                "default": true,
                "fidesDataUseKey": "advertising",
                "name": "Sell my information",
                "url": "https://example.com/privacy#provide-service",
                "highlight": false,
                "description": "Manage how we use your data, including Do Not Sell My Personal Information.",
                "cookieKeys": [
                    "fb",
                    "gads"
                ]
            },
            {
                "default": true,
                "fidesDataUseKey": "improve",
                "name": "Provide a service",
                "url": "https://example.com/privacy#provide-service",
                "highlight": false,
                "description": "Manage how we use your data, including Do Not Sell My Personal Information.",
                "cookieKeys": [
                    "google_analytics",
                    "mixpanel"
                ],
            },
            {
                "default": true,
                "fidesDataUseKey": "provide.service",
                "name": "Provide a service",
                "url": "https://example.com/privacy#provide-service",
                "highlight": false,
                "description": "Manage how we use your data, including Do Not Sell My Personal Information."
            }
        ]
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants