diff --git a/CHANGELOG.md b/CHANGELOG.md index 21aa5167ed..776564fbd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ The types of changes are: - `Fixed` for any bug fixes. - `Security` in case of vulnerabilities. -## [Unreleased](https://github.com/ethyca/fides/compare/2.20.1...main) +## [Unreleased](https://github.com/ethyca/fides/compare/2.20.2...main) ### Added - "Add a vendor" flow to configuring consent page [#4107](https://github.com/ethyca/fides/pull/4107) @@ -27,18 +27,27 @@ The types of changes are: - Fides-js can now display preliminary TCF data [#3879](https://github.com/ethyca/fides/pull/3879) - Fides-js can persist TCF preferences to the backend [#3887](https://github.com/ethyca/fides/pull/3887) - TCF modal now supports setting legitimate interest fields [#4037](https://github.com/ethyca/fides/pull/4037) +- Embed the GVL in the GET Experiences response [#4143](https://github.com/ethyca/fides/pull/4143) +- Button to view how many vendors and to open the vendor tab in the TCF modal [#4144](https://github.com/ethyca/fides/pull/4144) ### Changed - Added further config options to customize the privacy center [#4090](https://github.com/ethyca/fides/pull/4090) - CORS configuration page [#4073](https://github.com/ethyca/fides/pull/4073) - Refactored `fides.js` components so that they can take data structures that are not necessarily privacy notices [#3870](https://github.com/ethyca/fides/pull/3870) +- Use hosted GVL.json from the backend [#4159](https://github.com/ethyca/fides/pull/4159) - Features and Special Purposes in the TCF modal do not render toggles [#4139](https://github.com/ethyca/fides/pull/4139) - Moved the initial TCF layer to the banner [#4142](https://github.com/ethyca/fides/pull/4142) +- Misc copy changes for the system history table and modal [#4146](https://github.com/ethyca/fides/pull/4146) ### Fixed - Allows CDN to cache empty experience responses from fides.js API [#4113](https://github.com/ethyca/fides/pull/4113) + +## [2.20.2](https://github.com/ethyca/fides/compare/2.20.1...2.20.2) + +### Fixed - added version_added, version_deprecated, and replaced_by to data use, data subject, and data category APIs [#4135](https://github.com/ethyca/fides/pull/4135) - Update fides.js to not fetch experience client-side if pre-fetched experience is empty [#4149](https://github.com/ethyca/fides/pull/4149) +- Erasure privacy requests now pause for input if there are any manual process integrations [#4115](https://github.com/ethyca/fides/pull/4115) - Caching the values of authorization_required and user_guide on the connector templates to improve performance [#4128](https://github.com/ethyca/fides/pull/4128) ## [2.20.1](https://github.com/ethyca/fides/compare/2.20.0...2.20.1) diff --git a/clients/admin-ui/src/features/common/RequestType.tsx b/clients/admin-ui/src/features/common/RequestType.tsx index 44e92368fc..2ec9f21b46 100644 --- a/clients/admin-ui/src/features/common/RequestType.tsx +++ b/clients/admin-ui/src/features/common/RequestType.tsx @@ -8,25 +8,33 @@ type RequestTypeProps = { rules: Rule[]; }; -const RequestType = ({ rules }: RequestTypeProps) => { - const actions = Array.from( +/** + * Extracts and returns the unique action types from the rules. + * @param rules Array of Rule objects. + */ +export const getActionTypes = (rules: Rule[]): ActionType[] => + Array.from( new Set( rules .filter((d) => Object.values(ActionType).includes(d.action_type)) - .map((d) => capitalize(d.action_type)) + .map((d) => d.action_type) ) ); - const tags = actions.map((action_type) => ( - - {action_type} - - )); + +const RequestType = ({ rules }: RequestTypeProps) => { + const tags = getActionTypes(rules) + .map((action) => capitalize(action)) + .map((action_type) => ( + + {action_type} + + )); return {tags}; }; diff --git a/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualProcessingDetail.tsx b/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualAccessProcessingDetail.tsx similarity index 93% rename from clients/admin-ui/src/features/privacy-requests/manual-processing/ManualProcessingDetail.tsx rename to clients/admin-ui/src/features/privacy-requests/manual-processing/ManualAccessProcessingDetail.tsx index 88edc8bc2f..6bf228459a 100644 --- a/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualProcessingDetail.tsx +++ b/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualAccessProcessingDetail.tsx @@ -26,19 +26,16 @@ import * as Yup from "yup"; import { ManualInputData } from "./types"; -type ManualProcessingDetailProps = { +type ManualAccessProcessingDetailProps = { connectorName: string; data: ManualInputData; isSubmitting: boolean; onSaveClick: (params: PatchUploadManualWebhookDataRequest) => void; }; -const ManualProcessingDetail: React.FC = ({ - connectorName, - data, - isSubmitting = false, - onSaveClick, -}) => { +const ManualAccessProcessingDetail: React.FC< + ManualAccessProcessingDetailProps +> = ({ connectorName, data, isSubmitting = false, onSaveClick }) => { const { isOpen, onOpen, onClose } = useDisclosure(); const firstField = useRef(null); @@ -101,12 +98,12 @@ const ManualProcessingDetail: React.FC = ({ - + {connectorName} - - PII Requirements + + Manual access @@ -115,7 +112,7 @@ const ManualProcessingDetail: React.FC = ({ - +
{Object.entries(data.fields).map(([key], index) => ( @@ -180,4 +177,4 @@ const ManualProcessingDetail: React.FC = ({ ); }; -export default ManualProcessingDetail; +export default ManualAccessProcessingDetail; diff --git a/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualErasureProcessingDetail.tsx b/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualErasureProcessingDetail.tsx new file mode 100644 index 0000000000..9807e96c23 --- /dev/null +++ b/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualErasureProcessingDetail.tsx @@ -0,0 +1,180 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +import { + Box, + Button, + ButtonGroup, + Checkbox, + Divider, + Drawer, + DrawerBody, + DrawerCloseButton, + DrawerContent, + DrawerFooter, + DrawerHeader, + DrawerOverlay, + FormControl, + FormLabel, + HStack, + Text, + useDisclosure, + VStack, +} from "@fidesui/react"; +import { Field, FieldInputProps, Form, Formik } from "formik"; +import { PatchUploadManualWebhookDataRequest } from "privacy-requests/types"; +import React, { useRef } from "react"; +import * as Yup from "yup"; + +import { ManualInputData } from "./types"; + +type ManualAccessProcessingDetailProps = { + connectorName: string; + data: ManualInputData; + isSubmitting: boolean; + onSaveClick: (params: PatchUploadManualWebhookDataRequest) => void; +}; + +const ManualErasureProcessingDetail: React.FC< + ManualAccessProcessingDetailProps +> = ({ connectorName, data, isSubmitting = false, onSaveClick }) => { + const { isOpen, onOpen, onClose } = useDisclosure(); + const firstField = useRef(null); + + const handleSubmit = async (values: any, _actions: any) => { + const params: PatchUploadManualWebhookDataRequest = { + connection_key: data.connection_key, + privacy_request_id: data.privacy_request_id, + body: { ...values } as object, + }; + onSaveClick(params); + onClose(); + }; + + return ( + <> + {data?.checked && ( + + )} + {!data?.checked && ( + + )} + + {/* @ts-ignore */} + {(_props: FormikProps) => ( + + + + + + + {connectorName} + + + + Manual erasure + + + + Please delete the following PII fields associated with the + selected subject if they are available. Once deleted, check + the box to confirm the deletion. + + + + + + + {Object.entries(data.fields).map(([key]) => ( + + + {({ field }: { field: FieldInputProps }) => ( + + + {key} + + + + )} + + + ))} + + + + + + + + + + + + )} + + + ); +}; + +export default ManualErasureProcessingDetail; diff --git a/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualProcessingList.tsx b/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualProcessingList.tsx index b4cebf3708..b43c9d0880 100644 --- a/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualProcessingList.tsx +++ b/clients/admin-ui/src/features/privacy-requests/manual-processing/ManualProcessingList.tsx @@ -18,24 +18,56 @@ import { } from "@fidesui/react"; import { useAlert, useAPIHelper } from "common/hooks"; import { useGetAllEnabledAccessManualHooksQuery } from "datastore-connections/datastore-connection.slice"; -import { useRouter } from "next/router"; import { privacyRequestApi, useResumePrivacyRequestFromRequiresInputMutation, - useUploadManualWebhookDataMutation, + useUploadManualAccessWebhookDataMutation, + useUploadManualErasureWebhookDataMutation, } from "privacy-requests/privacy-requests.slice"; import { + ActionType, PatchUploadManualWebhookDataRequest, PrivacyRequestEntity, } from "privacy-requests/types"; import React, { useEffect, useState } from "react"; -import { INDEX_ROUTE } from "src/constants"; import { useAppDispatch } from "~/app/hooks"; +import { getActionTypes } from "~/features/common/RequestType"; -import ManualProcessingDetail from "./ManualProcessingDetail"; +import ManualAccessProcessingDetail from "./ManualAccessProcessingDetail"; +import ManualErasureProcessingDetail from "./ManualErasureProcessingDetail"; import { ManualInputData } from "./types"; +type ActionConfig = { + ProcessingDetailComponent: React.FC; + uploadMutation: (params: any) => any; + getUploadedWebhookDataEndpoint: any; +}; + +const getActionConfig = ( + actionType: ActionType[], + uploadManualAccessMutation: any, + uploadManualErasureMutation: any +): ActionConfig | null => { + if (actionType.includes(ActionType.ACCESS)) { + return { + ProcessingDetailComponent: ManualAccessProcessingDetail, + uploadMutation: uploadManualAccessMutation, + getUploadedWebhookDataEndpoint: + privacyRequestApi.endpoints.getUploadedManualAccessWebhookData, + }; + } + if (actionType.includes(ActionType.ERASURE)) { + return { + ProcessingDetailComponent: ManualErasureProcessingDetail, + uploadMutation: uploadManualErasureMutation, + getUploadedWebhookDataEndpoint: + privacyRequestApi.endpoints.getUploadedManualErasureWebhookData, + }; + } + return null; +}; + type ManualProcessingListProps = { subjectRequest: PrivacyRequestEntity; }; @@ -44,7 +76,6 @@ const ManualProcessingList: React.FC = ({ subjectRequest, }) => { const dispatch = useAppDispatch(); - const router = useRouter(); const { errorAlert, successAlert } = useAlert(); const { handleError } = useAPIHelper(); const [dataList, setDataList] = useState([] as unknown as ManualInputData[]); @@ -57,14 +88,27 @@ const ManualProcessingList: React.FC = ({ const [resumePrivacyRequestFromRequiresInput] = useResumePrivacyRequestFromRequiresInputMutation(); - const [uploadManualWebhookData] = useUploadManualWebhookDataMutation(); + const actionTypes = getActionTypes(subjectRequest.policy.rules); + const [uploadManualWebhookAccessData] = + useUploadManualAccessWebhookDataMutation(); + const [uploadManualWebhookErasureData] = + useUploadManualErasureWebhookDataMutation(); + + const { + ProcessingDetailComponent: ProcessingDetail, + uploadMutation, + getUploadedWebhookDataEndpoint, + } = getActionConfig( + actionTypes, + uploadManualWebhookAccessData, + uploadManualWebhookErasureData + ) as ActionConfig; const handleCompleteDSRClick = async () => { try { setIsCompleteDSRLoading(true); await resumePrivacyRequestFromRequiresInput(subjectRequest.id).unwrap(); successAlert(`Manual request has been received. Request now processing.`); - router.push(INDEX_ROUTE); } catch (error) { handleError(error); } finally { @@ -75,7 +119,7 @@ const ManualProcessingList: React.FC = ({ const handleSubmit = async (params: PatchUploadManualWebhookDataRequest) => { try { setIsSubmitting(true); - await uploadManualWebhookData(params).unwrap(); + await uploadMutation(params).unwrap(); const response = { connection_key: params.connection_key, fields: {}, @@ -101,7 +145,7 @@ const ManualProcessingList: React.FC = ({ }; useEffect(() => { - const fetchUploadedManuaWebhookData = () => { + const fetchUploadedManualWebhookData = () => { if (dataList.length > 0) { return; } @@ -110,7 +154,7 @@ const ManualProcessingList: React.FC = ({ keys?.every((k) => promises.push( dispatch( - privacyRequestApi.endpoints.getUploadedManualWebhookData.initiate({ + getUploadedWebhookDataEndpoint.initiate({ connection_key: k, privacy_request_id: subjectRequest.id, }) @@ -149,7 +193,7 @@ const ManualProcessingList: React.FC = ({ }; if (isSuccess && data!.length > 0 && dataList.length === 0) { - fetchUploadedManuaWebhookData(); + fetchUploadedManualWebhookData(); } return () => {}; @@ -160,8 +204,16 @@ const ManualProcessingList: React.FC = ({ errorAlert, isSuccess, subjectRequest.id, + getUploadedWebhookDataEndpoint, ]); + if ( + !actionTypes.includes(ActionType.ACCESS) && + !actionTypes.includes(ActionType.ERASURE) + ) { + return null; + } + return ( @@ -193,10 +245,7 @@ const ManualProcessingList: React.FC = ({ pl="0" textTransform="none" > - Connector name - - - Description + Integration Identifier @@ -204,12 +253,11 @@ const ManualProcessingList: React.FC = ({ {data.length > 0 && data.map((item) => ( - - {item.connection_config.name} - {item.connection_config.description} + + {item.connection_config.key} {dataList.length > 0 ? ( - = ({ {dataList.length > 0 && dataList.every((item) => item.checked) ? ( - - - + - } - /> + + = ({ ) : null } - renderModalContent={({ onClose }) => ( - { - handleUpdateAllPreferences(keys); - onClose(); - }} - /> - )} + renderModalContent={({ onClose }) => { + const onSave = (keys: EnabledIds) => { + handleUpdateAllPreferences(keys); + onClose(); + }; + return ( +
+ + onSave(draftIds)} + /> + } + /> +
+ ); + }} /> ); }; diff --git a/clients/fides-js/src/components/tcf/TcfTabs.tsx b/clients/fides-js/src/components/tcf/TcfTabs.tsx index cf8572187f..a2ca677eeb 100644 --- a/clients/fides-js/src/components/tcf/TcfTabs.tsx +++ b/clients/fides-js/src/components/tcf/TcfTabs.tsx @@ -1,5 +1,5 @@ import { h } from "preact"; -import { useRef, useState } from "preact/hooks"; +import { useRef } from "preact/hooks"; import TcfPurposes from "./TcfPurposes"; import { PrivacyExperience } from "../../lib/consent-types"; import type { EnabledIds, UpdateEnabledIds } from "./TcfOverlay"; @@ -13,10 +13,14 @@ const TcfTabs = ({ experience, enabledIds, onChange, + activeTabIndex, + onTabChange, }: { experience: PrivacyExperience; enabledIds: EnabledIds; onChange: (payload: UpdateEnabledIds) => void; + activeTabIndex: number; + onTabChange: (tabIndex: number) => void; }) => { const tcfTabs = [ { @@ -52,11 +56,12 @@ const TcfTabs = ({ enabledVendorIds={enabledIds.vendors} enabledSystemIds={enabledIds.systems} onChange={onChange} + gvl={experience.gvl} /> ), }, ]; - const [activeTabIndex, setActiveTabIndex] = useState(0); + const inputRefs = [ useRef(null), useRef(null), @@ -75,7 +80,7 @@ const TcfTabs = ({ activeTabIndex === 0 ? tcfTabs.length - 1 : activeTabIndex - 1; } if (newActiveTab != null) { - setActiveTabIndex(newActiveTab); + onTabChange(newActiveTab); inputRefs[newActiveTab].current?.focus(); } }; @@ -88,7 +93,7 @@ const TcfTabs = ({ id={`fides-tab-${name}`} aria-selected={idx === activeTabIndex} onClick={() => { - setActiveTabIndex(idx); + onTabChange(idx); }} role="tab" type="button" diff --git a/clients/fides-js/src/components/tcf/TcfVendors.tsx b/clients/fides-js/src/components/tcf/TcfVendors.tsx index 97140ce34c..9a7a068ecb 100644 --- a/clients/fides-js/src/components/tcf/TcfVendors.tsx +++ b/clients/fides-js/src/components/tcf/TcfVendors.tsx @@ -3,6 +3,7 @@ import { useState } from "preact/hooks"; import { EmbeddedLineItem, EmbeddedPurpose, + GVLJson, TCFVendorRecord, } from "../../lib/tcf/types"; import { PrivacyExperience } from "../../lib/consent-types"; @@ -85,12 +86,14 @@ const TcfVendors = ({ enabledVendorIds, enabledSystemIds, onChange, + gvl, }: { allVendors: PrivacyExperience["tcf_vendors"]; allSystems: PrivacyExperience["tcf_systems"]; enabledVendorIds: string[]; enabledSystemIds: string[]; onChange: (payload: UpdateEnabledIds) => void; + gvl?: GVLJson; }) => { const [isFiltered, setIsFiltered] = useState(false); @@ -129,7 +132,7 @@ const TcfVendors = ({ }; const vendorsToDisplay = isFiltered - ? vendors.filter((v) => vendorIsGvl(v)) + ? vendors.filter((v) => vendorIsGvl(v, gvl)) : vendors; return ( @@ -142,7 +145,7 @@ const TcfVendors = ({ handleToggle(vendor); }} checked={enabledIds.indexOf(vendor.id) !== -1} - badge={vendorIsGvl(vendor) ? "GVL" : undefined} + badge={vendorIsGvl(vendor, gvl) ? "GVL" : undefined} >

{vendor.description}

diff --git a/clients/fides-js/src/lib/consent-types.ts b/clients/fides-js/src/lib/consent-types.ts index b69fa54364..a6dbf30b60 100644 --- a/clients/fides-js/src/lib/consent-types.ts +++ b/clients/fides-js/src/lib/consent-types.ts @@ -7,6 +7,7 @@ import type { TCFFeatureSave, TCFSpecialFeatureSave, TCFVendorSave, + GVLJson, } from "./tcf/types"; export type EmptyExperience = Record; @@ -85,6 +86,7 @@ export type PrivacyExperience = { tcf_systems?: Array; tcf_features?: Array; tcf_special_features?: Array; + gvl?: GVLJson; }; export type ExperienceConfig = { diff --git a/clients/fides-js/src/lib/tcf.ts b/clients/fides-js/src/lib/tcf.ts index 392a1fe394..7c095555df 100644 --- a/clients/fides-js/src/lib/tcf.ts +++ b/clients/fides-js/src/lib/tcf.ts @@ -6,15 +6,9 @@ */ import { CmpApi } from "@iabtechlabtcf/cmpapi"; -import { - TCModel, - TCString, - GVL, - VersionOrVendorList, -} from "@iabtechlabtcf/core"; +import { TCModel, TCString, GVL } from "@iabtechlabtcf/core"; import { makeStub } from "./tcf/stub"; import { transformUserPreferenceToBoolean } from "./consent-utils"; -import gvlJson from "./tcf/gvl.json"; import { LegalBasisForProcessingEnum, TCFPurposeRecord, @@ -57,119 +51,119 @@ export const generateTcString = async ({ tcStringPreferences?: TcfSavePreferences; experience: PrivacyExperience; }): Promise => { - // Creates a new TC string based on an old GVL version - // (https://vendor-list.consensu.org/v2/archives/vendor-list-v1.json) - // due to TCF library not yet supporting latest GVL (https://vendor-list.consensu.org/v3/vendor-list.json). - // We'll need to update this with our own hosted GVL once the lib is updated - // https://github.com/InteractiveAdvertisingBureau/iabtcf-es/pull/389 - const tcModel = new TCModel(new GVL(gvlJson as VersionOrVendorList)); - let encodedString = ""; + try { + const tcModel = new TCModel(new GVL(experience.gvl)); - // Some fields will not be populated until a GVL is loaded - await tcModel.gvl.readyPromise; + // Some fields will not be populated until a GVL is loaded + await tcModel.gvl.readyPromise; - tcModel.cmpId = CMP_ID; - tcModel.cmpVersion = CMP_VERSION; - tcModel.consentScreen = 1; // todo- On which 'screen' consent was captured; this is a CMP proprietary number encoded into the TC string + tcModel.cmpId = CMP_ID; + tcModel.cmpVersion = CMP_VERSION; + tcModel.consentScreen = 1; // todo- On which 'screen' consent was captured; this is a CMP proprietary number encoded into the TC string - if (tcStringPreferences) { - if ( - tcStringPreferences.vendor_preferences && - tcStringPreferences.vendor_preferences.length > 0 - ) { - tcStringPreferences.vendor_preferences.forEach((vendorPreference) => { - const consented = transformUserPreferenceToBoolean( - vendorPreference.preference - ); - if (consented && vendorIsGvl(vendorPreference)) { - tcModel.vendorConsents.set(+vendorPreference.id); - const thisVendor = experience.tcf_vendors?.filter( - (v) => v.id === vendorPreference.id - )[0]; - const vendorPurposes = thisVendor?.purposes; - // Handle the case where a vendor has forbidden legint purposes set - let skipSetLegInt = false; - if (vendorPurposes) { - const legIntPurposeIds = vendorPurposes - .filter((p) => - p.legal_bases?.includes( - LegalBasisForProcessingEnum.LEGITIMATE_INTERESTS + if (tcStringPreferences) { + if ( + tcStringPreferences.vendor_preferences && + tcStringPreferences.vendor_preferences.length > 0 + ) { + tcStringPreferences.vendor_preferences.forEach((vendorPreference) => { + const consented = transformUserPreferenceToBoolean( + vendorPreference.preference + ); + if (consented && vendorIsGvl(vendorPreference, experience.gvl)) { + tcModel.vendorConsents.set(+vendorPreference.id); + const thisVendor = experience.tcf_vendors?.filter( + (v) => v.id === vendorPreference.id + )[0]; + const vendorPurposes = thisVendor?.purposes; + // Handle the case where a vendor has forbidden legint purposes set + let skipSetLegInt = false; + if (vendorPurposes) { + const legIntPurposeIds = vendorPurposes + .filter((p) => + p.legal_bases?.includes( + LegalBasisForProcessingEnum.LEGITIMATE_INTERESTS + ) ) - ) - .map((p) => p.id); - if ( - legIntPurposeIds.filter((id) => - FORBIDDEN_LEGITIMATE_INTEREST_PURPOSE_IDS.includes(id) - ).length - ) { - skipSetLegInt = true; + .map((p) => p.id); + if ( + legIntPurposeIds.filter((id) => + FORBIDDEN_LEGITIMATE_INTEREST_PURPOSE_IDS.includes(id) + ).length + ) { + skipSetLegInt = true; + } + } + if (!skipSetLegInt) { + tcModel.vendorLegitimateInterests.set(+vendorPreference.id); } } - if (!skipSetLegInt) { - tcModel.vendorLegitimateInterests.set(+vendorPreference.id); - } - } - }); - } + }); + } - // Set purpose consent on tcModel - if ( - tcStringPreferences.purpose_preferences && - tcStringPreferences.purpose_preferences.length > 0 - ) { - tcStringPreferences.purpose_preferences.forEach((purposePreference) => { - const consented = transformUserPreferenceToBoolean( - purposePreference.preference - ); - if (consented) { - const id = +purposePreference.id; - if ( - purposeHasLegalBasis({ - id, - purposes: experience.tcf_purposes, - legalBasis: LegalBasisForProcessingEnum.CONSENT, - }) - ) { - tcModel.purposeConsents.set(id); - } - if ( - purposeHasLegalBasis({ - id, - purposes: experience.tcf_purposes, - legalBasis: LegalBasisForProcessingEnum.LEGITIMATE_INTERESTS, - }) && - // per the IAB, make sure we never set purposes 1, 3, 4, 5, or 6 - !FORBIDDEN_LEGITIMATE_INTEREST_PURPOSE_IDS.includes(id) - ) { - tcModel.purposeLegitimateInterests.set(id); - } - } - }); - } - - // Set special feature opt-ins on tcModel - if ( - tcStringPreferences.special_feature_preferences && - tcStringPreferences.special_feature_preferences.length > 0 - ) { - tcStringPreferences.special_feature_preferences.forEach( - (specialFeaturePreference) => { + // Set purpose consent on tcModel + if ( + tcStringPreferences.purpose_preferences && + tcStringPreferences.purpose_preferences.length > 0 + ) { + tcStringPreferences.purpose_preferences.forEach((purposePreference) => { const consented = transformUserPreferenceToBoolean( - specialFeaturePreference.preference + purposePreference.preference ); if (consented) { - tcModel.specialFeatureOptins.set(+specialFeaturePreference.id); + const id = +purposePreference.id; + if ( + purposeHasLegalBasis({ + id, + purposes: experience.tcf_purposes, + legalBasis: LegalBasisForProcessingEnum.CONSENT, + }) + ) { + tcModel.purposeConsents.set(id); + } + if ( + purposeHasLegalBasis({ + id, + purposes: experience.tcf_purposes, + legalBasis: LegalBasisForProcessingEnum.LEGITIMATE_INTERESTS, + }) && + // per the IAB, make sure we never set purposes 1, 3, 4, 5, or 6 + !FORBIDDEN_LEGITIMATE_INTEREST_PURPOSE_IDS.includes(id) + ) { + tcModel.purposeLegitimateInterests.set(id); + } } - } - ); - } + }); + } + + // Set special feature opt-ins on tcModel + if ( + tcStringPreferences.special_feature_preferences && + tcStringPreferences.special_feature_preferences.length > 0 + ) { + tcStringPreferences.special_feature_preferences.forEach( + (specialFeaturePreference) => { + const consented = transformUserPreferenceToBoolean( + specialFeaturePreference.preference + ); + if (consented) { + tcModel.specialFeatureOptins.set(+specialFeaturePreference.id); + } + } + ); + } - // note that we cannot set consent for special purposes nor features because the IAB policy states - // the user is not given choice by a CMP. - // See https://iabeurope.eu/iab-europe-transparency-consent-framework-policies/ - // and https://github.com/InteractiveAdvertisingBureau/iabtcf-es/issues/63#issuecomment-581798996 - encodedString = TCString.encode(tcModel); + // note that we cannot set consent for special purposes nor features because the IAB policy states + // the user is not given choice by a CMP. + // See https://iabeurope.eu/iab-europe-transparency-consent-framework-policies/ + // and https://github.com/InteractiveAdvertisingBureau/iabtcf-es/issues/63#issuecomment-581798996 + encodedString = TCString.encode(tcModel); + } + } catch (e) { + // eslint-disable-next-line no-console + console.error("Unable to instantiate GVL: ", e); + return Promise.resolve(""); } return Promise.resolve(encodedString); }; diff --git a/clients/fides-js/src/lib/tcf/types.ts b/clients/fides-js/src/lib/tcf/types.ts index ba57fc00d4..0b4d302e0e 100644 --- a/clients/fides-js/src/lib/tcf/types.ts +++ b/clients/fides-js/src/lib/tcf/types.ts @@ -1,3 +1,4 @@ +import type { GVL } from "@iabtechlabtcf/core"; import type { PrivacyPreferencesRequest, UserConsentPreference, @@ -143,3 +144,17 @@ export enum LegalBasisForProcessingEnum { PUBLIC_INTEREST = "Public interest", LEGITIMATE_INTERESTS = "Legitimate interests", } + +export type GVLJson = Pick< + GVL, + | "gvlSpecificationVersion" + | "vendorListVersion" + | "tcfPolicyVersion" + | "lastUpdated" + | "stacks" + | "purposes" + | "specialPurposes" + | "features" + | "specialFeatures" + | "vendors" +>; diff --git a/clients/fides-js/src/lib/tcf/vendors.ts b/clients/fides-js/src/lib/tcf/vendors.ts index 3f32c972be..4b2a562a19 100644 --- a/clients/fides-js/src/lib/tcf/vendors.ts +++ b/clients/fides-js/src/lib/tcf/vendors.ts @@ -1,7 +1,12 @@ -import { TCFVendorRecord } from "./types"; -import GVL_JSON from "./gvl.json"; +import { GVLJson, TCFVendorRecord } from "./types"; -const GVL_VENDOR_IDS = Object.keys(GVL_JSON.vendors); - -export const vendorIsGvl = (vendor: Pick) => - GVL_VENDOR_IDS.indexOf(vendor.id) !== -1; +export const vendorIsGvl = ( + vendor: Pick, + gvl: GVLJson | undefined +) => { + if (!gvl) { + return false; + } + const vendorIds = Object.keys(gvl.vendors); + return vendorIds.indexOf(vendor.id) !== -1; +}; diff --git a/clients/fides-js/src/services/fides/api.ts b/clients/fides-js/src/services/fides/api.ts index 80a97b6250..d333cd5017 100644 --- a/clients/fides-js/src/services/fides/api.ts +++ b/clients/fides-js/src/services/fides/api.ts @@ -40,6 +40,7 @@ export const fetchExperience = async ( has_notices: "true", has_config: "true", systems_applicable: "true", + include_gvl: "true", }; if (fidesUserDeviceId) { params.fides_user_device_id = fidesUserDeviceId; diff --git a/clients/privacy-center/cypress/e2e/consent-banner-tcf.cy.ts b/clients/privacy-center/cypress/e2e/consent-banner-tcf.cy.ts index 6effb806da..984c58d167 100644 --- a/clients/privacy-center/cypress/e2e/consent-banner-tcf.cy.ts +++ b/clients/privacy-center/cypress/e2e/consent-banner-tcf.cy.ts @@ -172,6 +172,15 @@ describe("Fides-js TCF", () => { }); cy.get("#fides-tab-Purposes"); }); + + it("can open the modal from vendor information", () => { + cy.get("div#fides-banner").within(() => { + cy.get("button").contains("View our 2 partners").click(); + }); + cy.get("#fides-tab-Vendors"); + cy.getByTestId(`toggle-${VENDOR_1.name}`); + cy.getByTestId(`toggle-${VENDOR_2.name}`); + }); }); describe("second layer", () => { diff --git a/clients/privacy-center/cypress/fixtures/consent/experience_tcf.json b/clients/privacy-center/cypress/fixtures/consent/experience_tcf.json index 2b58a7db58..e8c8ea1e08 100644 --- a/clients/privacy-center/cypress/fixtures/consent/experience_tcf.json +++ b/clients/privacy-center/cypress/fixtures/consent/experience_tcf.json @@ -322,7 +322,65 @@ } ] } - ] + ], + "gvl": { + "gvlSpecificationVersion": "3", + "vendorListVersion": 19, + "tcfPolicyVersion": 4, + "lastUpdated": "2023-09-21T16:07:34Z", + "purposes": { + "1": { + "id": 1, + "name": "Store and/or access information on a device", + "description": "Cookies, device or similar online identifiers (e.g. login-based identifiers, randomly assigned identifiers, network based identifiers) together with other information (e.g. browser type and information, language, screen size, supported technologies etc.) can be stored or read on your device to recognise it each time it connects to an app or to a website, for one or several of the purposes presented here. ", + "illustrations": [ + "Most purposes explained in this notice rely on the storage or accessing of information from your device when you use an app or visit a website. For example, a vendor or publisher might need to store a cookie on your device during your first visit on a website, to be able to recognise your device during your next visits (by accessing this cookie each time)." + ] + } + }, + "specialPurposes": {}, + "features": {}, + "specialFeatures": {}, + "vendors": { + "2": { + "id": 2, + "name": "Captify Technologies Limited", + "purposes": [1], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": 31536000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 365, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.captifytechnologies.com/privacy-notice/", + "legIntClaim": "https://www.captifytechnologies.com/privacy-notice/" + } + ], + "dataDeclaration": [], + "deviceStorageDisclosureUrl": "https://static.cpx.to/gvl/deviceStorageDisclosure.json" + } + }, + "stacks": { + "7": { + "id": 7, + "purposes": [2, 4, 7, 9], + "specialFeatures": [], + "name": "Selection of personalised advertising, advertising measurement, and audience research", + "description": "Advertising can be personalised based on your profile. Advertising performance can be measured. Reports can be generated based on your activity and those of others." + } + } + } } ], "total": 1, diff --git a/src/fides/api/api/v1/endpoints/privacy_experience_endpoints.py b/src/fides/api/api/v1/endpoints/privacy_experience_endpoints.py index 236d66bee8..c0ec960dc4 100644 --- a/src/fides/api/api/v1/endpoints/privacy_experience_endpoints.py +++ b/src/fides/api/api/v1/endpoints/privacy_experience_endpoints.py @@ -34,7 +34,11 @@ get_fides_user_device_id_provided_identity, ) from fides.api.util.endpoint_utils import fides_limiter, transform_fields -from fides.api.util.tcf_util import TCF_COMPONENT_MAPPING, TCFExperienceContents +from fides.api.util.tcf_util import ( + TCF_COMPONENT_MAPPING, + TCFExperienceContents, + load_gvl, +) from fides.common.api.v1 import urn_registry as urls from fides.config import CONFIG @@ -131,6 +135,7 @@ def privacy_experience_list( has_config: Optional[bool] = None, fides_user_device_id: Optional[str] = None, systems_applicable: Optional[bool] = False, + include_gvl: Optional[bool] = False, request: Request, # required for rate limiting response: Response, # required for rate limiting ) -> AbstractPage[PrivacyExperience]: @@ -150,6 +155,7 @@ def privacy_experience_list( :param has_config: If True, returns Experiences with copy. If False, returns just Experiences without copy. :param fides_user_device_id: Supplement the response with current saved preferences of the given user :param systems_applicable: Only return embedded Notices associated with systems. + :param include_gvl: Embeds gvl.json in the response provided we also have TCF content :param request: :param response: :return: @@ -215,6 +221,7 @@ def privacy_experience_list( systems_applicable=systems_applicable, fides_user_provided_identity=fides_user_provided_identity, should_unescape=should_unescape, + include_gvl=include_gvl, ) if content_required and not content_exists: @@ -245,6 +252,7 @@ def embed_experience_details( systems_applicable: Optional[bool], fides_user_provided_identity: Optional[ProvidedIdentity], should_unescape: Optional[str], + include_gvl: Optional[bool], ) -> bool: """ Embed the contents of the PrivacyExperience at runtime. Adds Privacy Notices or TCF contents if applicable. @@ -264,6 +272,9 @@ def embed_experience_details( has_tcf_contents: bool = any( getattr(tcf_contents, component) for component in TCF_COMPONENT_MAPPING ) + if has_tcf_contents and include_gvl: + privacy_experience.gvl = load_gvl() + # Add fetched TCF contents to the Privacy Experience if applicable for component in TCF_COMPONENT_MAPPING: setattr(privacy_experience, component, getattr(tcf_contents, component)) diff --git a/src/fides/api/api/v1/endpoints/privacy_request_endpoints.py b/src/fides/api/api/v1/endpoints/privacy_request_endpoints.py index 7a1d5c4493..341864ccfc 100644 --- a/src/fides/api/api/v1/endpoints/privacy_request_endpoints.py +++ b/src/fides/api/api/v1/endpoints/privacy_request_endpoints.py @@ -4,7 +4,7 @@ import io from collections import defaultdict from datetime import datetime -from typing import Any, Callable, DefaultDict, Dict, List, Optional, Set, Union +from typing import Any, Callable, DefaultDict, Dict, List, Literal, Optional, Set, Union import sqlalchemy from fastapi import Body, Depends, HTTPException, Security @@ -124,13 +124,14 @@ PRIVACY_REQUEST_VIEW_DATA, ) from fides.common.api.v1.urn_registry import ( - PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT, PRIVACY_REQUEST_APPROVE, PRIVACY_REQUEST_AUTHENTICATED, PRIVACY_REQUEST_BULK_RETRY, PRIVACY_REQUEST_DENY, PRIVACY_REQUEST_MANUAL_ERASURE, PRIVACY_REQUEST_MANUAL_INPUT, + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT, + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT, PRIVACY_REQUEST_NOTIFICATIONS, PRIVACY_REQUEST_RESUME, PRIVACY_REQUEST_RESUME_FROM_REQUIRES_INPUT, @@ -936,11 +937,11 @@ def resume_privacy_request_with_manual_input( if paused_step == CurrentStep.access: validate_manual_input(manual_rows, paused_collection, dataset_graph) logger.info( - "Caching manual input for privacy request '{}', collection: '{}'", + "Caching manual access input for privacy request '{}', collection: '{}'", privacy_request_id, paused_collection, ) - privacy_request.cache_manual_input(paused_collection, manual_rows) + privacy_request.cache_manual_access_input(paused_collection, manual_rows) elif paused_step == CurrentStep.erasure: logger.info( @@ -1351,26 +1352,13 @@ def _deny_request( ) -@router.patch( - PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT, - status_code=HTTP_200_OK, - dependencies=[Security(verify_oauth_client, scopes=[PRIVACY_REQUEST_UPLOAD_DATA])], - response_model=None, -) -def upload_manual_webhook_data( - *, - connection_config: ConnectionConfig = Depends(_get_connection_config), +def _handle_manual_webhook_input( + action: Literal["access", "erasure"], + connection_config: ConnectionConfig, privacy_request_id: str, - db: Session = Depends(deps.get_db), + db: Session, input_data: Dict[str, Any], ) -> None: - """Upload manual input for the privacy request for the fields defined on the access manual webhook. - The data collected here is not included in the graph but uploaded directly to the user at the end - of privacy request execution. - - Because a 'manual_webhook' ConnectionConfig has one AccessManualWebhook associated with it, - we are using the ConnectionConfig key as the AccessManualWebhook identifier here. - """ privacy_request: PrivacyRequest = get_privacy_request_or_error( db, privacy_request_id ) @@ -1381,23 +1369,82 @@ def upload_manual_webhook_data( if not privacy_request.status == PrivacyRequestStatus.requires_input: raise HTTPException( status_code=HTTP_400_BAD_REQUEST, - detail=f"Invalid access manual webhook upload request: privacy request '{privacy_request.id}' status = {privacy_request.status.value}.", # type: ignore + detail=f"Invalid manual webhook {action} upload request: privacy request '{privacy_request.id}' status = {privacy_request.status.value}.", # type: ignore ) try: - privacy_request.cache_manual_webhook_input(access_manual_webhook, input_data) + getattr(privacy_request, f"cache_manual_webhook_{action}_input")( + access_manual_webhook, input_data + ) except PydanticValidationError as exc: raise HTTPException( status_code=HTTP_422_UNPROCESSABLE_ENTITY, detail=exc.errors() ) logger.info( - "Input saved for access manual webhook '{}' for privacy_request '{}'.", + "{} input saved for manual webhook '{}' for privacy_request '{}'.", + action.capitalize(), access_manual_webhook, privacy_request, ) +@router.patch( + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT, + status_code=HTTP_200_OK, + dependencies=[Security(verify_oauth_client, scopes=[PRIVACY_REQUEST_UPLOAD_DATA])], + response_model=None, +) +def upload_manual_webhook_access_data( + *, + connection_config: ConnectionConfig = Depends(_get_connection_config), + privacy_request_id: str, + db: Session = Depends(deps.get_db), + input_data: Dict[str, Any], +) -> None: + """Upload manual access input for the privacy request for the fields defined on the access manual webhook. + The data collected here is not included in the graph but uploaded directly to the user at the end + of privacy request execution. + + Because a 'manual_webhook' ConnectionConfig has one AccessManualWebhook associated with it, + we are using the ConnectionConfig key as the AccessManualWebhook identifier here. + """ + _handle_manual_webhook_input( + action="access", + connection_config=connection_config, + privacy_request_id=privacy_request_id, + db=db, + input_data=input_data, + ) + + +@router.patch( + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT, + status_code=HTTP_200_OK, + dependencies=[Security(verify_oauth_client, scopes=[PRIVACY_REQUEST_UPLOAD_DATA])], + response_model=None, +) +def upload_manual_webhook_erasure_data( + *, + connection_config: ConnectionConfig = Depends(_get_connection_config), + privacy_request_id: str, + db: Session = Depends(deps.get_db), + input_data: Dict[str, Any], +) -> None: + """Upload manual erasure input for the privacy request for the fields defined on the access manual webhook. + + Because a 'manual_webhook' ConnectionConfig has one AccessManualWebhook associated with it, + we are using the ConnectionConfig key as the AccessManualWebhook identifier here. + """ + _handle_manual_webhook_input( + action="erasure", + connection_config=connection_config, + privacy_request_id=privacy_request_id, + db=db, + input_data=input_data, + ) + + @router.get( PRIVACY_REQUEST_TRANSFER_TO_PARENT, status_code=HTTP_200_OK, @@ -1469,7 +1516,7 @@ def privacy_request_data_transfer( @router.get( - PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT, + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT, status_code=HTTP_200_OK, dependencies=[Security(verify_oauth_client, scopes=[PRIVACY_REQUEST_VIEW_DATA])], response_model=Optional[ManualWebhookData], @@ -1498,7 +1545,7 @@ def view_uploaded_manual_webhook_data( if not privacy_request.status == PrivacyRequestStatus.requires_input: raise HTTPException( status_code=HTTP_400_BAD_REQUEST, - detail=f"Invalid access manual webhook upload request: privacy request " + detail=f"Invalid manual webhook access upload request: privacy request " f"'{privacy_request.id}' status = {privacy_request.status.value}.", # type: ignore ) @@ -1508,7 +1555,7 @@ def view_uploaded_manual_webhook_data( connection_config.key, privacy_request.id, ) - data: Dict[str, Any] = privacy_request.get_manual_webhook_input_strict( + data: Dict[str, Any] = privacy_request.get_manual_webhook_access_input_strict( access_manual_webhook ) checked = True @@ -1518,7 +1565,7 @@ def view_uploaded_manual_webhook_data( NoCachedManualWebhookEntry, ) as exc: logger.info(exc) - data = privacy_request.get_manual_webhook_input_non_strict( + data = privacy_request.get_manual_webhook_access_input_non_strict( manual_webhook=access_manual_webhook ) checked = False @@ -1526,6 +1573,64 @@ def view_uploaded_manual_webhook_data( return ManualWebhookData(checked=checked, fields=data) +@router.get( + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT, + status_code=HTTP_200_OK, + dependencies=[Security(verify_oauth_client, scopes=[PRIVACY_REQUEST_VIEW_DATA])], + response_model=Optional[ManualWebhookData], +) +def view_uploaded_erasure_manual_webhook_data( + *, + connection_config: ConnectionConfig = Depends(_get_connection_config), + privacy_request_id: str, + db: Session = Depends(deps.get_db), +) -> Optional[ManualWebhookData]: + """ + View uploaded erasure data for this privacy request for the given manual webhook + + If no data exists for this webhook, we just return all fields as None. + If we have missing or extra fields saved, we'll just return the overlap between what is saved and what is defined on the webhook. + + If checked=False, data must be reviewed before submission. The privacy request should not be submitted as-is. + """ + privacy_request: PrivacyRequest = get_privacy_request_or_error( + db, privacy_request_id + ) + manual_webhook: AccessManualWebhook = get_access_manual_webhook_or_404( + connection_config + ) + + if not privacy_request.status == PrivacyRequestStatus.requires_input: + raise HTTPException( + status_code=HTTP_400_BAD_REQUEST, + detail=f"Invalid manual webhook erasure upload request: privacy request " + f"'{privacy_request.id}' status = {privacy_request.status.value}.", # type: ignore + ) + + try: + logger.info( + "Retrieving erasure input data for manual webhook '{}' for privacy request '{}'.", + connection_config.key, + privacy_request.id, + ) + data: Dict[str, Any] = privacy_request.get_manual_webhook_erasure_input_strict( + manual_webhook + ) + checked = True + except ( + PydanticValidationError, + ManualWebhookFieldsUnset, + NoCachedManualWebhookEntry, + ) as exc: + logger.info(exc) + data = privacy_request.get_manual_webhook_erasure_input_non_strict( + manual_webhook=manual_webhook + ) + checked = False + + return ManualWebhookData(checked=checked, fields=data) + + @router.post( PRIVACY_REQUEST_RESUME_FROM_REQUIRES_INPUT, status_code=HTTP_200_OK, @@ -1555,7 +1660,15 @@ def resume_privacy_request_from_requires_input( ) try: for manual_webhook in access_manual_webhooks: - privacy_request.get_manual_webhook_input_strict(manual_webhook) + # check the access or erasure cache based on the privacy request's action type + if privacy_request.policy.get_rules_for_action( + action_type=ActionType.access + ): + privacy_request.get_manual_webhook_access_input_strict(manual_webhook) + if privacy_request.policy.get_rules_for_action( + action_type=ActionType.erasure + ): + privacy_request.get_manual_webhook_erasure_input_strict(manual_webhook) except ( NoCachedManualWebhookEntry, PydanticValidationError, diff --git a/src/fides/api/models/manual_webhook.py b/src/fides/api/models/manual_webhook.py index 2fe536b2a4..76108a1e86 100644 --- a/src/fides/api/models/manual_webhook.py +++ b/src/fides/api/models/manual_webhook.py @@ -50,6 +50,29 @@ class Config: ) return ManualWebhookValidationModel + @property + def erasure_fields_schema(self) -> FidesSchema: + """ + Build a dynamic Pydantic schema from fields defined on this webhook. + The fields in the schema for erasure input validation are of type bool, + vs str for access input validation. + """ + + class Config: + extra = "forbid" + + field_definitions: Dict[str, Any] = { + field["dsr_package_label"]: (Optional[bool], None) + for field in self.fields or [] + } + + ManualWebhookValidationModel = create_model( # type: ignore + __model_name="ManualWebhookValidationModel", + __config__=Config, + **field_definitions, + ) + return ManualWebhookValidationModel + @property def fields_non_strict_schema(self) -> FidesSchema: """Returns a dynamic Pydantic Schema for webhook fields that can keep the overlap between @@ -59,6 +82,15 @@ def fields_non_strict_schema(self) -> FidesSchema: schema.__config__ = BaseConfig # type: ignore[misc] return schema + @property + def erasure_fields_non_strict_schema(self) -> FidesSchema: + """Returns a dynamic Pydantic Schema for webhook fields that can keep the overlap between + fields that are saved and fields that are defined here.""" + schema: FidesSchema = self.erasure_fields_schema + # Extra is set to "ignore" on the BaseConfig + schema.__config__ = BaseConfig # type: ignore[misc] + return schema + @property def empty_fields_dict(self) -> Dict[str, None]: """Return a dictionary that maps defined dsr_package_labels to None diff --git a/src/fides/api/models/privacy_experience.py b/src/fides/api/models/privacy_experience.py index c7f25e5a7d..5b7efb9952 100644 --- a/src/fides/api/models/privacy_experience.py +++ b/src/fides/api/models/privacy_experience.py @@ -223,6 +223,7 @@ class PrivacyExperience(Base): tcf_features: List = [] tcf_special_features: List = [] tcf_systems: List = [] + gvl: Optional[Dict] = {} # Attribute that is cached on the PrivacyExperience object by "get_should_show_banner", calculated at runtime show_banner: bool diff --git a/src/fides/api/models/privacy_request.py b/src/fides/api/models/privacy_request.py index a64b46d92e..59fd7158e1 100644 --- a/src/fides/api/models/privacy_request.py +++ b/src/fides/api/models/privacy_request.py @@ -625,7 +625,7 @@ def get_failed_checkpoint_details( """ return get_action_required_details(cached_key=f"EN_FAILED_LOCATION__{self.id}") - def cache_manual_webhook_input( + def cache_manual_webhook_access_input( self, manual_webhook: AccessManualWebhook, input_data: Optional[Dict[str, Any]] ) -> None: """Cache manually added data for the given manual webhook. This is for use by the *manual_webhook* connector, @@ -637,11 +637,27 @@ def cache_manual_webhook_input( parsed_data = manual_webhook.fields_schema.parse_obj(input_data) cache.set_encoded_object( - f"WEBHOOK_MANUAL_INPUT__{self.id}__{manual_webhook.id}", + f"WEBHOOK_MANUAL_ACCESS_INPUT__{self.id}__{manual_webhook.id}", parsed_data.dict(), ) - def get_manual_webhook_input_strict( + def cache_manual_webhook_erasure_input( + self, manual_webhook: AccessManualWebhook, input_data: Optional[Dict[str, Any]] + ) -> None: + """Cache manually added data for the given manual webhook. This is for use by the *manual_webhook* connector, + which is *NOT* integrated with the graph. + + Dynamically creates a Pydantic model from the manual_webhook to use to validate the input_data + """ + cache: FidesopsRedis = get_cache() + parsed_data = manual_webhook.erasure_fields_schema.parse_obj(input_data) + + cache.set_encoded_object( + f"WEBHOOK_MANUAL_ERASURE_INPUT__{self.id}__{manual_webhook.id}", + parsed_data.dict(), + ) + + def get_manual_webhook_access_input_strict( self, manual_webhook: AccessManualWebhook ) -> Dict[str, Any]: """ @@ -651,7 +667,7 @@ def get_manual_webhook_input_strict( This is for use by the *manual_webhook* connector which is *NOT* integrated with the graph. """ - cached_results: Optional[Dict[str, Any]] = _get_manual_input_from_cache( + cached_results: Optional[Dict[str, Any]] = _get_manual_access_input_from_cache( privacy_request=self, manual_webhook=manual_webhook ) @@ -668,7 +684,36 @@ def get_manual_webhook_input_strict( f"No data cached for privacy_request_id '{self.id}' for connection config '{manual_webhook.connection_config.key}'" ) - def get_manual_webhook_input_non_strict( + def get_manual_webhook_erasure_input_strict( + self, manual_webhook: AccessManualWebhook + ) -> Dict[str, Any]: + """ + Retrieves manual webhook fields saved to the privacy request in strict mode. + Fails either if extra saved fields are detected (webhook definition had fields removed) or fields were not + explicitly set (webhook definition had fields added). This mode lets us know if webhooks data needs to be re-uploaded. + + This is for use by the *manual_webhook* connector which is *NOT* integrated with the graph. + """ + cached_results: Optional[Dict[str, Any]] = _get_manual_erasure_input_from_cache( + privacy_request=self, manual_webhook=manual_webhook + ) + + if cached_results: + data: Dict[str, Any] = manual_webhook.erasure_fields_schema.parse_obj( + cached_results + ).dict(exclude_unset=True) + if set(data.keys()) != set( + manual_webhook.erasure_fields_schema.__fields__.keys() + ): + raise ManualWebhookFieldsUnset( + f"Fields unset for privacy_request_id '{self.id}' for connection config '{manual_webhook.connection_config.key}'" + ) + return data + raise NoCachedManualWebhookEntry( + f"No data cached for privacy_request_id '{self.id}' for connection config '{manual_webhook.connection_config.key}'" + ) + + def get_manual_webhook_access_input_non_strict( self, manual_webhook: AccessManualWebhook ) -> Dict[str, Any]: """Retrieves manual webhook fields saved to the privacy request in non-strict mode. @@ -676,7 +721,7 @@ def get_manual_webhook_input_non_strict( This is for use by the *manual_webhook* connector which is *NOT* integrated with the graph. """ - cached_results: Optional[Dict[str, Any]] = _get_manual_input_from_cache( + cached_results: Optional[Dict[str, Any]] = _get_manual_access_input_from_cache( privacy_request=self, manual_webhook=manual_webhook ) if cached_results: @@ -685,7 +730,24 @@ def get_manual_webhook_input_non_strict( ).dict() return manual_webhook.empty_fields_dict - def cache_manual_input( + def get_manual_webhook_erasure_input_non_strict( + self, manual_webhook: AccessManualWebhook + ) -> Dict[str, Any]: + """Retrieves manual webhook fields saved to the privacy request in non-strict mode. + Returns None for any fields not explicitly set and ignores extra fields. + + This is for use by the *manual_webhook* connector which is *NOT* integrated with the graph. + """ + cached_results: Optional[Dict[str, Any]] = _get_manual_erasure_input_from_cache( + privacy_request=self, manual_webhook=manual_webhook + ) + if cached_results: + return manual_webhook.erasure_fields_non_strict_schema.parse_obj( + cached_results + ).dict() + return manual_webhook.empty_fields_dict + + def cache_manual_access_input( self, collection: CollectionAddress, manual_rows: Optional[List[Row]] ) -> None: """Cache manually added rows for the given CollectionAddress. This is for use by the *manual* connector which is integrated with the graph.""" @@ -695,7 +757,9 @@ def cache_manual_input( manual_rows, ) - def get_manual_input(self, collection: CollectionAddress) -> Optional[List[Row]]: + def get_manual_access_input( + self, collection: CollectionAddress + ) -> Optional[List[Row]]: """Retrieve manually added rows from the cache for the given CollectionAddress. Returns the manual data if it exists, otherwise None. @@ -902,7 +966,23 @@ class PrivacyRequestError(Base): ) -def _get_manual_input_from_cache( +def _get_manual_access_input_from_cache( + privacy_request: PrivacyRequest, manual_webhook: AccessManualWebhook +) -> Optional[Dict[str, Any]]: + """Get raw manual input uploaded to the privacy request for the given webhook + from the cache without attempting to coerce into a Pydantic schema""" + cache: FidesopsRedis = get_cache() + cached_results: Optional[ + Optional[Dict[str, Any]] + ] = cache.get_encoded_objects_by_prefix( + f"WEBHOOK_MANUAL_ACCESS_INPUT__{privacy_request.id}__{manual_webhook.id}" + ) + if cached_results: + return list(cached_results.values())[0] + return None + + +def _get_manual_erasure_input_from_cache( privacy_request: PrivacyRequest, manual_webhook: AccessManualWebhook ) -> Optional[Dict[str, Any]]: """Get raw manual input uploaded to the privacy request for the given webhook @@ -911,7 +991,7 @@ def _get_manual_input_from_cache( cached_results: Optional[ Optional[Dict[str, Any]] ] = cache.get_encoded_objects_by_prefix( - f"WEBHOOK_MANUAL_INPUT__{privacy_request.id}__{manual_webhook.id}" + f"WEBHOOK_MANUAL_ERASURE_INPUT__{privacy_request.id}__{manual_webhook.id}" ) if cached_results: return list(cached_results.values())[0] diff --git a/src/fides/api/schemas/privacy_experience.py b/src/fides/api/schemas/privacy_experience.py index 43077d7ff6..74f0c8cb54 100644 --- a/src/fides/api/schemas/privacy_experience.py +++ b/src/fides/api/schemas/privacy_experience.py @@ -217,3 +217,4 @@ class PrivacyExperienceResponse(PrivacyExperienceWithId): experience_config: Optional[ExperienceConfigResponse] = Field( description="The Experience copy or language" ) + gvl: Optional[Dict] = None diff --git a/src/fides/api/service/connectors/manual_connector.py b/src/fides/api/service/connectors/manual_connector.py index 253c800f6c..d36b0a38ba 100644 --- a/src/fides/api/service/connectors/manual_connector.py +++ b/src/fides/api/service/connectors/manual_connector.py @@ -42,7 +42,7 @@ def retrieve_data( # type: ignore On the event that we pause, caches the stopped step, stopped collection, and details needed to manually resume the privacy request. """ - cached_results: Optional[List[Row]] = privacy_request.get_manual_input( + cached_results: Optional[List[Row]] = privacy_request.get_manual_access_input( node.address ) diff --git a/src/fides/api/service/privacy_request/request_runner_service.py b/src/fides/api/service/privacy_request/request_runner_service.py index aeb6a8b916..95d58905f8 100644 --- a/src/fides/api/service/privacy_request/request_runner_service.py +++ b/src/fides/api/service/privacy_request/request_runner_service.py @@ -94,7 +94,7 @@ class ManualWebhookResults(FidesSchema): proceed: bool -def get_access_manual_webhook_inputs( +def get_manual_webhook_access_inputs( db: Session, privacy_request: PrivacyRequest, policy: Policy ) -> ManualWebhookResults: """Retrieves manually uploaded data for all AccessManualWebhooks and formats in a way @@ -111,7 +111,33 @@ def get_access_manual_webhook_inputs( try: for manual_webhook in AccessManualWebhook.get_enabled(db): manual_inputs[manual_webhook.connection_config.key] = [ - privacy_request.get_manual_webhook_input_strict(manual_webhook) + privacy_request.get_manual_webhook_access_input_strict(manual_webhook) + ] + except ( + NoCachedManualWebhookEntry, + ValidationError, + ManualWebhookFieldsUnset, + ) as exc: + logger.info(exc) + privacy_request.status = PrivacyRequestStatus.requires_input + privacy_request.save(db) + return ManualWebhookResults(manual_data=manual_inputs, proceed=False) + + return ManualWebhookResults(manual_data=manual_inputs, proceed=True) + + +def get_manual_webhook_erasure_inputs( + db: Session, privacy_request: PrivacyRequest, policy: Policy +) -> ManualWebhookResults: + manual_inputs: Dict[str, List[Dict[str, Optional[Any]]]] = {} + + if not policy.get_rules_for_action(action_type=ActionType.erasure): + # Don't fetch manual inputs unless this policy has an access rule + return ManualWebhookResults(manual_data=manual_inputs, proceed=True) + try: + for manual_webhook in AccessManualWebhook().get_enabled(db): + manual_inputs[manual_webhook.connection_config.key] = [ + privacy_request.get_manual_webhook_erasure_input_strict(manual_webhook) ] except ( NoCachedManualWebhookEntry, @@ -315,10 +341,19 @@ async def run_privacy_request( privacy_request.start_processing(session) policy = privacy_request.policy - manual_webhook_results: ManualWebhookResults = get_access_manual_webhook_inputs( - session, privacy_request, policy + + # check manual access results and pause if needed + manual_webhook_access_results: ManualWebhookResults = ( + get_manual_webhook_access_inputs(session, privacy_request, policy) + ) + if not manual_webhook_access_results.proceed: + return + + # check manual erasure results and pause if needed + manual_webhook_erasure_results: ManualWebhookResults = ( + get_manual_webhook_erasure_inputs(session, privacy_request, policy) ) - if not manual_webhook_results.proceed: + if not manual_webhook_erasure_results.proceed: return if can_run_checkpoint( @@ -371,7 +406,7 @@ async def run_privacy_request( access_result, dataset_graph, privacy_request, - manual_webhook_results.manual_data, + manual_webhook_access_results.manual_data, fides_connector_datasets, ) diff --git a/src/fides/api/util/tcf_util.py b/src/fides/api/util/tcf_util.py index 192d5c82bd..6eedc8e175 100644 --- a/src/fides/api/util/tcf_util.py +++ b/src/fides/api/util/tcf_util.py @@ -1,4 +1,6 @@ +import json from enum import Enum +from os.path import dirname, join from typing import Callable, Dict, List, Optional, Set, Tuple, Type, Union from fideslang.gvl import ( @@ -14,6 +16,7 @@ from fideslang.gvl.models import Feature, Purpose from fideslang.models import LegalBasisForProcessingEnum from fideslang.validation import FidesKey +from loguru import logger from sqlalchemy.engine.row import Row # type:ignore[import] from sqlalchemy.orm import Query, Session @@ -27,6 +30,16 @@ TCFPurposeRecord, TCFVendorRecord, ) +from fides.config.helpers import load_file + +_gvl: Optional[Dict] = None + +GVL_PATH = join( + dirname(__file__), + "../../data", + "gvl.json", +) + TCFPurposeOrFeature = Union[TCFPurposeRecord, TCFFeatureRecord] @@ -614,3 +627,15 @@ def systems_that_match_system_id( ) } ) + + +def load_gvl() -> Dict: + global _gvl # pylint: disable=W0603 + if _gvl is None: + with open(load_file([GVL_PATH]), "r", encoding="utf-8") as file: + logger.info("Loading GVL from file") + _gvl = json.load(file) + return _gvl + + logger.info("Loading GVL from memory") + return _gvl diff --git a/src/fides/common/api/v1/urn_registry.py b/src/fides/common/api/v1/urn_registry.py index 1ec280d29a..c315646ee8 100644 --- a/src/fides/common/api/v1/urn_registry.py +++ b/src/fides/common/api/v1/urn_registry.py @@ -110,9 +110,12 @@ PRIVACY_REQUEST_NOTIFICATIONS = "/privacy-request/notification" PRIVACY_REQUEST_RETRY = "/privacy-request/{privacy_request_id}/retry" REQUEST_PREVIEW = "/privacy-request/preview" -PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT = ( +PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT = ( "/privacy-request/{privacy_request_id}/access_manual_webhook/{connection_key}" ) +PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT = ( + "/privacy-request/{privacy_request_id}/erasure_manual_webhook/{connection_key}" +) PRIVACY_REQUEST_RESUME_FROM_REQUIRES_INPUT = ( "/privacy-request/{privacy_request_id}/resume_from_requires_input" ) diff --git a/clients/fides-js/src/lib/tcf/gvl.json b/src/fides/data/gvl.json similarity index 65% rename from clients/fides-js/src/lib/tcf/gvl.json rename to src/fides/data/gvl.json index c2be7be60c..3df05186d9 100644 --- a/clients/fides-js/src/lib/tcf/gvl.json +++ b/src/fides/data/gvl.json @@ -1,8 +1,8 @@ { "gvlSpecificationVersion": 3, - "vendorListVersion": 18, + "vendorListVersion": 19, "tcfPolicyVersion": 4, - "lastUpdated": "2023-09-14T16:07:29Z", + "lastUpdated": "2023-09-21T16:07:34Z", "purposes": { "1": { "id": 1, @@ -158,294 +158,539 @@ "stacks": { "2": { "id": 2, - "purposes": [2, 7], + "purposes": [ + 2, + 7 + ], "specialFeatures": [], "name": "Advertising based on limited data and advertising measurement", "description": "Advertising can be presented based on limited data. Advertising performance can be measured." }, "3": { "id": 3, - "purposes": [2, 3, 4], + "purposes": [ + 2, + 3, + 4 + ], "specialFeatures": [], "name": "Personalised advertising \n", "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising.\n" }, "4": { "id": 4, - "purposes": [2, 7, 9], + "purposes": [ + 2, + 7, + 9 + ], "specialFeatures": [], "name": "Advertising based on limited data, advertising measurement, and understanding of the audiences", "description": "Advertising can be presented based on limited data. Advertising performance can be measured. Reports can be generated based on your activity and those of others." }, "5": { "id": 5, - "purposes": [2, 3, 7], + "purposes": [ + 2, + 3, + 7 + ], "specialFeatures": [], "name": "Advertising based on limited data, personalised advertising profile, and advertising measurement\n\n", "description": "Advertising can be presented based on limited data. Your activity on this service can be used to build or improve a profile about you for personalised advertising. Advertising performance can be measured." }, "6": { "id": 6, - "purposes": [2, 4, 7], + "purposes": [ + 2, + 4, + 7 + ], "specialFeatures": [], "name": "Selection of personalised advertising and advertising measurement", "description": "Advertising can be personalised based on your profile. Advertising performance can be measured." }, "7": { "id": 7, - "purposes": [2, 4, 7, 9], + "purposes": [ + 2, + 4, + 7, + 9 + ], "specialFeatures": [], "name": "Selection of personalised advertising, advertising measurement, and audience research", "description": "Advertising can be personalised based on your profile. Advertising performance can be measured. Reports can be generated based on your activity and those of others." }, "8": { "id": 8, - "purposes": [2, 3, 4, 7], + "purposes": [ + 2, + 3, + 4, + 7 + ], "specialFeatures": [], "name": "Personalised advertising and advertising measurement", "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising. Advertising performance can be measured.\n" }, "9": { "id": 9, - "purposes": [2, 3, 4, 7, 9], + "purposes": [ + 2, + 3, + 4, + 7, + 9 + ], "specialFeatures": [], "name": "Personalised advertising, advertising measurement, and audience research", "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising. Advertising performance can be measured. Reports can be generated based on your activity and those of others." }, "10": { "id": 10, - "purposes": [3, 4], + "purposes": [ + 3, + 4 + ], "specialFeatures": [], "name": "Personalised advertising", "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising." }, "11": { "id": 11, - "purposes": [5, 6], + "purposes": [ + 5, + 6 + ], "specialFeatures": [], "name": "Personalised content", "description": "Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content." }, "12": { "id": 12, - "purposes": [6, 8, 11], + "purposes": [ + 6, + 8, + 11 + ], "specialFeatures": [], "name": "Selection of personalised content and content measurement", "description": "Content can be personalised based on your profile. Content performance can be measured.\n" }, "13": { "id": 13, - "purposes": [6, 8, 11], + "purposes": [ + 6, + 8, + 11 + ], "specialFeatures": [], "name": "Selection of personalised content, content measurement and audience research\n", "description": "Content can be personalised based on your profile. Content performance can be measured. Reports can be generated based on your activity and those of others.Content can be personalised based on your profile. Content performance can be measured. Reports can be generated based on your activity and those of others. " }, "14": { "id": 14, - "purposes": [5, 6, 8, 11], + "purposes": [ + 5, + 6, + 8, + 11 + ], "specialFeatures": [], "name": "Personalised content and content measurement", "description": "Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Content performance can be measured." }, "15": { "id": 15, - "purposes": [5, 6, 8, 9, 11], + "purposes": [ + 5, + 6, + 8, + 9, + 11 + ], "specialFeatures": [], "name": "Personalised content, content measurement and audience research", "description": "Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Content performance can be measured. Reports can be generated based on your activity and those of others." }, "16": { "id": 16, - "purposes": [5, 6, 8, 9, 10, 11], + "purposes": [ + 5, + 6, + 8, + 9, + 10, + 11 + ], "specialFeatures": [], "name": "Personalised content, content measurement, audience research, and services development", "description": "Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services." }, "17": { "id": 17, - "purposes": [7, 8, 9], + "purposes": [ + 7, + 8, + 9 + ], "specialFeatures": [], "name": "Advertising and content measurement, and audience research", "description": "Advertising and content performance can be measured. Reports can be generated based on your activity and those of others." }, "18": { "id": 18, - "purposes": [7, 8], + "purposes": [ + 7, + 8 + ], "specialFeatures": [], "name": "Advertising and content measurement\n\n", "description": "Advertising and content performance can be measured." }, "19": { "id": 19, - "purposes": [7, 9], + "purposes": [ + 7, + 9 + ], "specialFeatures": [], "name": "Advertising measurement and audience research", "description": "Advertising can be measured. Reports can be generated based on your activity and those of others." }, "20": { "id": 20, - "purposes": [7, 8, 9, 10], + "purposes": [ + 7, + 8, + 9, + 10 + ], "specialFeatures": [], "name": "Advertising and content measurement, audience research, and services development", "description": "Advertising and content performance can be measured. Your activity on this service can help develop and improve products and services. Reports can be generated based on your activity and those of others. \n" }, "21": { "id": 21, - "purposes": [8, 9, 10], + "purposes": [ + 8, + 9, + 10 + ], "specialFeatures": [], "name": "Content measurement, audience research and services development.", "description": "Content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services." }, "22": { "id": 22, - "purposes": [8, 10], + "purposes": [ + 8, + 10 + ], "specialFeatures": [], "name": "Content measurement and services development", "description": "Content performance can be measured. Your activity on this service can help develop and improve products and services.\n" }, "23": { "id": 23, - "purposes": [2, 4, 6, 7, 8, 11], + "purposes": [ + 2, + 4, + 6, + 7, + 8, + 11 + ], "specialFeatures": [], "name": "Selection of personalised advertising and content, advertising and content measurement", "description": "Advertising and content can be personalised based on your profile. Advertising and content performance can be measured.\n" }, "24": { "id": 24, - "purposes": [2, 4, 6, 7, 8, 9, 11], + "purposes": [ + 2, + 4, + 6, + 7, + 8, + 9, + 11 + ], "specialFeatures": [], "name": "Selection of personalised advertising and content, advertising and content measurement, and audience research", "description": "Advertising and content can be personalised based on your profile. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. Data can be used to build or improve user experience, systems, and software." }, "25": { "id": 25, - "purposes": [2, 3, 4, 5, 6, 7, 8, 11], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 11 + ], "specialFeatures": [], "name": "Personalised advertising and content, advertising and content measurement", "description": "Advertising and content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising or content. Advertising and content performance can be measured." }, "26": { "id": 26, - "purposes": [2, 3, 4, 5, 6, 7, 8, 9, 11], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 11 + ], "specialFeatures": [], "name": "Personalised advertising and content, advertising and content measurement, and audience research", "description": "Advertising and content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising or content. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. \n" }, "27": { "id": 27, - "purposes": [3, 5], + "purposes": [ + 3, + 5 + ], "specialFeatures": [], "name": "Personalised advertising and content profile", "description": "Your activity on this service can be used to build or improve a profile about you for personalised advertising or content.\n" }, "28": { "id": 28, - "purposes": [2, 4, 6, 11], + "purposes": [ + 2, + 4, + 6, + 11 + ], "specialFeatures": [], "name": "Selection of personalised advertising and content", "description": "Advertising and content can be personalised based on your profile." }, "29": { "id": 29, - "purposes": [2, 7, 8, 9], + "purposes": [ + 2, + 7, + 8, + 9 + ], "specialFeatures": [], "name": "Advertising based on limited data, advertising and content measurement, and audience research\n\n", "description": "Advertising can be presented based on limited data. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. \n" }, "30": { "id": 30, - "purposes": [2, 4, 5, 6, 7, 8, 9, 11], + "purposes": [ + 2, + 4, + 5, + 6, + 7, + 8, + 9, + 11 + ], "specialFeatures": [], "name": "Selection of personalised advertising, personalised content, advertising and content measurement, and audience research\n", "description": "Advertising and content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising or content. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others." }, "31": { "id": 31, - "purposes": [2, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 2, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "specialFeatures": [], "name": "Selection of personalised advertising, personalised content, advertising and content measurement, audience research, and services development", "description": "Advertising and content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services.\n" }, "32": { "id": 32, - "purposes": [2, 5, 6, 7, 8, 9, 11], + "purposes": [ + 2, + 5, + 6, + 7, + 8, + 9, + 11 + ], "specialFeatures": [], "name": "Advertising based on limited data, personalised content, advertising and content measurement, and audience research", "description": "Advertising can be presented based on limited data. Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. \n" }, "33": { "id": 33, - "purposes": [2, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 2, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "specialFeatures": [], "name": "Advertising based on limited data, personalised content, advertising and content measurement, audience research, and services development", "description": "Advertising can be presented based on limited data. Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services." }, "34": { "id": 34, - "purposes": [2, 5, 6, 8, 9, 11], + "purposes": [ + 2, + 5, + 6, + 8, + 9, + 11 + ], "specialFeatures": [], "name": "Advertising based on limited data, personalised content, content measurement, and audience research", "description": "Advertising can be presented based on limited data. Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others." }, "35": { "id": 35, - "purposes": [2, 5, 6, 8, 9, 10, 11], + "purposes": [ + 2, + 5, + 6, + 8, + 9, + 10, + 11 + ], "specialFeatures": [], "name": "Advertising based on limited data, personalised content, content measurement, audience research and services development", "description": "Advertising can be presented based on limited data. Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services.\n" }, "36": { "id": 36, - "purposes": [2, 5, 6, 7, 11], + "purposes": [ + 2, + 5, + 6, + 7, + 11 + ], "specialFeatures": [], "name": "Advertising based on limited data, personalised content, and advertising measurement", "description": "Advertising can be presented based on limited data. Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Advertising performance can be measured.\n" }, "37": { "id": 37, - "purposes": [2, 5, 6, 7, 10, 11], + "purposes": [ + 2, + 5, + 6, + 7, + 10, + 11 + ], "specialFeatures": [], "name": "Advertising based on limited data, personalised content, advertising measurement, and services development", "description": "Advertising can be presented based on limited data. Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content. Advertising performance can be measured. Your activity on this service can help develop and improve products and services.\n" }, "38": { "id": 38, - "purposes": [2, 3, 4, 7, 10], + "purposes": [ + 2, + 3, + 4, + 7, + 10 + ], "specialFeatures": [], "name": "Personalised advertising, advertising measurement, and services development", "description": "Advertising can be personalised based on your profile.Your activity on this service can be used to build or improve a profile about you for personalised advertising. Advertising performance can be measured. Your activity on this service can help develop and improve products and services." }, "39": { "id": 39, - "purposes": [2, 3, 4, 7, 9, 10], + "purposes": [ + 2, + 3, + 4, + 7, + 9, + 10 + ], "specialFeatures": [], "name": "Personalised advertising, advertising measurement, audience research and services development", "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising. Advertising performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services." }, "40": { "id": 40, - "purposes": [2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "specialFeatures": [], "name": "Personalised advertising, advertising and content measurement, audience research and services development", "description": "Advertising can be personalised based on your profile.Your activity on this service can be used to build or improve a profile about you for personalised advertising. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services.\n" }, "41": { "id": 41, - "purposes": [2, 3, 4, 6, 7, 8, 9, 10, 11], + "purposes": [ + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "specialFeatures": [], "name": "Personalised advertising, selection of personalised content, advertising and content measurement, audience research and services development", "description": "Advertising and content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services.\n" }, "42": { "id": 42, - "purposes": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "specialFeatures": [], "name": "Personalised advertising and content, advertising and content measurement, audience research and services development\n", "description": "Advertising and content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising and content. Advertising and content performance can be measured. Reports can be generated based on your activity and those of others. Your activity on this service can help develop and improve products and services." }, "43": { "id": 43, - "purposes": [8, 11], + "purposes": [ + 8, + 11 + ], "specialFeatures": [], "name": "Content based on limited data and content measurement", "description": "Content can be selected based on limited data. Content performance can be measured." @@ -453,7 +698,10 @@ "1": { "id": 1, "purposes": [], - "specialFeatures": [1, 2], + "specialFeatures": [ + 1, + 2 + ], "name": "Precise geolocation data, and identification through device scanning", "description": "Precise geolocation and information about device characteristics can be used.\n\n" } @@ -519,11 +767,32 @@ "1": { "id": 1, "name": "Exponential Interactive, Inc d/b/a VDX.tv", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -541,18 +810,41 @@ "legIntClaim": "https://cdnx.exponential.com/wp-content/uploads/2018/04/Balancing-Assessment-for-Legitimate-Interest-Publishers-v2.pdf" } ], - "dataDeclaration": [1, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://vdxtv.expo.workers.dev" }, "2": { "id": 2, "name": "Captify Technologies Limited", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -569,26 +861,49 @@ "legIntClaim": "https://www.captifytechnologies.com/privacy-notice/" } ], - "dataDeclaration": [1, 2, 4, 6, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://static.cpx.to/gvl/deviceStorageDisclosure.json" }, "6": { "id": 6, "name": "AdSpirit GmbH", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 60, - "purposes": { "2": 14, "7": 14 }, + "purposes": { + "2": 14, + "7": 14 + }, "specialPurposes": {} }, "urls": [ @@ -603,17 +918,44 @@ "legIntClaim": "https://help.adspirit.de/privacy.php" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://help.adspirit.de/deviceStorage.json" }, "8": { "id": 8, "name": "Emerse Sverige AB", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 9], - "flexiblePurposes": [2, 9], - "specialPurposes": [1, 2], - "features": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9 + ], + "flexiblePurposes": [ + 2, + 9 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, @@ -631,25 +973,52 @@ "legIntClaim": "https://www.emerse.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://s3.eu-west-1.amazonaws.com/cors.emerse.com/gdpr-tcf.json" }, "10": { "id": 10, "name": "Index Exchange Inc. ", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34128000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { - "purposes": { "2": 90, "7": 90 }, - "specialPurposes": { "1": 0, "2": 0 } + "purposes": { + "2": 90, + "7": 90 + }, + "specialPurposes": { + "1": 0, + "2": 0 + } }, "urls": [ { @@ -658,17 +1027,48 @@ "legIntClaim": "https://www.indexexchange.com/privacy/exchange-platform-privacy-policy/#section-3" } ], - "dataDeclaration": [1, 2, 3, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.indexexchange.com/device_storage_disclosure.json" }, "11": { "id": 11, "name": "Quantcast", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 34214400, "usesCookies": true, @@ -686,25 +1086,58 @@ "legIntClaim": "https://www.quantcast.com/privacy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.quantcast.com/.well-known/devicestorage.json" }, "12": { "id": 12, "name": "BeeswaxIO Corporation", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34109999, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { - "purposes": { "2": 30, "3": 0, "4": 0, "7": 4320 }, - "specialPurposes": { "1": 392, "2": 4320 } + "purposes": { + "2": 30, + "3": 0, + "4": 0, + "7": 4320 + }, + "specialPurposes": { + "1": 392, + "2": 4320 + } }, "urls": [ { @@ -713,17 +1146,41 @@ "legIntClaim": "https://www.beeswax.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://beeswax.com/devicedisclosure.json" }, "13": { "id": 13, "name": "Sovrn, Inc.", - "purposes": [1, 2, 3, 5, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 5, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -741,18 +1198,42 @@ "legIntClaim": "https://www.sovrn.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.sovrn.com/legal/tcf-disclosure/" }, "14": { "id": 14, "name": "Adkernel LLC", - "purposes": [1, 3, 4, 9, 10], - "legIntPurposes": [2, 7], + "purposes": [ + 1, + 3, + 4, + 9, + 10 + ], + "legIntPurposes": [ + 2, + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 1474836, "usesCookies": true, "cookieRefresh": true, @@ -769,17 +1250,41 @@ "legIntClaim": "https://adkernel.com/privacy-policy/" } ], - "dataDeclaration": [1, 3, 8, 9, 10], + "dataDeclaration": [ + 1, + 3, + 8, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://adkernel.com/deviceStorage.json" }, "15": { "id": 15, "name": "Adikteev", - "purposes": [1, 2, 3, 4, 5, 6, 9, 10, 11], - "legIntPurposes": [7, 8], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 9, + 10, + 11 + ], + "legIntPurposes": [ + 7, + 8 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -797,17 +1302,38 @@ "legIntClaim": "https://www.adikteev.com/privacy-policy-app-users" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 8, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 8, + 10 + ], "deviceStorageDisclosureUrl": "https://tcf-registrationprocess.adikteev.com/deviceStorageDisclosureURL.json" }, "16": { "id": 16, "name": "RTB House S.A.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -825,17 +1351,47 @@ "legIntClaim": "https://www.rtbhouse.com/legitimate_interest_assessments_tcf" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://rtbhouse.com/DeviceStorage.json" }, "20": { "id": 20, "name": "N.Rich Technologies Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 46656000, "usesCookies": true, @@ -853,25 +1409,59 @@ "legIntClaim": "https://n-rich.atlassian.net/wiki/spaces/NK/pages/56164370/GDPR+Legitimate+Interest+Assessment+Sheet" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.nrich.ai/.well-known/deviceStorage.json" }, "21": { "id": 21, "name": "The UK Trade Desk Ltd", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 313536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 99, - "purposes": { "2": 365, "4": 132 }, + "purposes": { + "2": 365, + "4": 132 + }, "specialPurposes": {} }, "urls": [ @@ -881,17 +1471,33 @@ "legIntClaim": "https://www.thetradedesk.com/us/privacy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "\u00a0https://ttd-misc-public-assets.s3.us-west-2.amazonaws.com/deviceStorageDisclosureURL.json" }, "22": { "id": 22, "name": "admetrics GmbH", - "purposes": [7, 8], + "purposes": [ + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -903,19 +1509,43 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://admetrics.io/en/privacy_policy/" } + { + "langId": "en", + "privacy": "https://admetrics.io/en/privacy_policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 11 ], - "dataDeclaration": [1, 2, 6, 11], "deviceStorageDisclosureUrl": "https://www.admetrics.io/tcf/disclosure.json" }, "23": { "id": 23, "name": "Amobee Inc.", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -923,7 +1553,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 400, - "purposes": { "2": 30, "3": 120, "4": 120 }, + "purposes": { + "2": 30, + "3": 120, + "4": 120 + }, "specialPurposes": {} }, "urls": [ @@ -933,17 +1567,43 @@ "legIntClaim": "https://www.amobee.com/trust/gdpr/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://services.amobee.com/files/TCFDisclosure" }, "24": { "id": 24, "name": "Epsilon", - "purposes": [1, 2, 3, 4, 5, 6, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15828480, "usesCookies": true, @@ -951,7 +1611,13 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 480, - "purposes": { "3": 3285, "4": 3285, "5": 3285, "6": 3285, "9": 56 }, + "purposes": { + "3": 3285, + "4": 3285, + "5": 3285, + "6": 3285, + "9": 56 + }, "specialPurposes": {} }, "urls": [ @@ -971,17 +1637,39 @@ "legIntClaim": "https://legal.epsilon.com/eu/privacy-policy-services-de" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://s-usweb.dotomi.com/assets/js/taggy-js/2.6.8/device_storage_disclosure.json" }, "26": { "id": 26, "name": "Venatus Media Limited", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -993,28 +1681,51 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.venatus.com/privacy/" } + { + "langId": "en", + "privacy": "https://www.venatus.com/privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 8 ], - "dataDeclaration": [1, 2, 8], "deviceStorageDisclosureUrl": "https://www.venatus.com/tcf-gvl-disclosure.json" }, "27": { "id": 27, "name": "ADventori SAS", - "purposes": [1, 2, 4, 7], + "purposes": [ + 1, + 2, + 4, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 400, - "purposes": { "2": 90, "4": 90 }, + "purposes": { + "2": 90, + "4": 90 + }, "specialPurposes": {} }, "urls": [ @@ -1024,26 +1735,57 @@ "legIntClaim": "https://www.adventori.com/with-us/legal-notice/" } ], - "dataDeclaration": [1, 3, 5, 6, 7, 8], + "dataDeclaration": [ + 1, + 3, + 5, + 6, + 7, + 8 + ], "deviceStorageDisclosureUrl": "https://adventori.com/.well-known/tcf-adventori-device-storage-disclosure.json" }, "28": { "id": 28, "name": "TripleLift, Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 32 }, + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 45, - "purposes": { "3": 52, "4": 52 }, + "purposes": { + "3": 52, + "4": 52 + }, "specialPurposes": {} }, "urls": [ @@ -1053,17 +1795,37 @@ "legIntClaim": "https://triplelift.com/platform-privacy-policy#legalbasisofprocessing" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://triplelift.com/.well-known/deviceStorage.json" }, "29": { "id": 29, "name": "ETARGET SE", - "purposes": [1, 2, 3, 4, 7, 8, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -1080,17 +1842,33 @@ "privacy": "https://sk.search.etargetnet.com/policy.html" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.etarget.sk/cookies2.json" }, "30": { "id": 30, "name": "BidTheatre AB", - "purposes": [1, 3, 4, 7], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [2], + "purposes": [ + 1, + 3, + 4, + 7 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -1098,8 +1876,14 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 7, - "purposes": { "3": 60, "4": 0, "7": 180 }, - "specialPurposes": { "1": 30 } + "purposes": { + "3": 60, + "4": 0, + "7": 180 + }, + "specialPurposes": { + "1": 30 + } }, "urls": [ { @@ -1108,17 +1892,44 @@ "legIntClaim": "https://www.bidtheatre.com/resource/LIA_ferq.pdf" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.bidtheatre.com/deviceStorage.json" }, "31": { "id": 31, "name": "Ogury Ltd", - "purposes": [1], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 182, "usesCookies": true, @@ -1136,26 +1947,60 @@ "legIntClaim": "https://ogury.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://consent-form.ogury.co/disclosure.json" }, "32": { "id": 32, "name": "Xandr, Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 0, - "purposes": { "2": 180, "7": 60, "10": 60 }, - "specialPurposes": { "1": 540 } + "purposes": { + "2": 180, + "7": 60, + "10": 60 + }, + "specialPurposes": { + "1": 540 + } }, "urls": [ { @@ -1169,17 +2014,35 @@ "legIntClaim": "https://about.ads.microsoft.com/pt-br/solutions/xandr/politica-de-privacidade-da-plataforma#p_lt_ctl01_pageplaceholder_p_lt_ctl00_pageplaceholder_p_lt_WebPartZone3_zonePageBody_BingAds_PageContentViewer_PageContentViewerAll_ctl16_ctl00_ColumnsContainer" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://acdn.adnxs.com/gvl/1d/xandrdevicestoragedisclosures.json" }, "33": { "id": 33, "name": "ShareThis, Inc", - "purposes": [1, 3, 5], + "purposes": [ + 1, + 3, + 5 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 33696000, "usesCookies": true, @@ -1191,7 +2054,10 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://sharethis.com/privacy/" }, + { + "langId": "en", + "privacy": "https://sharethis.com/privacy/" + }, { "langId": "fr", "privacy": "https://pcdn.sharethis.com/wp-content/uploads/2021/11/ShareThis-Privacy-Policy-11.2.21_FR.pdf" @@ -1205,19 +2071,55 @@ "privacy": "https://pcdn.sharethis.com/wp-content/uploads/2021/11/ShareThis-Privacy-Policy-11.2.21_IT.pdf" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://gdpr-api.sharethis.com/disclosures.json" }, "34": { "id": 34, "name": "NEORY GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -1234,17 +2136,44 @@ "legIntClaim": "https://www.neory.com/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ad.ad-srv.net/privacy/tcf/deviceStorage/6505e3798148a611.json" }, "36": { "id": 36, "name": "Unruly Group LLC", - "purposes": [1, 3, 4, 9], - "legIntPurposes": [2, 7, 10], + "purposes": [ + 1, + 3, + 4, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -1252,7 +2181,11 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 400, - "purposes": { "2": 30, "3": 120, "4": 120 }, + "purposes": { + "2": 30, + "3": 120, + "4": 120 + }, "specialPurposes": {} }, "urls": [ @@ -1262,18 +2195,39 @@ "legIntClaim": "https://unruly.co/legal/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://video.unrulymedia.com/deviceStorageDisclosure.json" }, "37": { "id": 37, "name": "NEURAL.ONE", - "purposes": [1, 3, 4, 7], + "purposes": [ + 1, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -1290,26 +2244,62 @@ "legIntClaim": "https://web.neural.one/privacy-policy/" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://web.neural.one/.well-known/deviceStorage.json" }, "39": { "id": 39, "name": "ADITION (Virtual Minds GmbH)", - "purposes": [1, 2, 3, 4, 7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 90, - "purposes": { "7": 30, "9": 7, "10": 7 }, - "specialPurposes": { "1": 3, "2": 3 } + "purposes": { + "7": 30, + "9": 7, + "10": 7 + }, + "specialPurposes": { + "1": 3, + "2": 3 + } }, "urls": [ { @@ -1323,26 +2313,66 @@ "legIntClaim": "https://www.adition.com/datenschutz-plattform/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://imagesrv.adition.com/tcf/deviceStorage_adition.json" }, "40": { "id": 40, "name": "Active Agent (Virtual Minds GmbH)", - "purposes": [1, 2, 3, 4, 7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 90, - "purposes": { "7": 30, "9": 7, "10": 7 }, - "specialPurposes": { "1": 3, "2": 3 } + "purposes": { + "7": 30, + "9": 7, + "10": 7 + }, + "specialPurposes": { + "1": 3, + "2": 3 + } }, "urls": [ { @@ -1356,17 +2386,52 @@ "legIntClaim": "https://www.adition.com/datenschutz-plattform/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://imagesrv.adition.com/tcf/deviceStorage_activeagent.json" }, "42": { "id": 42, "name": "Taboola Europe Limited", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 10, 11], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31556926, "usesCookies": true, @@ -1384,17 +2449,45 @@ "legIntClaim": "https://www.taboola.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://accessrequest.taboola.com/iab-tcf-v2-disclosure.json" }, "44": { "id": 44, "name": "Adex (Virtual Minds GmbH)", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -1417,18 +2510,42 @@ "legIntClaim": "https://theadex.com/datenschutz-plattform/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://dmp.theadex.com/.well-known/deviceStorage.json" }, "45": { "id": 45, "name": "Smart Adserver", - "purposes": [1, 2, 4, 7, 10], + "purposes": [ + 1, + 2, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34214395, "usesCookies": true, "cookieRefresh": false, @@ -1445,17 +2562,40 @@ "legIntClaim": "https://smartadserver.com/end-user-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://apps.smartadserver.com/device-storage-disclosures/equativDeviceStorageDisclosures.json" }, "46": { "id": 46, "name": "Skimbit Ltd", "purposes": [], - "legIntPurposes": [7, 8, 10], - "flexiblePurposes": [7, 8], - "specialPurposes": [1, 2], - "features": [3], + "legIntPurposes": [ + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -1473,16 +2613,40 @@ "legIntClaim": "https://skimlinks.com/privacy-policies/" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://storage.googleapis.com/skimthru-js/js/skimlinks_tcf_disclosures.json" }, "47": { "id": 47, "name": "ADMAN - Phaistos Networks, S.A.", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 315360000, @@ -1501,17 +2665,41 @@ "legIntClaim": "https://www.adman.gr/privacy" } ], - "dataDeclaration": [2, 3, 4, 8], + "dataDeclaration": [ + 2, + 3, + 4, + 8 + ], "deviceStorageDisclosureUrl": "https://static.adman.gr/phaistos_ads_cookies_disclosure.json" }, "48": { "id": 48, "name": "NetSuccess, s.r.o.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -1529,19 +2717,49 @@ "legIntClaim": "https://admin.inres.sk/pp/index.html#claim" } ], - "dataDeclaration": [1, 2, 3, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://inres.uspech.sk/TCF/TCFStorage.json" }, "49": { "id": 49, "name": "Jellyfish France", - "purposes": [1, 2, 3, 4, 5, 6], - "legIntPurposes": [7, 8, 9, 10], - "flexiblePurposes": [7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], "specialPurposes": [], - "features": [1, 2], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 32 }, + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 34190000, "usesCookies": true, "cookieRefresh": false, @@ -1558,17 +2776,40 @@ "legIntClaim": "https://www.jellyfish.com/fr-fr/privacy-policy" } ], - "dataDeclaration": [2, 3, 6, 10], + "dataDeclaration": [ + 2, + 3, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://bkt-gdpr-prod-eu-tcf-public.storage.googleapis.com/deviceStorageDisclosureUrls.json" }, "50": { "id": 50, "name": "Adform A/S", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [2, 3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 3650, "usesCookies": true, @@ -1586,26 +2827,63 @@ "legIntClaim": "https://site.adform.com/privacy-center/platform-privacy/transparency-and-consent-framework-tcf-compliance/legitimate-interest-at-stake/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://site.adform.com/assets/devicestorage.json" }, "52": { "id": 52, "name": "Magnite, Inc. ", - "purposes": [1, 3, 4, 5], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 3, + 4, + 5 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 28, - "purposes": { "10": 90 }, + "purposes": { + "10": 90 + }, "specialPurposes": {} }, "urls": [ @@ -1615,19 +2893,56 @@ "legIntClaim": "https://www.magnite.com/legal/advertising-technology-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://gdpr.rubiconproject.com/dvplus/devicestoragedisclosure.json" }, "53": { "id": 53, "name": "Sirdata", - "purposes": [1, 3, 4, 5, 6, 9], - "legIntPurposes": [2, 7, 8, 10, 11], - "flexiblePurposes": [2, 7, 8, 10, 11], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -1635,7 +2950,10 @@ "dataRetention": { "stdRetention": 185, "purposes": {}, - "specialPurposes": { "1": 0, "2": 0 } + "specialPurposes": { + "1": 0, + "2": 0 + } }, "urls": [ { @@ -1769,18 +3087,48 @@ "legIntClaim": "https://www.sirdata.com/en/Privacy-tr#legitimateinterest" } ], - "dataDeclaration": [1, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.sirdata.eu/sirdata_device_storage_disclosure.json" }, "55": { "id": 55, "name": "Madison Logic, Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 3888000, "usesCookies": true, "cookieRefresh": false, @@ -1797,7 +3145,17 @@ "legIntClaim": "https://www.madisonlogic.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://iab-info.madisonlogic.com/file.json" }, "56": { @@ -1806,7 +3164,10 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -1830,17 +3191,34 @@ "legIntClaim": "https://www.confiant.com/datenschutz" } ], - "dataDeclaration": [8], + "dataDeclaration": [ + 8 + ], "deviceStorageDisclosureUrl": "https://cdn.clarium.io/tcf-compliance/domains_and_disclosure.json" }, "57": { "id": 57, "name": "RATEGAIN ADARA INC", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -1855,7 +3233,10 @@ "9": 730, "10": 730 }, - "specialPurposes": { "1": 730, "2": 365 } + "specialPurposes": { + "1": 730, + "2": 365 + } }, "urls": [ { @@ -1864,26 +3245,56 @@ "legIntClaim": "https://adara.com/privacy-promise/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://storage.googleapis.com/adara-public/iab/device-storage-disclosure.json" }, "58": { "id": 58, "name": "33Across", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31556952, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 30, - "purposes": { "7": 90, "10": 90 }, - "specialPurposes": { "1": 90 } + "purposes": { + "7": 90, + "10": 90 + }, + "specialPurposes": { + "1": 90 + } }, "urls": [ { @@ -1892,18 +3303,37 @@ "legIntClaim": "https://www.33across.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://platform.33across.com/disclosures.json" }, "59": { "id": 59, "name": "Sift Media, Inc", - "purposes": [2], + "purposes": [ + 2 + ], "legIntPurposes": [], - "flexiblePurposes": [2], - "specialPurposes": [2], - "features": [3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -1920,17 +3350,44 @@ "legIntClaim": "https://www.sift.co/privacy" } ], - "dataDeclaration": [1, 2, 3, 8, 9], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 9 + ], "deviceStorageDisclosureUrl": "https://app-creatives.s3.amazonaws.com/GdprTcfDeviceStorageDisclosure.json" }, "60": { "id": 60, "name": "Rakuten Marketing LLC", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -1938,7 +3395,10 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 2555, - "purposes": { "3": 540, "4": 540 }, + "purposes": { + "3": 540, + "4": 540 + }, "specialPurposes": {} }, "urls": [ @@ -1948,17 +3408,42 @@ "legIntClaim": "https://go.rakutenadvertising.com/hubfs/Services-Privacy-Policy-English.pdf" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://consent.linksynergy.com/rad-gvl-disclosures.json" }, "61": { "id": 61, "name": "GumGum, Inc.", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [3], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -1966,7 +3451,10 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 400, - "purposes": { "3": 720, "4": 720 }, + "purposes": { + "3": 720, + "4": 720 + }, "specialPurposes": {} }, "urls": [ @@ -1976,16 +3464,32 @@ "legIntClaim": "https://gumgum.com/terms-and-policies/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://marketing.gumgum.com/devicestoragedisclosures.json" }, "62": { "id": 62, "name": "Justpremium BV", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -2004,25 +3508,59 @@ "legIntClaim": "https://gumgum.com/terms-and-policies/justpremium-privacy-policy" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.justpremium.com/devicestoragedisclosures.json" }, "66": { "id": 66, "name": "adsquare GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 400, - "purposes": { "2": 0, "11": 0 }, + "purposes": { + "2": 0, + "11": 0 + }, "specialPurposes": {} }, "urls": [ @@ -2032,16 +3570,39 @@ "legIntClaim": "https://adsquare.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://adsquare.com/deviceStorage.json" }, "69": { "id": 69, "name": "OpenX", - "purposes": [1, 2, 7, 10], + "purposes": [ + 1, + 2, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -2060,26 +3621,55 @@ "legIntClaim": "https://www.openx.com/legal/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.openx.com/device-storage.json" }, "70": { "id": 70, "name": "Yieldlab (Virtual Minds GmbH)", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 4, - "purposes": { "2": 30, "3": 30, "4": 30 }, + "purposes": { + "2": 30, + "3": 30, + "4": 30 + }, "specialPurposes": {} }, "urls": [ @@ -2094,25 +3684,55 @@ "legIntClaim": "https://yieldlab.com/privacy-platform/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ad.yieldlab.net/deviceStorage.json" }, "71": { "id": 71, "name": "Roku Advertising Services", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34186698, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 540, - "purposes": { "2": 390 }, + "purposes": { + "2": 390 + }, "specialPurposes": {} }, "urls": [ @@ -2132,42 +3752,86 @@ "legIntClaim": "https://docs.roku.com/published/userprivacypolicy/fr/fr#userprivacypolicyfr_fr-userprivacypolicy-fr_fr-legalbasis" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.roku.com/static/deviceStorage.json" }, "73": { "id": 73, "name": "Simplifi Holdings Inc", - "purposes": [1, 2, 3, 4, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], - "specialFeatures": [1], + "features": [ + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31622399, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 30, - "purposes": { "2": 4320 }, + "purposes": { + "2": 4320 + }, "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://simpli.fi/site-privacy-policy/" } + { + "langId": "en", + "privacy": "https://simpli.fi/site-privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 3, + 9 ], - "dataDeclaration": [1, 3, 9], "deviceStorageDisclosureUrl": "https://um.simpli.fi/iab-disclosures.json" }, "75": { "id": 75, "name": "M32 Connect Inc", - "purposes": [1, 2, 3, 4, 8, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -2189,17 +3853,33 @@ "legIntClaim": "https://m32connect.com/fr/vie-privee-et-gestion-du-consentement/politique-de-confidentialite/" } ], - "dataDeclaration": [1, 2, 5, 6, 8], + "dataDeclaration": [ + 1, + 2, + 5, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://rdc.m32.media/gdpr/vendors_disclosure.json" }, "77": { "id": 77, "name": "Comscore B.V.", - "purposes": [1, 7, 8, 9, 10], + "purposes": [ + 1, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 62208000, "usesCookies": true, @@ -2216,17 +3896,40 @@ "privacy": "https://www.scorecardresearch.com/privacy.aspx" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://census-web.scorecardresearch.com/tcf_vendor_disclosures.json" }, "78": { "id": 78, "name": "Flashtalking", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [2, 3], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -2244,16 +3947,34 @@ "legIntClaim": "https://www.flashtalking.com/legitimate-interest-legal-basis" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.flashtalking.com/tcf/deviceStorage.json" }, "80": { "id": 80, "name": "Sharethrough, Inc", - "purposes": [1, 2], - "legIntPurposes": [7], + "purposes": [ + 1, + 2 + ], + "legIntPurposes": [ + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -2272,18 +3993,49 @@ "legIntClaim": "https://privacy-center.sharethrough.com/en/consumer-privacy-notice/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://assets.sharethrough.com/gvl.json" }, "82": { "id": 82, "name": "Smaato, Inc.", - "purposes": [1, 2, 3, 4, 7, 9], - "legIntPurposes": [10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], + "legIntPurposes": [ + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 1814400, "usesCookies": true, "cookieRefresh": true, @@ -2300,16 +4052,33 @@ "legIntClaim": "https://www.smaato.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://resources.smaato.com/hubfs/Smaato/IAB/deviceStorage.json" }, "83": { "id": 83, "name": "Visarity Technologies GmbH", "purposes": [], - "legIntPurposes": [8], - "flexiblePurposes": [8], - "specialPurposes": [2], + "legIntPurposes": [ + 8 + ], + "flexiblePurposes": [ + 8 + ], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -2328,13 +4097,20 @@ "legIntClaim": "https://primo.design/docs/PrivacyPolicyPrimo.html" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://script.visarity.com/tcf/tcf-visarity.json" }, "84": { "id": 84, "name": "Semasio GmbH", - "purposes": [1, 3, 9, 10], + "purposes": [ + 1, + 3, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -2350,28 +4126,65 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.semasio.com/privacy" } + { + "langId": "en", + "privacy": "https://www.semasio.com/privacy" + } + ], + "dataDeclaration": [ + 1, + 3, + 6, + 11 ], - "dataDeclaration": [1, 3, 6, 11], "deviceStorageDisclosureUrl": "https://semasio-tcf-storage.s3-eu-west-1.amazonaws.com/deviceStorage.json" }, "85": { "id": 85, "name": "Crimtan Holdings Limited", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 365, - "purposes": { "7": 1095, "10": 1095 }, - "specialPurposes": { "2": 1095 } + "purposes": { + "7": 1095, + "10": 1095 + }, + "specialPurposes": { + "2": 1095 + } }, "urls": [ { @@ -2380,17 +4193,40 @@ "legIntClaim": "https://www.crimtan.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://a.ctnsnet.com/tcf.json" }, "87": { "id": 87, "name": "Genius Sports UK Limited", - "purposes": [1, 2, 3, 4, 7, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -2407,16 +4243,33 @@ "privacy": "https://www.geniussports.com/policies/media-buying-services-and-tcf-privacy-notice/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://gsm-tcf.s3.eu-west-1.amazonaws.com/gsm-tcf.json" }, "90": { "id": 90, "name": "Teroa S.A.", - "purposes": [1, 2, 7, 9], + "purposes": [ + 1, + 2, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 220752000, @@ -2425,7 +4278,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 3650, - "purposes": { "2": 0 }, + "purposes": { + "2": 0 + }, "specialPurposes": {} }, "urls": [ @@ -2435,17 +4290,37 @@ "legIntClaim": "https://www.e-planning.net/privacy-policy.html" } ], - "dataDeclaration": [1, 2, 3, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://www.e-planning.net/deviceStorageDisclosureUrl.json" }, "91": { "id": 91, "name": "Criteo SA", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 33696000, "usesCookies": true, @@ -2478,17 +4353,42 @@ "legIntClaim": "https://www.criteo.com/es/privacy/how-we-use-your-data/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.criteo.com/iab-europe/tcfv2/disclosure" }, "92": { "id": 92, "name": "1plusX AG", - "purposes": [1, 3, 5], - "legIntPurposes": [7, 8, 9], - "flexiblePurposes": [7, 8, 9], + "purposes": [ + 1, + 3, + 5 + ], + "legIntPurposes": [ + 7, + 8, + 9 + ], + "flexiblePurposes": [ + 7, + 8, + 9 + ], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -2506,19 +4406,37 @@ "legIntClaim": "https://www.1plusx.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://device-storage-disclosure.1plusx.io" }, "93": { "id": 93, "name": "Adloox SA", - "purposes": [1], - "legIntPurposes": [7], - "flexiblePurposes": [7], - "specialPurposes": [1], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -2535,18 +4453,44 @@ "legIntClaim": "https://www.adloox.com/legal/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://glossary.adlooxtracking.com/tcf.json" }, "94": { "id": 94, "name": "Blis Global Limited", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34560000, "usesCookies": true, "cookieRefresh": true, @@ -2554,7 +4498,9 @@ "dataRetention": { "stdRetention": 400, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -2563,19 +4509,45 @@ "legIntClaim": "https://blis.com/legitimate-interests-statement/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.blismedia.com/.well-known/deviceStorage.json" }, "95": { "id": 95, "name": "Lotame Solutions, Inc", - "purposes": [1, 3, 5, 7, 8, 9, 10], + "purposes": [ + 1, + 3, + 5, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 23652000, "usesCookies": true, "cookieRefresh": true, @@ -2591,17 +4563,43 @@ "privacy": "https://www.lotame.com/about-lotame/privacy/lotames-products-services-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tags.crwdcntrl.net/privacy/tcf-purposes.json" }, "97": { "id": 97, "name": "LiveRamp", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -2639,18 +4637,51 @@ "legIntClaim": "https://liveramp.fr/iab-transparency-consent-framework/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.ats.rlcdn.com/device-storage-disclosure.json" }, "98": { "id": 98, "name": "GroupM UK Limited", - "purposes": [1, 2, 3, 4, 5, 6], - "legIntPurposes": [7, 8, 9, 10], - "flexiblePurposes": [7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34128000, "usesCookies": true, "cookieRefresh": true, @@ -2667,17 +4698,41 @@ "legIntClaim": "https://www.groupm.com/privacy-notice" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.mookie1.com/privacy/deviceStorage.json" }, "100": { "id": 100, "name": "Fifty Technology Limited", - "purposes": [1, 2, 3, 4, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -2695,18 +4750,44 @@ "legIntClaim": "https://fifty.io/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://fifty.io/privacy/deviceStorage.json" }, "101": { "id": 101, "name": "MiQ Digital Ltd", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31540000, "usesCookies": true, "cookieRefresh": true, @@ -2723,26 +4804,60 @@ "legIntClaim": "https://www.wearemiq.com/privacy-and-compliance/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.wearemiq.com/privacy-and-compliance/devicestoragedisclosures.json" }, "102": { "id": 102, "name": "Magnite, Inc. (Outstream)", - "purposes": [1], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31556900, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 28, - "purposes": { "10": 90 }, + "purposes": { + "10": 90 + }, "specialPurposes": {} }, "urls": [ @@ -2752,17 +4867,38 @@ "legIntClaim": "https://www.magnite.com/legal/advertising-technology-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://gdpr.rubiconproject.com/slimcut/devicestoragedisclosure.json" }, "104": { "id": 104, "name": "Sonobi, Inc", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7, 8], + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 8 + ], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 5184000, "usesCookies": true, @@ -2780,19 +4916,36 @@ "legIntClaim": "https://sonobi.com/privacy-policy/" } ], - "dataDeclaration": [1, 3, 8], + "dataDeclaration": [ + 1, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://sonobi.com/tcf2-device-storage-disclosure.json" }, "108": { "id": 108, "name": "Rich Audience Technologies SL", - "purposes": [1, 2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -2803,22 +4956,54 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://richaudience.com/en/privacy/" }, - { "langId": "es", "privacy": "https://richaudience.com/es/privacy/" } + { + "langId": "en", + "privacy": "https://richaudience.com/en/privacy/" + }, + { + "langId": "es", + "privacy": "https://richaudience.com/es/privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8 ], - "dataDeclaration": [1, 2, 3, 4, 8], "deviceStorageDisclosureUrl": "https://cdnj.richaudience.com/52a26ab9400b2a9f5aabfa20acf3196g.json" }, "109": { "id": 109, "name": "LoopMe Limited", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 32 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -2835,17 +5020,36 @@ "legIntClaim": "https://legal.loopme.com/privacy-center#contract-hyartvn1o" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://co.loopme.com/deviceStorageDisclosure.json" }, "110": { "id": 110, "name": "Dynata LLC", - "purposes": [1, 7, 9], + "purposes": [ + 1, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -2856,18 +5060,53 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://www.dynataprivacy.com/" }], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://www.dynataprivacy.com/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.dynataprivacy.com/deviceStorageDisclosure.json" }, "111": { "id": 111, "name": "Showheroes SE", - "purposes": [1, 3, 4, 9, 10], - "legIntPurposes": [2, 7, 8, 11], - "flexiblePurposes": [2, 7, 8], - "specialPurposes": [1, 2], - "features": [1], + "purposes": [ + 1, + 3, + 4, + 9, + 10 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 33955200, "usesCookies": true, @@ -2885,13 +5124,26 @@ "legIntClaim": "https://showheroes.com/privacy-policy/" } ], - "dataDeclaration": [1, 3, 8, 11], + "dataDeclaration": [ + 1, + 3, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://static-origin.showheroes.com/gvl_storage_disclosure.json" }, "114": { "id": 114, "name": "Sublime", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -2903,21 +5155,51 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "2": 0, "7": 365, "9": 365 }, + "purposes": { + "2": 0, + "7": 365, + "9": 365 + }, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://ayads.co/privacy.php" }], - "dataDeclaration": [1, 6, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://ayads.co/privacy.php" + } + ], + "dataDeclaration": [ + 1, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://gdpr.ayads.co/cookiepolicy.json" }, "115": { "id": 115, "name": "smartclip Europe GmbH", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [2, 3], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -2925,7 +5207,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 120, - "purposes": { "2": 30, "3": 365, "4": 365 }, + "purposes": { + "2": 30, + "3": 365, + "4": 365 + }, "specialPurposes": {} }, "urls": [ @@ -2940,16 +5226,42 @@ "legIntClaim": "https://privacy-portal.smartclip.net/en/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.smartclip.net/iab/deviceStorageDisclosure.json" }, "122": { "id": 122, "name": "Dentsu London Limited", - "purposes": [1, 3, 4, 5, 10], - "legIntPurposes": [2, 7, 8], - "flexiblePurposes": [2, 7, 8], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 10 + ], + "legIntPurposes": [ + 2, + 7, + 8 + ], + "flexiblePurposes": [ + 2, + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, @@ -2959,7 +5271,9 @@ "dataRetention": { "stdRetention": 90, "purposes": {}, - "specialPurposes": { "2": 365 } + "specialPurposes": { + "2": 365 + } }, "urls": [ { @@ -2968,26 +5282,51 @@ "legIntClaim": "https://privacy.metadsp.co.uk/privacy-policy.html" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.metadsp.co.uk/spartan_disclosures.json" }, "124": { "id": 124, "name": "Near Intelligence", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "7": 180 }, - "specialPurposes": { "1": 30, "2": 30 } + "purposes": { + "7": 180 + }, + "specialPurposes": { + "1": 30, + "2": 30 + } }, "urls": [ { @@ -2996,16 +5335,34 @@ "legIntClaim": "https://near.com/fr/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 9], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 9 + ], "deviceStorageDisclosureUrl": "https://near.com/iab/disclosures.json" }, "126": { "id": 126, "name": "DoubleVerify Inc.\u200b", "purposes": [], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -3024,18 +5381,39 @@ "legIntClaim": "https://doubleverify.com/privacy-notice/solutions-privacy-notice" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.doubleverify.com/static/Doubleverify_TCF.json" }, "128": { "id": 128, "name": "BIDSWITCH GmbH", - "purposes": [1, 2, 7, 9, 10], + "purposes": [ + 1, + 2, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -3052,17 +5430,42 @@ "legIntClaim": "https://www.iponweb.com/policies-legal/bidswitch-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.bidswitch.com/devicestorage.json" }, "129": { "id": 129, "name": "IPONWEB GmbH", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -3080,17 +5483,42 @@ "legIntClaim": "https://www.iponweb.com/policies-legal/iponweb-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.iponweb.com/devicestorage.json" }, "130": { "id": 130, "name": "NextRoll, Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15768000, "usesCookies": true, @@ -3108,35 +5536,83 @@ "legIntClaim": "https://www.nextroll.com/lia" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://s.adroll.com/shares/device_storage.json" }, "131": { "id": 131, "name": "ID5 Technology Ltd", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://id5.io/privacy" }], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 11], + "dataRetention": { + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://id5.io/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://id5-sync.com/tcf/disclosures.json" }, "132": { "id": 132, "name": "Teads France SAS", - "purposes": [1, 3, 4, 7, 9, 10], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4, + 7, + 9, + 10 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -3159,17 +5635,36 @@ "legIntClaim": "https://privacy-policy.teads.com/privacy-policy/politique-de-confidentialite-europe/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://iab-cookie-disclosure.teads.tv/deviceStorage.json" }, "133": { "id": 133, "name": "digitalAudience B.V.", - "purposes": [1, 3, 5, 7, 9], + "purposes": [ + 1, + 3, + 5, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31557600, "usesCookies": true, @@ -3181,21 +5676,53 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://digitalaudience.io/legal/" } + { + "langId": "en", + "privacy": "https://digitalaudience.io/legal/" + } + ], + "dataDeclaration": [ + 1, + 3, + 5, + 10, + 11 ], - "dataDeclaration": [1, 3, 5, 10, 11], "deviceStorageDisclosureUrl": "https://dadocuments.blob.core.windows.net/documents/IAB-dA-Device-Storage-Disclosure-08092022.json" }, "134": { "id": 134, "name": "SMARTSTREAM.TV GmbH", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -3217,16 +5744,40 @@ "legIntClaim": "https://www.smartstream.tv/de/produktdatenschutz" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.adtech.app/gen/deviceStorageDisclosure/stv.json" }, "136": { "id": 136, "name": "Str\u00f6er SSP GmbH (SSP)", - "purposes": [1, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -3235,8 +5786,13 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 730, - "purposes": { "2": 0 }, - "specialPurposes": { "1": 183, "2": 0 } + "purposes": { + "2": 0 + }, + "specialPurposes": { + "1": 183, + "2": 0 + } }, "urls": [ { @@ -3245,17 +5801,48 @@ "legIntClaim": "https://www.stroeer.de/ssp-datenschutz" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.stroeer.de/StroeerSSP_deviceStorage.json" }, "137": { "id": 137, "name": "OS Data Solutions GmbH & Co. KG", - "purposes": [1, 3, 4, 5], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4, + 5 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -3273,18 +5860,46 @@ "legIntClaim": "https://osdatasolutions.de/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.stroeer.de/StroeerDSP_deviceStorage.json" }, "138": { "id": 138, "name": "ConnectAd Demand GmbH", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2628000, "usesCookies": true, "cookieRefresh": true, @@ -3301,19 +5916,38 @@ "legIntClaim": "https://connectadrealtime.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 11 + ], "deviceStorageDisclosureUrl": "https://connectad.io/tcf_storage.json" }, "139": { "id": 139, "name": "Permodo GmbH", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -3330,26 +5964,55 @@ "legIntClaim": "https://permodo.com/de/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.adtech.app/gen/deviceStorageDisclosure/per.json" }, "140": { "id": 140, "name": "Platform161 B.V.", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34164000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 0, - "purposes": { "3": 390, "7": 30, "10": 365 }, - "specialPurposes": { "1": 7 } + "purposes": { + "3": 390, + "7": 30, + "10": 365 + }, + "specialPurposes": { + "1": 7 + } }, "urls": [ { @@ -3358,17 +6021,50 @@ "legIntClaim": "https://verve.com/dsp-cookies-privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://static2.creative-serving.com/deviceStorage.json" }, "142": { "id": 142, "name": "Media.net Advertising FZ-LLC", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [2, 8, 9, 11], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 8, + 9, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 189216000, "usesCookies": true, @@ -3394,23 +6090,46 @@ "legIntClaim": "https://www.media.net/privacy-policy/#legitimate-interest" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.media.net/tcfv2/gvl/deviceStorage.json" }, "143": { "id": 143, "name": "Connatix Native Exchange Inc.", - "purposes": [1, 2], + "purposes": [ + 1, + 2 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [1], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2600000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "2": 30 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "2": 30 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -3418,18 +6137,45 @@ "legIntClaim": "https://connatix.com/privacy-policy/" } ], - "dataDeclaration": [1, 3, 11], + "dataDeclaration": [ + 1, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://connatix.com/iab-tcf-disclosure.json" }, "147": { "id": 147, "name": "Adacado Technologies Inc. (DBA Adacado)", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -3437,7 +6183,9 @@ "dataRetention": { "stdRetention": 395, "purposes": {}, - "specialPurposes": { "2": 3 } + "specialPurposes": { + "2": 3 + } }, "urls": [ { @@ -3446,13 +6194,21 @@ "legIntClaim": "https://adacado.com/privacy-policy/" } ], - "dataDeclaration": [1, 6, 8, 11], + "dataDeclaration": [ + 1, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://storage.googleapis.com/adacado_iab_tcf/tcf.json" }, "148": { "id": 148, "name": "LiveIntent Inc.", - "purposes": [2, 7], + "purposes": [ + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -3473,17 +6229,40 @@ "privacy": "https://liveintent.com/services-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://b-code.liadm.com/deviceStorage.json" }, "149": { "id": 149, "name": "ADman Interactive SLU", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2 + ], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31535998, "usesCookies": true, @@ -3501,17 +6280,42 @@ "legIntClaim": "https://admanmedia.com/politica.html" } ], - "dataDeclaration": [1, 2, 3, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://admanmedia.com/deviceStorage.json" }, "150": { "id": 150, "name": "Inskin Media LTD", - "purposes": [1, 3, 4, 9, 10], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [2, 3], + "purposes": [ + 1, + 3, + 4, + 9, + 10 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31622400, "usesCookies": true, @@ -3526,7 +6330,10 @@ "9": 90, "10": 4320 }, - "specialPurposes": { "1": 90, "2": 4320 } + "specialPurposes": { + "1": 90, + "2": 4320 + } }, "urls": [ { @@ -3535,19 +6342,46 @@ "legIntClaim": "https://www.inskinmedia.com/privacy-policy.html" } ], - "dataDeclaration": [1, 2, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.inskinad.com/deviceStorageDisclosure.json" }, "153": { "id": 153, "name": "MADVERTISE MEDIA", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 10368000, "usesCookies": true, "cookieRefresh": false, @@ -3569,18 +6403,47 @@ "legIntClaim": "https://media.madvertise.com/politique-de-confidentialite/" } ], - "dataDeclaration": [1, 2, 3, 4, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://mobile.mng-ads.com/deviceStorage.json" }, "154": { "id": 154, "name": "YOC AG", - "purposes": [1, 3, 4, 10], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4, + 10 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -3602,16 +6465,36 @@ "legIntClaim": "https://yoc.com/de/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.yoc.com/visx/sellers/deviceStorage.json" }, "155": { "id": 155, "name": "AntVoice", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 34819200, @@ -3630,25 +6513,60 @@ "legIntClaim": "https://www.antvoice.com/en/privacypolicy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://av-eu-marketing.storage.googleapis.com/deviceStorage.json" }, "156": { "id": 156, "name": "Basis Global Technologies, Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { - "purposes": { "2": 0, "3": 180, "4": 180, "7": 35, "10": 540 }, - "specialPurposes": { "1": 540, "2": 0 } + "purposes": { + "2": 0, + "3": 180, + "4": 180, + "7": 35, + "10": 540 + }, + "specialPurposes": { + "1": 540, + "2": 0 + } }, "urls": [ { @@ -3657,16 +6575,35 @@ "legIntClaim": "https://privacy.basis.net/#gdpr" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.basis.net/devicestorage.json" }, "157": { "id": 157, "name": "Seedtag Advertising S.L", - "purposes": [1, 2, 7, 9, 10], + "purposes": [ + 1, + 2, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -3690,16 +6627,30 @@ "legIntClaim": "https://www.seedtag.com/es/privacy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.seedtag.com/vendor.json" }, "159": { "id": 159, "name": "Underdog Media LLC ", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -3718,19 +6669,44 @@ "legIntClaim": "https://underdogmedia.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 8, 11], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://bid.underdog.media/deviceStorage.json" }, "160": { "id": 160, "name": "Audience Solutions S.A.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 32 }, + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -3746,18 +6722,44 @@ "privacy": "https://audience-solutions.com/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://audience-solutions.com/.well-known/deviceStorage.json" }, "161": { "id": 161, "name": "SMADEX, S.L.U.", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -3774,17 +6776,42 @@ "legIntClaim": "https://smadex.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://statics.smadex.com/tcf-storage.json" }, "163": { "id": 163, "name": "Bombora Inc.", - "purposes": [1, 3], - "legIntPurposes": [7, 9, 10], - "flexiblePurposes": [7, 9, 10], - "specialPurposes": [1], - "features": [1, 3], + "purposes": [ + 1, + 3 + ], + "legIntPurposes": [ + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 7, + 9, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -3802,18 +6829,47 @@ "legIntClaim": "https://bombora.com/privacy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10 + ], "deviceStorageDisclosureUrl": "https://ml314.com/deviceStorage.json" }, "164": { "id": 164, "name": "Outbrain UK Ltd", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -3860,26 +6916,58 @@ "legIntClaim": "https://www.outbrain.com/privacy/pt/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.outbrain.com/privacy/wp-json/privacy/v2/devicestorage.json" }, "165": { "id": 165, "name": "SpotX, Inc", - "purposes": [1], - "legIntPurposes": [2, 7, 8, 10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], - "overflow": { "httpGetLimit": 32 }, + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 31539996, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 28, - "purposes": { "10": 90 }, + "purposes": { + "10": 90 + }, "specialPurposes": {} }, "urls": [ @@ -3889,18 +6977,44 @@ "legIntClaim": "https://www.magnite.com/legal/advertising-technology-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://gdpr.rubiconproject.com/spotx/devicestoragedisclosure.json" }, "168": { "id": 168, "name": "EASYmedia GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -3911,19 +7025,52 @@ "specialPurposes": {} }, "urls": [ - { "langId": "de", "privacy": "https://login.rtbmarket.com/gdpr" } + { + "langId": "de", + "privacy": "https://login.rtbmarket.com/gdpr" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 10, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 10, 11], "deviceStorageDisclosureUrl": "https://cdn.rvty.net/device_storage_disclosure.json" }, "173": { "id": 173, "name": "Yieldmo, Inc.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -3941,16 +7088,36 @@ "legIntClaim": "https://www.yieldmo.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://s3.amazonaws.com/devicestoragedisclosureurl.yieldmo.com/deviceStorage.json" }, "174": { "id": 174, "name": "A Million Ads", - "purposes": [2, 6, 7], + "purposes": [ + 2, + 6, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -3969,17 +7136,35 @@ "legIntClaim": "https://www.amillionads.com/privacy-policy/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://amillionads-tcf.s3.eu-west-1.amazonaws.com/amillionads_vendordevicestorage.json" }, "178": { "id": 178, "name": "Hybrid Theory Global Ltd", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -3997,13 +7182,27 @@ "legIntClaim": "https://hybridtheory.com/privacy-notice/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://go.affec.tv/tcfv2/vendor-device-storage" }, "184": { "id": 184, "name": "MEDIARITHMICS SAS", - "purposes": [1, 3], + "purposes": [ + 1, + 3 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -4013,7 +7212,12 @@ "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "3": 180 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "3": 180 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -4024,26 +7228,45 @@ "privacy": "https://www.mediarithmics.io/legal/fr-data-policy" } ], - "dataDeclaration": [3], + "dataDeclaration": [ + 3 + ], "deviceStorageDisclosureUrl": "https://iab-tcf.mediarithmics.com/device_storage_disclosures.json" }, "185": { "id": 185, "name": "Bidtellect, Inc", - "purposes": [2, 3, 4, 5, 6, 7, 11], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 28, - "purposes": { "5": 365, "6": 365 }, + "purposes": { + "5": 365, + "6": 365 + }, "specialPurposes": {} }, "urls": [ @@ -4052,17 +7275,38 @@ "privacy": "https://www.bidtellect.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://cdn.bttrack.com/iab/deviceStorageDisclosure.json" }, "190": { "id": 190, "name": "video intelligence AG", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -4080,17 +7324,46 @@ "legIntClaim": "https://www.vi.ai/legal/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.vi.ai/deviceStorage.json" }, "192": { "id": 192, "name": "Remerge GmbH", - "purposes": [1], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [2], - "features": [1], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -4098,7 +7371,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "8": 365, "9": 365, "10": 365 }, + "purposes": { + "8": 365, + "9": 365, + "10": 365 + }, "specialPurposes": {} }, "urls": [ @@ -4108,39 +7385,87 @@ "legIntClaim": "https://www.remerge.io/service-privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://assets.remerge.io/iab/deviceStorageDisclosure.json" }, "193": { "id": 193, "name": "Mediasmart Mobile S.L.", - "purposes": [2, 3, 4, 7, 9, 10], + "purposes": [ + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], - "specialFeatures": [1], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 180, - "purposes": { "2": 0, "7": 0 }, + "purposes": { + "2": 0, + "7": 0 + }, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://mediasmart.io/privacy/" }], - "dataDeclaration": [1, 2, 3, 4, 8, 9, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://mediasmart.io/privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cookies.mediasmart.io/cookies.json" }, "194": { "id": 194, "name": "Rezonence Limited", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [3], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -4158,16 +7483,35 @@ "legIntClaim": "https://rezonence.com/privacy-policy/#legitimate_interest" } ], - "dataDeclaration": [1, 2, 6, 7, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn3.rezonence.com/freewall-templates/master/TCF/deviceStorageDisclosure.json" }, "195": { "id": 195, "name": "advanced store GmbH", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -4191,26 +7535,55 @@ "legIntClaim": "https://www.advanced-store.com/en/data-privacy/" } ], - "dataDeclaration": [3], + "dataDeclaration": [ + 3 + ], "deviceStorageDisclosureUrl": "https://ad4m.at/.well-known/deviceStorage.json" }, "196": { "id": 196, "name": "AdElement Media Solutions Pvt Ltd", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 32 }, + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 180, - "purposes": { "3": 90, "4": 90, "9": 90 }, + "purposes": { + "3": 90, + "4": 90, + "9": 90 + }, "specialPurposes": {} }, "urls": [ @@ -4220,18 +7593,37 @@ "legIntClaim": "https://adelement.com/privacy-policy.html#legal-basis-processing" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://adelement.com/ae.json" }, "199": { "id": 199, "name": "ADUX", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 62208000, "usesCookies": true, "cookieRefresh": false, @@ -4247,26 +7639,62 @@ "privacy": "https://www.adux.com/donnees-personnelles/" } ], - "dataDeclaration": [1, 2, 3, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.360yield.com/pub/deviceStorageDisclosureAdux.json" }, "202": { "id": 202, "name": "Magnite CTV, Inc.", - "purposes": [1, 3, 4, 5], - "legIntPurposes": [2, 7, 8, 10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 3, + 4, + 5 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31556900, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 28, - "purposes": { "10": 90 }, + "purposes": { + "10": 90 + }, "specialPurposes": {} }, "urls": [ @@ -4276,19 +7704,42 @@ "legIntClaim": "https://www.magnite.com/legal/advertising-technology-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.tremorhub.com/mctv/devicestoragedisclosure.json" }, "203": { "id": 203, "name": "Revcontent, LLC", "purposes": [], - "legIntPurposes": [2, 11], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], - "overflow": { "httpGetLimit": 32 }, + "legIntPurposes": [ + 2, + 11 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -4305,14 +7756,23 @@ "legIntClaim": "https://help.revcontent.com/en/knowledge/revcontent-privacy-policy" } ], - "dataDeclaration": [1, 2, 8], + "dataDeclaration": [ + 1, + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://assets.revcontent.com/disclosures/master/deviceStorage.json" }, "205": { "id": 205, "name": "Adssets AB", "purposes": [], - "legIntPurposes": [7, 8, 9, 10], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], "flexiblePurposes": [], "specialPurposes": [], "features": [], @@ -4333,18 +7793,39 @@ "legIntClaim": "https://adssets.com/policy/" } ], - "dataDeclaration": [6, 8], + "dataDeclaration": [ + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://tcf.pliing.com/tcf/disclosure.json" }, "206": { "id": 206, "name": "Hybrid Adtech GmbH", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2], + "flexiblePurposes": [ + 2 + ], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -4361,18 +7842,38 @@ "legIntClaim": "https://hybrid.ai/data_protection_policy" } ], - "dataDeclaration": [2, 3], + "dataDeclaration": [ + 2, + 3 + ], "deviceStorageDisclosureUrl": "https://st.hybrid.ai/policy/deviceStorage.json" }, "209": { "id": 209, "name": "Delta Projects AB", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -4389,18 +7890,46 @@ "legIntClaim": "https://deltaprojects.com/data-collection-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.de17a.com/policy/deviceStorage.json" }, "210": { "id": 210, "name": "Zemanta Inc.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -4417,19 +7946,48 @@ "legIntClaim": "https://www.zemanta.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.zemanta.com/wp-content/uploads/2022/06/deviceStorage.json" }, "211": { "id": 211, "name": "AdTheorent, Inc", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 63071995, "usesCookies": true, "cookieRefresh": true, @@ -4446,16 +8004,37 @@ "legIntClaim": "https://adtheorent.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://public-cdn.adtheorent.com/iab/AdTheorent-IAB-TCFv2-deviceStorageDisclosure.json" }, "212": { "id": 212, "name": "usemax advertisement (Emego GmbH)", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -4474,17 +8053,32 @@ "legIntClaim": "https://www.usemax.de/?l=privacy" } ], - "dataDeclaration": [10], + "dataDeclaration": [ + 10 + ], "deviceStorageDisclosureUrl": "https://www.usemax.de/deviceStorage.php" }, "213": { "id": 213, "name": "emetriq GmbH", - "purposes": [1, 2, 3, 5, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 5, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -4492,19 +8086,38 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 180, - "purposes": { "2": 0 }, + "purposes": { + "2": 0 + }, "specialPurposes": {} }, "urls": [ - { "langId": "de", "privacy": "https://www.emetriq.com/datenschutz/" } + { + "langId": "de", + "privacy": "https://www.emetriq.com/datenschutz/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], "deviceStorageDisclosureUrl": "https://tcf.emetriq.de/deviceStorageDisclosure.json" }, "215": { "id": 215, "name": "ARMIS SAS", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -4514,24 +8127,47 @@ "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 180 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 180 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", "privacy": "https://armis.tech/en/armis-personal-data-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://armis-rgpd-acotedemoi.acotedemoi.com/" }, "216": { "id": 216, "name": "Mindlytix SAS", - "purposes": [1, 2, 3, 5, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 5, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1], + "specialPurposes": [ + 1 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 5356800, "usesCookies": true, @@ -4549,16 +8185,45 @@ "legIntClaim": "https://mindlytix.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://mindlytix.com/tcf/tcf.json" }, "217": { "id": 217, "name": "2KDirect, Inc. (dba iPromote)", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, @@ -4568,7 +8233,9 @@ "dataRetention": { "stdRetention": 31, "purposes": {}, - "specialPurposes": { "1": 365 } + "specialPurposes": { + "1": 365 + } }, "urls": [ { @@ -4577,18 +8244,49 @@ "legIntClaim": "https://www.ipromote.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.ipromote.com/.well-known/deviceStorage.json" }, "224": { "id": 224, "name": "adrule mobile GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -4605,17 +8303,39 @@ "legIntClaim": "https://www.adrule.net/de/datenschutz/" } ], - "dataDeclaration": [2, 3, 6, 8, 9, 11], + "dataDeclaration": [ + 2, + 3, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.hyj.mobi/tcf/adrule.json" }, "226": { "id": 226, "name": "Publicis Media GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -4632,18 +8352,49 @@ "privacy": "https://www.publicismedia.de/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.vtracy.de/iab/deviceStorage.json" }, "227": { "id": 227, "name": "Opt Out Advertising B.V. ", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31622400, "usesCookies": true, "cookieRefresh": true, @@ -4651,7 +8402,9 @@ "dataRetention": { "stdRetention": 90, "purposes": {}, - "specialPurposes": { "1": 30 } + "specialPurposes": { + "1": 30 + } }, "urls": [ { @@ -4660,17 +8413,43 @@ "legIntClaim": "https://optoutadvertising.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://adserving.optoutadvertising.com/dsd" }, "228": { "id": 228, "name": "M.D. Primis Technologies Ltd.", - "purposes": [1, 2, 3, 4, 5, 6], - "legIntPurposes": [7, 8, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 2160000, "usesCookies": true, @@ -4688,19 +8467,49 @@ "legIntClaim": "https://www.primis.tech/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.primis.tech/deviceStorage.json" }, "231": { "id": 231, "name": "AcuityAds Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -4717,18 +8526,44 @@ "legIntClaim": "https://privacy.acuityads.com/corporate-privacy-policy.html" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.acuityads.com/deviceStorageDisclosure.json" }, "237": { "id": 237, "name": "VGI CTV, Inc", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -4745,26 +8580,73 @@ "legIntClaim": "https://verve.com/website-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://lkqd.com/disclosures.json" }, "238": { "id": 238, "name": "StackAdapt Inc.", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [2, 7, 8, 11], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 365, - "purposes": { "7": 3652, "8": 180, "9": 4320, "10": 180, "11": 180 }, - "specialPurposes": { "1": 60, "2": 1 } + "purposes": { + "7": 3652, + "8": 180, + "9": 4320, + "10": 180, + "11": 180 + }, + "specialPurposes": { + "1": 60, + "2": 1 + } }, "urls": [ { @@ -4773,18 +8655,51 @@ "legIntClaim": "https://www.stackadapt.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://s3.amazonaws.com/stackadapt_public/disclosures.json" }, "239": { "id": 239, "name": "Triton Digital Canada Inc.", - "purposes": [1, 4], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, @@ -4811,18 +8726,50 @@ "legIntClaim": "https://es.tritondigital.com/privacy-policies" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tritondigital.com/deviceStorageDisclosure.json" }, "241": { "id": 241, "name": "OneTag Limited", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34160000, "usesCookies": true, "cookieRefresh": true, @@ -4839,17 +8786,32 @@ "legIntClaim": "https://www.onetag.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://onetag-cdn.com/privacy/tcf_storage.json" }, "242": { "id": 242, "name": "twiago GmbH", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, @@ -4857,7 +8819,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 60, - "purposes": { "7": 14 }, + "purposes": { + "7": 14 + }, "specialPurposes": {} }, "urls": [ @@ -4872,17 +8836,40 @@ "legIntClaim": "https://a.twiago.com/privacy.php" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://control.twiago.com/deviceStorage.json" }, "243": { "id": 243, "name": "Cloud Technologies S.A.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -4900,17 +8887,38 @@ "legIntClaim": "https://www.cloudtechnologies.pl/en/internet-advertising-privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.cloudtechnologies.pl/deviceStorage.json" }, "244": { "id": 244, "name": "Ermes", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 33696000, "usesCookies": true, @@ -4927,16 +8935,41 @@ "privacy": "https://www.ermes.ai/politique-de-confidentialite/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tag.leadplace.fr/consents/consents.json" }, "246": { "id": 246, "name": "Smartology Limited", - "purposes": [1, 3, 4, 8], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4, + 8 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -4945,7 +8978,10 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 30, - "purposes": { "3": 0, "4": 0 }, + "purposes": { + "3": 0, + "4": 0 + }, "specialPurposes": {} }, "urls": [ @@ -4955,19 +8991,33 @@ "legIntClaim": "https://www.smartology.net/legitimate-interest-assessments/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.smartology.net/deviceStorageDisclosure.json" }, "248": { "id": 248, "name": "Converge-Digital", - "purposes": [1], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [2], - "features": [3], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 15552000, "usesCookies": true, "cookieRefresh": false, @@ -4984,23 +9034,42 @@ "legIntClaim": "https://converge-digital.com/privacy-policy/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://data.converge-digital.com/deviceStorage.json" }, "249": { "id": 249, "name": "Tri-table Sp. z o.o.", - "purposes": [1, 2, 4, 7, 10], + "purposes": [ + 1, + 2, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31622400, "usesCookies": true, - "cookieRefresh": false, - "usesNonCookieAccess": false, + "cookieRefresh": true, + "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 366, "purposes": {}, @@ -5018,16 +9087,30 @@ "legIntClaim": "https://tri-table.com/polityka-prywatnosci" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://cmp.spolecznosci.net/v2/deviceStorage.json" }, "251": { "id": 251, "name": "Yieldlove GmbH", - "purposes": [1], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -5035,8 +9118,15 @@ "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { - "purposes": { "2": 7, "7": 0, "10": 183 }, - "specialPurposes": { "1": 183, "2": 7 } + "purposes": { + "2": 7, + "7": 0, + "10": 183 + }, + "specialPurposes": { + "1": 183, + "2": 7 + } }, "urls": [ { @@ -5045,18 +9135,46 @@ "legIntClaim": "https://www.yieldlove.com/de-de/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn-a.yieldlove.com/deviceStorage.json" }, "252": { "id": 252, "name": "Jaduda GmbH", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -5064,7 +9182,9 @@ "dataRetention": { "stdRetention": 180, "purposes": {}, - "specialPurposes": { "2": 3650 } + "specialPurposes": { + "2": 3650 + } }, "urls": [ { @@ -5078,19 +9198,53 @@ "legIntClaim": "https://splicky.com/de/web/privacy-policy/legitimate-interests" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn-global.splicky.com/devicestorage.json" }, "253": { "id": 253, "name": "Improve Digital", - "purposes": [1, 3, 4, 9], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 3, + 4, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -5107,18 +9261,43 @@ "legIntClaim": "https://www.improvedigital.com/platform-privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://sellers.improvedigital.com/tcf-cookies.json" }, "254": { "id": 254, "name": "LiquidM Technology GmbH", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -5135,16 +9314,43 @@ "legIntClaim": "https://liquidm.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://liquidm.com/disclosures.json" }, "255": { "id": 255, "name": "Onnetwork Sp. z o.o.", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8], - "flexiblePurposes": [2, 7, 8], - "specialPurposes": [2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8 + ], + "flexiblePurposes": [ + 2, + 7, + 8 + ], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 4320000, @@ -5153,8 +9359,13 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 0, - "purposes": { "5": 30, "6": 30 }, - "specialPurposes": { "2": 30 } + "purposes": { + "5": 30, + "6": 30 + }, + "specialPurposes": { + "2": 30 + } }, "urls": [ { @@ -5168,19 +9379,40 @@ "legIntClaim": "https://www.onnetwork.tv/pp_services.php#en" } ], - "dataDeclaration": [10], + "dataDeclaration": [ + 10 + ], "deviceStorageDisclosureUrl": "https://video.onnetwork.tv/vendor255.json" }, "256": { "id": 256, "name": "Wunderkind Corporation", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 33696000, "usesCookies": true, "cookieRefresh": false, @@ -5197,17 +9429,43 @@ "legIntClaim": "https://www.wunderkind.co/privacy/data-request-instructions/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://assets.bounceexchange.com/tcfv2/tcfv2-disclosures.json" }, "259": { "id": 259, "name": "ADYOULIKE SA", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -5230,18 +9488,35 @@ "legIntClaim": "https://www.adyoulike.com/pages/privacy_en.php" } ], - "dataDeclaration": [1, 2, 4, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://adyoulike.com/deviceStorageDisclosureURL.json" }, "262": { "id": 262, "name": "Fyber Monetization Ltd.", - "purposes": [1, 2, 3, 4, 5, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [2], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -5257,17 +9532,36 @@ "privacy": "https://www.digitalturbine.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn2.inner-active.mobi/deviceStorageDisclosure/deviceStorageDisclosureUrl.json" }, "263": { "id": 263, "name": "Nativo, Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -5275,8 +9569,14 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 730, - "purposes": { "2": 0, "3": 45, "4": 45 }, - "specialPurposes": { "2": 0 } + "purposes": { + "2": 0, + "3": 45, + "4": 45 + }, + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -5285,17 +9585,41 @@ "legIntClaim": "https://www.nativo.com/interest-based-ads#how-we-use-your-personal-data-and-why" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://iab.nativo.com/tcf-disclosures.json" }, "264": { "id": 264, "name": "Adobe Advertising Cloud", - "purposes": [1, 2, 3, 4, 10], - "legIntPurposes": [7], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 2, + 3, + 4, + 10 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -5313,13 +9637,20 @@ "legIntClaim": "https://www.adobe.com/privacy/experience-cloud.html" } ], - "dataDeclaration": [1, 3, 5, 11], + "dataDeclaration": [ + 1, + 3, + 5, + 11 + ], "deviceStorageDisclosureUrl": "https://gvl2.s3.eu-west-1.amazonaws.com/deviceStorageDisclosures.json" }, "270": { "id": 270, "name": "Marfeel Solutions, SL", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -5329,22 +9660,46 @@ "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": {} }, + "dataRetention": { + "purposes": {}, + "specialPurposes": {} + }, "urls": [ - { "langId": "en", "privacy": "https://www.marfeel.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://www.marfeel.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 8 ], - "dataDeclaration": [1, 2, 8], "deviceStorageDisclosureUrl": "https://live.mrf.io/statics/marfeel/resources/lib/deviceStorage/touch.json" }, "272": { "id": 272, "name": "A.Mob", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34128000, "usesCookies": true, "cookieRefresh": false, @@ -5364,19 +9719,44 @@ "privacy": "https://we-are-adot.com/en/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://assets.adotmob.com/tcf/tcf.json" }, "274": { "id": 274, "name": "Golden Bees", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -5393,19 +9773,40 @@ "legIntClaim": "https://applies.goldenbees.fr/privacyPolicy/fr" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://cdn.goldenbees.fr/proxy?url=http%3A%2F%2Fstatic.goldenbees.fr%2Fcdn%2Fjs%2Fcmp%2FdeviceStorage.json&attachment=0" }, "275": { "id": 275, "name": "TabMo SAS", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 32 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -5432,17 +9833,39 @@ "legIntClaim": "https://hawk-tech.io/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://static.tabmo.io/privacy-policy/tcf-disclosures.json" }, "278": { "id": 278, "name": "Integral Ad Science, Inc.", "purposes": [], - "legIntPurposes": [7, 10], - "flexiblePurposes": [7, 10], - "specialPurposes": [1], - "features": [1, 3], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -5460,16 +9883,31 @@ "legIntClaim": "https://integralads.com/ias-privacy-data-management/policies/" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://static.adsafeprotected.com/iab/ias.json" }, "279": { "id": 279, "name": "Mirando GmbH & Co KG", "purposes": [], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -5488,16 +9926,37 @@ "legIntClaim": "https://get.mirando.de/download/gdpr.php" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://get.mirando.de/download/gdpr.php" }, "280": { "id": 280, "name": "Open Web Technologies Ltd", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -5506,7 +9965,9 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "7": 365 }, + "purposes": { + "7": 365 + }, "specialPurposes": {} }, "urls": [ @@ -5516,17 +9977,38 @@ "legIntClaim": "https://www.openweb.com/legal-and-privacy/privacy/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://spotim-prd-static-assets.s3.amazonaws.com/iab/device-storage.json" }, "281": { "id": 281, "name": "Wizaly", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 8, 9], + "flexiblePurposes": [ + 7, + 8, + 9 + ], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -5549,19 +10031,36 @@ "legIntClaim": "https://www.wizaly.fr/mentions-legales#politique-de-confidentialite" } ], - "dataDeclaration": [1, 2, 5, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 5, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://t.wizaly.com/iab-tcf-vendor-device-storage-and-operational-disclosures.json" }, "282": { "id": 282, "name": "Welect GmbH", - "purposes": [1], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 1209600, "usesCookies": true, "cookieRefresh": true, @@ -5583,18 +10082,40 @@ "legIntClaim": "https://www.de.welect.de/en/privacy-policy/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.welect.de/deviceStorage.json" }, "284": { "id": 284, "name": "Weborama", - "purposes": [1, 3, 4, 5, 6, 10], - "legIntPurposes": [2, 7, 8, 9, 11], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 10 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 11 + ], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2], - "specialFeatures": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 33955200, "usesCookies": true, "cookieRefresh": false, @@ -5626,21 +10147,48 @@ "legIntClaim": "https://weborama.com/it/privacy-3/#interesse-legittimo" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://weborama.com/deviceStorage.json" }, "285": { "id": 285, "name": "Comcast International France SAS", - "purposes": [1, 2, 4], - "legIntPurposes": [7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": 15768000, - "usesCookies": true, - "cookieRefresh": true, + "purposes": [ + 1, + 2, + 4 + ], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 15768000, + "usesCookies": true, + "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 547, @@ -5679,17 +10227,41 @@ "legIntClaim": "https://www.freewheel.com/privacy-policy/de#tab2_section2_4" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://iab.fwmrm.net/g/devicedisclosure.json" }, "290": { "id": 290, "name": "Readpeak Oy", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 10], - "specialPurposes": [1, 2], - "features": [3], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -5697,8 +10269,13 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 180, - "purposes": { "7": 4320, "10": 4320 }, - "specialPurposes": { "2": 4320 } + "purposes": { + "7": 4320, + "10": 4320 + }, + "specialPurposes": { + "2": 4320 + } }, "urls": [ { @@ -5707,25 +10284,56 @@ "legIntClaim": "https://www.readpeak.com/terms/legitimate-interest-assessment-lia" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://static.readpeak.com/tcf/deviceStorage.json" }, "293": { "id": 293, "name": "SpringServe, LLC", - "purposes": [1], - "legIntPurposes": [2, 7, 8, 10, 11], - "flexiblePurposes": [2, 7, 8, 10, 11], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31449600, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 28, - "purposes": { "10": 90 }, + "purposes": { + "10": 90 + }, "specialPurposes": {} }, "urls": [ @@ -5735,19 +10343,48 @@ "legIntClaim": "https://springserve.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.springserve.com/springserve/devicestoragedisclosures.json" }, "294": { "id": 294, "name": "Jivox Corporation", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 32 }, + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -5764,16 +10401,37 @@ "legIntClaim": "https://www.jivox.com/privacy" } ], - "dataDeclaration": [1, 3, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 3, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.jivox.com/files/privacy/deviceStorage.json" }, "297": { "id": 297, "name": "Polar Mobile Group Inc.", "purposes": [], - "legIntPurposes": [2, 7, 8, 10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -5782,7 +10440,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 3650, - "purposes": { "2": 1095 }, + "purposes": { + "2": 1095 + }, "specialPurposes": {} }, "urls": [ @@ -5792,17 +10452,34 @@ "legIntClaim": "https://privacy.polar.me" } ], - "dataDeclaration": [1, 2, 6, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://static.polarcdn.com/iab/tcf2/vdsod.json" }, "301": { "id": 301, "name": "zeotap GmbH", - "purposes": [1, 3, 4, 5, 6, 9, 10], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -5819,38 +10496,74 @@ "privacy": "https://zeotap.com/product-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://spl.zeotap.com/assets/iab-disclosure.json" }, "302": { "id": 302, "name": "Mobile Professionals BV / Sage&Archer BV", - "purposes": [2], + "purposes": [ + 2 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [1], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "2": 0 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "2": 0 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "en", "privacy": "https://mobpro.com/privacy.html" } + { + "langId": "en", + "privacy": "https://mobpro.com/privacy.html" + } + ], + "dataDeclaration": [ + 8 ], - "dataDeclaration": [8], "deviceStorageDisclosureUrl": "https://static.sage-archer.com/choice/iab.json" }, "304": { "id": 304, "name": "On Device Research Limited", - "purposes": [1, 2, 3], + "purposes": [ + 1, + 2, + 3 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -5861,21 +10574,95 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://s.on-device.com/privacyPolicy" } + { + "langId": "en", + "privacy": "https://s.on-device.com/privacyPolicy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9 ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9], "deviceStorageDisclosureUrl": "https://on-device.com/deviceStorage.json" }, + "311": { + "id": 311, + "name": "Mobfox US LLC", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": 1209600, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 0, + "purposes": {}, + "specialPurposes": { + "1": 365 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.mobfox.com/privacy-policy/", + "legIntClaim": "https://www.mobfox.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 9 + ], + "deviceStorageDisclosureUrl": "https://old.mobfox.com/disclosures.json" + }, "312": { "id": 312, "name": "Exactag GmbH", - "purposes": [1, 7, 8], + "purposes": [ + 1, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 15552000, "usesCookies": true, "cookieRefresh": true, @@ -5892,16 +10679,39 @@ "legIntClaim": "https://exactag.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.exactag.com/.well-known/deviceStorage.json" }, "314": { "id": 314, "name": "Keymantics", - "purposes": [1, 2, 3, 4, 7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -5920,19 +10730,35 @@ "legIntClaim": "https://www.kmtx.com/privacy/" } ], - "dataDeclaration": [2, 6], + "dataDeclaration": [ + 2, + 6 + ], "deviceStorageDisclosureUrl": "https://cdn.keymantics.com/.well-known/deviceStorage.json" }, "317": { "id": 317, "name": "mainADV Srl", - "purposes": [1, 2, 3, 4, 5, 6, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -5949,17 +10775,43 @@ "legIntClaim": "https://www.mainad.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.mainad.com/deviceStorage.json" }, "318": { "id": 318, "name": "Accorp Sp. z o.o.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -5982,17 +10834,47 @@ "legIntClaim": "https://instytut-pollster.pl/privacy-policy/index.html" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://content.pollster.pl/deviceStorage" }, "321": { "id": 321, "name": "Ziff Davis LLC", - "purposes": [1, 3, 4, 5, 6, 9], - "legIntPurposes": [2, 7, 8, 10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [2], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -6000,7 +10882,13 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 1080, - "purposes": { "2": 360, "3": 360, "4": 360, "5": 360, "6": 360 }, + "purposes": { + "2": 360, + "3": 360, + "4": 360, + "5": 360, + "6": 360 + }, "specialPurposes": {} }, "urls": [ @@ -6015,18 +10903,46 @@ "legIntClaim": "https://www.ziffdavis.com/privacy-policy-f/#lawful" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://static.ziffdavis.com/jst/zdcookiedisclosure.json" }, "323": { "id": 323, "name": "Footballco Media Limited", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 34190000, "usesCookies": true, "cookieRefresh": true, @@ -6042,18 +10958,41 @@ "privacy": "https://www.goal.com/en-gb/legal/privacy-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.footballco.com/gvl-device-storage.json" }, "325": { "id": 325, "name": "Knorex", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 63071999, "usesCookies": true, "cookieRefresh": true, @@ -6070,16 +11009,30 @@ "legIntClaim": "https://www.knorex.com/privacy" } ], - "dataDeclaration": [3, 4, 7, 11], + "dataDeclaration": [ + 3, + 4, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.brand-display.com/gvl/deviceStorageDisclosure.json" }, "326": { "id": 326, "name": "AdTiming Technology Company Limited", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -6098,17 +11051,33 @@ "legIntClaim": "https://www.adtiming.com/en/privacypolicy.html" } ], - "dataDeclaration": [1, 2, 3, 6], + "dataDeclaration": [ + 1, + 2, + 3, + 6 + ], "deviceStorageDisclosureUrl": "https://img.adtiming.com/webrt/AdTiming.TCFv2.json" }, "328": { "id": 328, "name": "Gemius SA", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 157680000, "usesCookies": true, @@ -6116,7 +11085,12 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 1096, - "purposes": { "3": 1, "4": 30, "8": 1827, "10": 1827 }, + "purposes": { + "3": 1, + "4": 30, + "8": 1827, + "10": 1827 + }, "specialPurposes": {} }, "urls": [ @@ -6125,13 +11099,23 @@ "privacy": "https://www.gemius.com/privacy-policy.html" } ], - "dataDeclaration": [2, 3, 6, 10, 11], + "dataDeclaration": [ + 2, + 3, + 6, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://gemius.com/Gemius_SA_Vendor_Device_Storage.json" }, "329": { "id": 329, "name": "Browsi", - "purposes": [1, 7, 8], + "purposes": [ + 1, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -6142,31 +11126,61 @@ "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { - "purposes": { "7": 730, "8": 400 }, + "purposes": { + "7": 730, + "8": 400 + }, "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://browsi.com/privacy-policy-2/" } + { + "langId": "en", + "privacy": "https://browsi.com/privacy-policy-2/" + } + ], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 11 ], - "dataDeclaration": [1, 2, 4, 6, 11], "deviceStorageDisclosureUrl": "https://cdn.browsiprod.com/ads/tcf.json" }, "331": { "id": 331, "name": "ad6media", - "purposes": [1, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 730, - "purposes": { "3": 365, "4": 365 }, + "purposes": { + "3": 365, + "4": 365 + }, "specialPurposes": {} }, "urls": [ @@ -6176,26 +11190,62 @@ "legIntClaim": "https://www.ad6media.fr/privacy" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.ad6media.fr/tcf.json" }, "333": { "id": 333, "name": "InMobi Pte Ltd", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 395, - "purposes": { "2": 30 }, - "specialPurposes": { "1": 30, "2": 30 } + "purposes": { + "2": 30 + }, + "specialPurposes": { + "1": 30, + "2": 30 + } }, "urls": [ { @@ -6214,19 +11264,42 @@ "legIntClaim": "https://www.inmobi.com/privacy-policy-es" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://publisher.inmobi.com/public/disclosure" }, "336": { "id": 336, "name": "Telecoming S.A.", "purposes": [], - "legIntPurposes": [2, 7, 9], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [3], + "legIntPurposes": [ + 2, + 7, + 9 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -6243,17 +11316,46 @@ "legIntClaim": "https://www.telecoming.com/privacy-policy/" } ], - "dataDeclaration": [1, 3, 4], + "dataDeclaration": [ + 1, + 3, + 4 + ], "deviceStorageDisclosureUrl": "https://telecoming.rtb.lynxio.org/deviceStorageDisclosureURL.json" }, "337": { "id": 337, "name": "SheMedia, LLC", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -6271,18 +11373,50 @@ "legIntClaim": "https://www.shemedia.com/ad-services-privacy-policy" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ads.shemedia.com/static/tcfdisclosures.json" }, "343": { "id": 343, "name": "DIGITEKA Technologies", - "purposes": [1], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34300800, "usesCookies": true, "cookieRefresh": false, @@ -6299,18 +11433,39 @@ "legIntClaim": "https://www.ultimedia.com/default/presentation/politiqueconfidentialite" } ], - "dataDeclaration": [1, 2, 6, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.ultimedia.com/deliver/documents/disclosures" }, "345": { "id": 345, "name": "The Kantar Group Limited", - "purposes": [1, 7, 8, 9, 10], + "purposes": [ + 1, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 78892380, "usesCookies": true, "cookieRefresh": true, @@ -6321,20 +11476,40 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.kantar.com/cookies-policies" } + { + "langId": "en", + "privacy": "https://www.kantar.com/cookies-policies" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], "deviceStorageDisclosureUrl": "https://secure.insightexpressai.com/DeviceStorageDisclosure.json" }, "347": { "id": 347, "name": "Ezoic Inc.", - "purposes": [1, 7, 8, 9, 10], + "purposes": [ + 1, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [1], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 220752000, "usesCookies": true, "cookieRefresh": true, @@ -6344,20 +11519,55 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://www.ezoic.com/terms/" }], - "dataDeclaration": [1, 2, 6, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://www.ezoic.com/terms/" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.ezodn.com/storage_disclosure.json" }, "350": { "id": 350, "name": "Samba TV, Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 33696000, "usesCookies": true, "cookieRefresh": true, @@ -6374,7 +11584,9 @@ "9": 1125, "10": 1125 }, - "specialPurposes": { "1": 1125 } + "specialPurposes": { + "1": 1125 + } }, "urls": [ { @@ -6533,19 +11745,52 @@ "legIntClaim": "https://samba.tv/users/privacy-policy?lang=sr#sec-11" } ], - "dataDeclaration": [1, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ads.samba.tv/disclosures.json" }, "351": { "id": 351, "name": "Samba TV UK Limited", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 33696000, "usesCookies": true, "cookieRefresh": true, @@ -6562,7 +11807,9 @@ "9": 1125, "10": 1125 }, - "specialPurposes": { "1": 1125 } + "specialPurposes": { + "1": 1125 + } }, "urls": [ { @@ -6721,16 +11968,37 @@ "legIntClaim": "https://samba.tv/users/privacy-policy?lang=hr#sec-11" } ], - "dataDeclaration": [1, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://pixel.mtrcs.samba.tv/disclosures.json" }, "354": { "id": 354, "name": "Apester Ltd", - "purposes": [2, 3, 4], - "legIntPurposes": [7, 8, 10], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], + "purposes": [ + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 34560000, @@ -6749,17 +12017,40 @@ "legIntClaim": "https://apester.com/privacy-policy/" } ], - "dataDeclaration": [3, 6, 7, 8], + "dataDeclaration": [ + 3, + 6, + 7, + 8 + ], "deviceStorageDisclosureUrl": "https://apester.com/vendor-list.json" }, "358": { "id": 358, "name": "MGID Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -6777,17 +12068,34 @@ "legIntClaim": "https://www.mgid.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.mgid.com/assets/devicestorage.json" }, "361": { "id": 361, "name": "Permutive Limited", - "purposes": [2, 4, 8, 9], + "purposes": [ + 2, + 4, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 1578000, "usesCookies": true, @@ -6798,19 +12106,49 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://permutive.com/privacy/" }], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://permutive.com/privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://assets.permutive.app/tcf/tcf.json" }, "368": { "id": 368, "name": "VECTAURY", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -6827,18 +12165,50 @@ "legIntClaim": "https://www.mobsuccess.com/en/privacy" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.mobsuccess.com/deviceStorage.json" }, "371": { "id": 371, "name": "Seeding Alliance GmbH", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 315360000, "usesCookies": true, "cookieRefresh": true, @@ -6855,17 +12225,31 @@ "legIntClaim": "https://seeding-alliance.de/datenschutz/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://s.nativendo.de/cdn/asset/tcf/purpose-specific-storage-and-access-information.json" }, "373": { "id": 373, "name": "Nielsen Media Research Ltd.", - "purposes": [1, 3], - "legIntPurposes": [10], + "purposes": [ + 1, + 3 + ], + "legIntPurposes": [ + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 10368000, "usesCookies": true, @@ -6873,7 +12257,9 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 396, - "purposes": { "3": 45 }, + "purposes": { + "3": 45 + }, "specialPurposes": {} }, "urls": [ @@ -6903,17 +12289,39 @@ "legIntClaim": "https://www.nielsen.com/de/legal/privacy-principles/nielsen-marketing-cloud-services-privacy-statement/#legal-basis" } ], - "dataDeclaration": [1, 2, 3, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://iab-privacy-disclosure.exelator.com/" }, "374": { "id": 374, "name": "Bmind a Sales Maker Company, S.L.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -6931,17 +12339,32 @@ "legIntClaim": "https://jakala.es/politica-privacidad/" } ], - "dataDeclaration": [3, 6], + "dataDeclaration": [ + 3, + 6 + ], "deviceStorageDisclosureUrl": "https://cdn.bmind.es/bmindstoreageoperationaldisclosures.json" }, "375": { "id": 375, "name": "RevX", - "purposes": [2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -6952,19 +12375,56 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://revx.io/privacy-policy" }], - "dataDeclaration": [1, 2, 3, 6, 10, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://revx.io/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://storage.googleapis.com/revx-product/privacy/tcf/deviceStorage/device_storage_disclosure.json" }, "377": { "id": 377, "name": "AddApptr GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 8, 9], - "legIntPurposes": [7, 10], - "flexiblePurposes": [7, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9 + ], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -6986,16 +12446,34 @@ "legIntClaim": "https://www.gravite.net/data-privacy" } ], - "dataDeclaration": [2, 3, 6, 9], + "dataDeclaration": [ + 2, + 3, + 6, + 9 + ], "deviceStorageDisclosureUrl": "https://addapptr.com/tcfDeviceStorageDisclosures.json" }, "378": { "id": 378, "name": "communicationAds GmbH & Co. KG", - "purposes": [1], - "legIntPurposes": [2, 7, 11], - "flexiblePurposes": [2, 7, 11], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, @@ -7004,8 +12482,12 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 0, - "purposes": { "7": 180 }, - "specialPurposes": { "1": 3650 } + "purposes": { + "7": 180 + }, + "specialPurposes": { + "1": 3650 + } }, "urls": [ { @@ -7014,19 +12496,53 @@ "legIntClaim": "https://www.communicationads.net/de-de/ueberuns/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.communicationads.net/tcf-ca-crX5slZk63jtV.json" }, "382": { "id": 382, "name": "The Reach Group GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -7048,17 +12564,34 @@ "legIntClaim": "https://trg.de/datenschutzerklarung/" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://hal9000.redintelligence.net/privacy/tcf/deviceStorage/2723ad85dc4fd6c3.json" }, "385": { "id": 385, "name": "Oracle Advertising", - "purposes": [1, 3, 5, 9, 10], + "purposes": [ + 1, + 3, + 5, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -7075,17 +12608,42 @@ "privacy": "https://www.oracle.com/legal/privacy/advertising-privacy-policy.html" } ], - "dataDeclaration": [2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://datacloudoptout.oracle.com/gdpr-tcf/Oracle_Audience_Platform_TCF2Disclosures.json" }, "388": { "id": 388, "name": "Numberly", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -7097,20 +12655,61 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://numberly.com/en/privacy/" }, - { "langId": "fr", "privacy": "https://numberly.com/fr/privacy-fr/" } + { + "langId": "en", + "privacy": "https://numberly.com/en/privacy/" + }, + { + "langId": "fr", + "privacy": "https://numberly.com/fr/privacy-fr/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], "deviceStorageDisclosureUrl": "https://dco.mmtro.com/a?tagid=6575638-eec14e25c2d8ce8f341c134e24e9de46&campid=0&banid=2712&output=json" }, "394": { "id": 394, "name": "AudienceProject Aps", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -7128,27 +12727,64 @@ "legIntClaim": "https://privacy.audienceproject.com/en-GB/for-users/privacy-policy#transparency-and-consent-framework-tcf" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://sak.userreport.com/tcf.json" }, "397": { "id": 397, "name": "Demandbase, Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 390, - "purposes": { "2": 1 }, - "specialPurposes": { "1": 90, "2": 90 } + "purposes": { + "2": 1 + }, + "specialPurposes": { + "1": 90, + "2": 90 + } }, "urls": [ { @@ -7157,23 +12793,46 @@ "legIntClaim": "https://www.demandbase.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://s.company-target.com/tcf.json" }, "402": { "id": 402, "name": "Effiliation / Effinity", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [7], + "flexiblePurposes": [ + 7 + ], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 108000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "7": 30 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 30 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "fr", @@ -7181,17 +12840,28 @@ "legIntClaim": "https://www.effinity.fr/politique-de-confidentialite/" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://hosting.effiliation.com/deviceStorage.json" }, "410": { "id": 410, "name": "Adtelligent Inc.", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 8035200, "usesCookies": true, @@ -7200,7 +12870,9 @@ "dataRetention": { "stdRetention": 90, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -7209,17 +12881,45 @@ "legIntClaim": "https://adtelligent.com/tos/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://adtelligent.com/.well-known/deviceStorage.json" }, "412": { "id": 412, "name": "Piano Software Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11], - "legIntPurposes": [], - "flexiblePurposes": [8, 9, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 8, + 9, + 11 + ], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -7237,17 +12937,41 @@ "legIntClaim": "https://www.piano.io/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.cxense.com/.well-known/deviceStorage.json" }, "413": { "id": 413, "name": "Eulerian Technologies", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 33696000, "usesCookies": true, @@ -7259,12 +12983,30 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.eulerian.com/en/privacy/" }, - { "langId": "fr", "privacy": "https://www.eulerian.com/vie-privee" }, - { "langId": "es", "privacy": "https://www.eulerian.com/es/privacidad" }, - { "langId": "it", "privacy": "https://www.eulerian.com/it/privacy" } + { + "langId": "en", + "privacy": "https://www.eulerian.com/en/privacy/" + }, + { + "langId": "fr", + "privacy": "https://www.eulerian.com/vie-privee" + }, + { + "langId": "es", + "privacy": "https://www.eulerian.com/es/privacidad" + }, + { + "langId": "it", + "privacy": "https://www.eulerian.com/it/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 7 ], - "dataDeclaration": [1, 2, 3, 5, 7], "deviceStorageDisclosureUrl": "https://eu.euleriancdn.net/ea-rt/tcfDeviceStorage.json" }, "415": { @@ -7273,14 +13015,21 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "2": 0 } }, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "2": 0 + } + }, "urls": [ { "langId": "en", @@ -7288,17 +13037,34 @@ "legIntClaim": "https://seenthis.co/privacypolicy/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://video.seenthis.se/public/data_storage_disclosures.json" }, "416": { "id": 416, "name": "Commanders Act", - "purposes": [1, 2, 3, 4, 5, 6, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -7306,7 +13072,10 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 90, - "purposes": { "7": 730, "10": 30 }, + "purposes": { + "7": 730, + "10": 30 + }, "specialPurposes": {} }, "urls": [ @@ -7327,13 +13096,20 @@ "privacy": "https://www.commandersact.com/it/privacy/" } ], - "dataDeclaration": [1, 3], + "dataDeclaration": [ + 1, + 3 + ], "deviceStorageDisclosureUrl": "https://cdn.trustcommander.net/iab-v2/additional_vendor_information_list.json" }, "422": { "id": 422, "name": "Brand Metrics Sweden AB", - "purposes": [1, 7, 8], + "purposes": [ + 1, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -7355,18 +13131,38 @@ "legIntClaim": "https://collector.brandmetrics.com/brandmetrics_privacypolicy.pdf" } ], - "dataDeclaration": [6, 7], + "dataDeclaration": [ + 6, + 7 + ], "deviceStorageDisclosureUrl": "https://collector.brandmetrics.com/deviceStorageDisclosure.json" }, "423": { "id": 423, "name": "travel audience GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], - "specialFeatures": [1], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34300800, "usesCookies": true, "cookieRefresh": true, @@ -7382,13 +13178,31 @@ "privacy": "https://www.amadeus-hospitality.com/ta-product-privacy-notice/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 9, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://ads.travelaudience.com/deviceStorage.json" }, "424": { "id": 424, "name": "KUPONA GmbH", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -7409,18 +13223,37 @@ "privacy": "https://www.kupona.de/dsgvo/#datenschutzerklaerung" } ], - "dataDeclaration": [1, 2, 3, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://opt.kuponacdn.de/tcf.json" }, "427": { "id": 427, "name": "Proxi.cloud sp. z o.o.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], - "specialFeatures": [1], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -7431,20 +13264,38 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://proxi.cloud/privacy-policy/" } + { + "langId": "en", + "privacy": "https://proxi.cloud/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 9, + 11 ], - "dataDeclaration": [1, 2, 3, 9, 11], "deviceStorageDisclosureUrl": "https://developer.proxi.cloud/vendor-disclosures.json" }, "431": { "id": 431, "name": "HUMAN", "purposes": [], - "legIntPurposes": [10], + "legIntPurposes": [ + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -7461,17 +13312,35 @@ "legIntClaim": "https://www.humansecurity.com/privacy" } ], - "dataDeclaration": [1, 2, 3, 4, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8 + ], "deviceStorageDisclosureUrl": "https://humansecurity.com/hubfs/devicestoragedisclosure.json" }, "434": { "id": 434, "name": "DynAdmic", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -7489,18 +13358,43 @@ "legIntClaim": "https://eu.dynadmic.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.dynadmic.com/device-storage-disclosures.json" }, "435": { "id": 435, "name": "SINGLESPOT SAS ", - "purposes": [1, 3, 4, 7, 9], + "purposes": [ + 1, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -7517,17 +13411,48 @@ "legIntClaim": "https://www.singlespot.com/privacy_policy" } ], - "dataDeclaration": [1, 2, 3, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://singlespot-public.s3.eu-west-1.amazonaws.com/disclosures.json" }, "436": { "id": 436, "name": "INVIBES GROUP", - "purposes": [1, 3, 4, 5, 6, 9], - "legIntPurposes": [2, 7, 8, 10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -7545,17 +13470,43 @@ "legIntClaim": "https://www.invibes.com/terms.html" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.invibes.com/deviceStorage.json" }, "438": { "id": 438, "name": "INVIDI technologies AB", - "purposes": [1, 2, 3, 4, 7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 315360000, "usesCookies": true, @@ -7563,7 +13514,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 30, - "purposes": { "3": 0, "7": 765, "9": 765 }, + "purposes": { + "3": 0, + "7": 765, + "9": 765 + }, "specialPurposes": {} }, "urls": [ @@ -7573,17 +13528,41 @@ "legIntClaim": "https://www.invidi.com/privacy-policy-ad-tech-services/#legal-basis" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://storage.googleapis.com/iab-consent-framework/device-storage.json" }, "440": { "id": 440, "name": "DEFINE MEDIA GMBH", - "purposes": [1, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -7601,19 +13580,46 @@ "legIntClaim": "https://definemedia.de/de/datenschutz-conative" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://definemedia.de/tcf/deviceStorageDisclosureURL.json" }, "448": { "id": 448, "name": "Targetspot Belgium SPRL", - "purposes": [1, 2, 7, 9], + "purposes": [ + 1, + 2, + 7, + 9 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "flexiblePurposes": [ + 2, + 7, + 9 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -7630,18 +13636,39 @@ "legIntClaim": "https://www.targetspot.com/privacy-policy/" } ], - "dataDeclaration": [1, 4, 11], + "dataDeclaration": [ + 1, + 4, + 11 + ], "deviceStorageDisclosureUrl": "https://www.targetspot.com/gdpr.json" }, "450": { "id": 450, "name": "Blendee srl", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31556952, "usesCookies": true, "cookieRefresh": true, @@ -7658,17 +13685,42 @@ "legIntClaim": "https://www.neodatagroup.com/en/services-privacy-policy-en/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://support.neodatagroup.com/deviceStorage.json" }, "452": { "id": 452, "name": "Innovid LLC", - "purposes": [1, 4], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [1, 2], + "purposes": [ + 1, + 4 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -7686,17 +13738,31 @@ "legIntClaim": "https://www.innovid.com/privacy-policy/#additional-information-europe-residents" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://iab.inbake.com/Innovid-IAB-TCFv2-disclosure.json" }, "459": { "id": 459, "name": "uppr GmbH", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -7714,18 +13780,45 @@ "legIntClaim": "https://uppr.emcustomers.de/api/tcf/definitions/disclosures.json" } ], - "dataDeclaration": [7], + "dataDeclaration": [ + 7 + ], "deviceStorageDisclosureUrl": "https://uppr.emcustomers.de/api/tcf/definitions/disclosures.json" }, "461": { "id": 461, "name": "B2B Media Group GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -7747,16 +13840,30 @@ "legIntClaim": "https://www.b2bmg.com/de/datenschutz" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://b2biq.net/iab_vendor_storage.json" }, "466": { "id": 466, "name": "Papirfly AS", "purposes": [], - "legIntPurposes": [7], + "legIntPurposes": [ + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -7765,7 +13872,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 0, - "purposes": { "7": 4320 }, + "purposes": { + "7": 4320 + }, "specialPurposes": {} }, "urls": [ @@ -7775,17 +13884,38 @@ "legIntClaim": "https://tacticrealtime.com/privacy/dsar/" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://tacticrealtime.com/privacy/iab-device-storage.json" }, "468": { "id": 468, "name": "Neustar, Inc., a TransUnion company", - "purposes": [1, 3], - "legIntPurposes": [7, 8, 9, 10], - "flexiblePurposes": [7, 8, 9, 10], - "specialPurposes": [1], - "features": [1, 2, 3], + "purposes": [ + 1, + 3 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -7803,15 +13933,37 @@ "legIntClaim": "https://www.home.neustar/privacy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://gdpr-tcf.agkn.com/NeustarDeviceStorage.json" }, "473": { "id": 473, "name": "Sub2 Technologies Ltd", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], + "flexiblePurposes": [ + 2, + 7, + 10 + ], "specialPurposes": [], "features": [], "specialFeatures": [], @@ -7831,25 +13983,50 @@ "legIntClaim": "https://www.sub2tech.com/privacy-policy/" } ], - "dataDeclaration": [6, 8, 10], + "dataDeclaration": [ + 6, + 8, + 10 + ], "deviceStorageDisclosureUrl": "https://cdn.sub2tech.com/privacy/devicestorage.json" }, "475": { "id": 475, "name": "TAPTAP Digital SL", - "purposes": [1, 2, 3, 4, 7, 9], - "legIntPurposes": [10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], + "legIntPurposes": [ + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 1576800, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 3650, - "purposes": { "2": 0, "3": 190, "4": 0, "9": 190 }, + "purposes": { + "2": 0, + "3": 190, + "4": 0, + "9": 190 + }, "specialPurposes": {} }, "urls": [ @@ -7859,17 +14036,37 @@ "legIntClaim": "https://www.taptapdigital.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://public.sonataplatform.com/iab/tcf/deviceStorageDisclosure.json" }, "479": { "id": 479, "name": "INFINIA MOBILE S.L.", - "purposes": [2, 3, 4, 7, 9], + "purposes": [ + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -7892,17 +14089,34 @@ "legIntClaim": "https://www.infiniamobile.com/avisopolitica-us.html#pri" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.infiniamobile.com/tcf/tcf2.0.json" }, "486": { "id": 486, "name": "Madington", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [3], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -7920,16 +14134,36 @@ "legIntClaim": "https://delivered-by-madington.com/dat-privacy-policy/index.html" } ], - "dataDeclaration": [1, 2, 4, 8], + "dataDeclaration": [ + 1, + 2, + 4, + 8 + ], "deviceStorageDisclosureUrl": "https://s3.eu-west-1.amazonaws.com/delivered-by-madington.com/.well-known/device-storage.json" }, "488": { "id": 488, "name": "Opinary GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 5184000, @@ -7938,7 +14172,13 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "2": 60, "3": 0, "4": 60, "5": 0, "7": 60 }, + "purposes": { + "2": 60, + "3": 0, + "4": 60, + "5": 0, + "7": 60 + }, "specialPurposes": {} }, "urls": [ @@ -7953,16 +14193,37 @@ "legIntClaim": "https://opinary.com/opt-out" } ], - "dataDeclaration": [1, 2, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.opinary.com/.well-known/device-storage.json" }, "490": { "id": 490, "name": "PLAYGROUND XYZ EMEA LTD", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, @@ -7971,8 +14232,12 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 45, - "purposes": { "10": 0 }, - "specialPurposes": { "1": 30 } + "purposes": { + "10": 0 + }, + "specialPurposes": { + "1": 30 + } }, "urls": [ { @@ -7981,13 +14246,29 @@ "legIntClaim": "https://playground.xyz/privacy" } ], - "dataDeclaration": [1, 2, 6, 8], + "dataDeclaration": [ + 1, + 2, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://playground.xyz/tcf-disclosure.json" }, "491": { "id": 491, "name": "SevenData S.p.a.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -8008,17 +14289,47 @@ "privacy": "https://www.shinystat.com/it/informativa_privacy_generale.html" } ], - "dataDeclaration": [2, 3, 4, 6], + "dataDeclaration": [ + 2, + 3, + 4, + 6 + ], "deviceStorageDisclosureUrl": "https://www.shinystat.com/shinystat_cookie.json" }, "493": { "id": 493, "name": "Magnite, Inc. (Carbon AI Limited)", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11], - "legIntPurposes": [10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 11 + ], + "legIntPurposes": [ + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7689600, "usesCookies": true, @@ -8036,19 +14347,41 @@ "legIntClaim": "https://www.magnite.com/legal/advertising-technology-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://nai-edge.ccgateway.net/privacy/disclosure" }, "495": { "id": 495, "name": "Arcspire Limited", - "purposes": [2, 7, 9, 10], + "purposes": [ + 2, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -8065,17 +14398,38 @@ "legIntClaim": "https://public.arcspire.io/privacy.pdf" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://public.arcspire.io/disclosures.json" }, "496": { "id": 496, "name": "Automattic Ads", - "purposes": [1, 2, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -8083,7 +14437,10 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 4320, - "purposes": { "2": 730, "4": 90 }, + "purposes": { + "2": 730, + "4": 90 + }, "specialPurposes": {} }, "urls": [ @@ -8093,17 +14450,35 @@ "legIntClaim": "https://automattic.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://c0.pubmine.com/device-storage.json" }, "497": { "id": 497, "name": "Little Big Data sp. z o.o.", - "purposes": [1, 3, 9], + "purposes": [ + 1, + 3, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 94608001, "usesCookies": true, @@ -8121,18 +14496,38 @@ "legIntClaim": "https://www.dataexchanger.pl/privacy-policy" } ], - "dataDeclaration": [2, 6, 8], + "dataDeclaration": [ + 2, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://dtxngr.com/additional-vendor-information-list.json" }, "498": { "id": 498, "name": "Arago", - "purposes": [1, 2, 3, 4, 6, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 6, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -8149,17 +14544,36 @@ "legIntClaim": "https://arago.com/fr/politique-de-confidentialite/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://resourcekeys.com/deviceStorageDisclosure.json" }, "501": { "id": 501, "name": "Alliance Gravity Data Media", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -8167,7 +14581,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 60, - "purposes": { "4": 4320 }, + "purposes": { + "4": 4320 + }, "specialPurposes": {} }, "urls": [ @@ -8176,17 +14592,36 @@ "privacy": "https://www.alliancegravity.com/politiquedeprotectiondesdonneespersonnelles" } ], - "dataDeclaration": [1, 2, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.alliancegravity.com/tcf-vendor-info.json" }, "506": { "id": 506, "name": "Salesforce.com, Inc.", - "purposes": [1, 3, 5, 7, 8, 9, 10], + "purposes": [ + 1, + 3, + 5, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -8227,18 +14662,53 @@ "privacy": "https://www.salesforce.com/fr/company/privacy/full_privacy/" } ], - "dataDeclaration": [2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://console.krux.com/api/gdpr/tcf_json" }, "507": { "id": 507, "name": "AdsWizz Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -8255,17 +14725,43 @@ "legIntClaim": "https://www.adswizz.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.adswizz.com/deviceStorage.json" }, "508": { "id": 508, "name": "Lucid Holdings, LLC", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 8, 9], - "specialPurposes": [1], - "features": [1, 2, 3], + "flexiblePurposes": [ + 7, + 8, + 9 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -8283,15 +14779,28 @@ "legIntClaim": "https://luc.id/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://connect.cint.com/lucid-tcfv2.json" }, "509": { "id": 509, "name": "One Tech Group GmbH", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], + "flexiblePurposes": [ + 2, + 7 + ], "specialPurposes": [], "features": [], "specialFeatures": [], @@ -8316,19 +14825,42 @@ "legIntClaim": "https://onetech.group/datenschutz/" } ], - "dataDeclaration": [2, 8], + "dataDeclaration": [ + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://oadts.com/tcf/dsdurl.json" }, "511": { "id": 511, "name": "Admixer EU GmbH", - "purposes": [1, 2, 3, 4, 5, 7, 9], - "legIntPurposes": [10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 7, + 9 + ], + "legIntPurposes": [ + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -8345,26 +14877,52 @@ "legIntClaim": "https://admixer.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://admixer.com/tcf.json" }, "512": { "id": 512, "name": "Verve Group Europe GmbH", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 365, - "purposes": { "7": 4320, "10": 4320 }, - "specialPurposes": { "2": 0 } + "purposes": { + "7": 4320, + "10": 4320 + }, + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -8373,13 +14931,35 @@ "legIntClaim": "https://pubnative.net/privacy-notice/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://resources.verve.com/hubfs/deviceStorage.json" }, "516": { "id": 516, "name": "Pexi B.V.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -8395,21 +14975,41 @@ "specialPurposes": {} }, "urls": [ - { "langId": "nl", "privacy": "https://pexi.nl/privacy-policy/" } + { + "langId": "nl", + "privacy": "https://pexi.nl/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3 ], - "dataDeclaration": [1, 2, 3], "deviceStorageDisclosureUrl": "https://dash.pexi.nl/api/public/device-storage-url.json" }, "517": { "id": 517, "name": "SunMedia ", - "purposes": [1, 2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 10368000, "usesCookies": true, "cookieRefresh": false, @@ -8424,15 +15024,26 @@ "langId": "en", "privacy": "https://www.sunmedia.tv/en/cookies-users/" }, - { "langId": "es", "privacy": "https://www.sunmedia.tv/cookies-users/" } + { + "langId": "es", + "privacy": "https://www.sunmedia.tv/cookies-users/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8 ], - "dataDeclaration": [1, 2, 3, 4, 8], "deviceStorageDisclosureUrl": "https://vod.sunmedia.tv/sunmedia/cookies.json" }, "521": { "id": 521, "name": "netzeffekt GmbH", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -8442,7 +15053,10 @@ "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": {} }, + "dataRetention": { + "purposes": {}, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -8455,18 +15069,35 @@ "legIntClaim": "https://www.netzeffekt.de/datenschutzerklarung" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://nfx-cdn.s3.eu-central-1.amazonaws.com/tcf/deviceStorage.json" }, "524": { "id": 524, "name": "The Ozone Project Limited", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -8483,19 +15114,52 @@ "legIntClaim": "https://www.ozoneproject.com/legitimate-interest-test" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://prebid.the-ozone-project.com/deviceStorage.json" }, "530": { "id": 530, "name": "Near Intelligence Pte. Ltd.", - "purposes": [2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -8512,18 +15176,38 @@ "legIntClaim": "https://near.com/privacy-policy/#services-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://near.com/iab/disclosures.json" }, "531": { "id": 531, "name": "Smartclip Hispania S.L.", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 0, "usesCookies": true, "cookieRefresh": false, @@ -8533,18 +15217,47 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "es", "privacy": "https://rgpd-smartclip.com/" }], - "dataDeclaration": [1, 3, 4, 6, 7, 8, 10], - "deviceStorageDisclosureUrl": "https://cdn.smartclip-services.com/.well-known/deviceStorage.json" - }, - "535": { - "id": 535, - "name": "INNITY", - "purposes": [1, 2, 4, 5, 6, 7, 8, 9, 10], + "urls": [ + { + "langId": "es", + "privacy": "https://rgpd-smartclip.com/" + } + ], + "dataDeclaration": [ + 1, + 3, + 4, + 6, + 7, + 8, + 10 + ], + "deviceStorageDisclosureUrl": "https://cdn.smartclip-services.com/.well-known/deviceStorage.json" + }, + "535": { + "id": 535, + "name": "INNITY", + "purposes": [ + 1, + 2, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -8561,7 +15274,10 @@ "9": 720, "10": 720 }, - "specialPurposes": { "1": 365, "2": 365 } + "specialPurposes": { + "1": 365, + "2": 365 + } }, "urls": [ { @@ -8570,17 +15286,31 @@ "legIntClaim": "https://www.innity.com/privacy-policy.php" } ], - "dataDeclaration": [1, 4, 6, 11], + "dataDeclaration": [ + 1, + 4, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://www.advenueplatform.com/tcf" }, "536": { "id": 536, "name": "GlobalWebIndex", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31622400, "usesCookies": true, @@ -8597,17 +15327,37 @@ "privacy": "https://legal.trendstream.net/non-panellist_privacy_policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://gwiq.globalwebindex.net/tcf2/deviceStorage.json" }, "539": { "id": 539, "name": "AdDefend GmbH", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, @@ -8625,23 +15375,41 @@ "legIntClaim": "https://www.addefend.com/en/privacy-policy/" } ], - "dataDeclaration": [1, 2, 4], + "dataDeclaration": [ + 1, + 2, + 4 + ], "deviceStorageDisclosureUrl": "https://www.addefend.com/deviceStorage.json" }, "544": { "id": 544, "name": "Kochava Inc.", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 395 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 395 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -8668,18 +15436,39 @@ "privacy": "https://www.kochava.com/support-privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://iab.kochava.com/DeviceStorageDisclosure.json" }, "546": { "id": 546, "name": "Smart Traffik", - "purposes": [1, 3, 7], + "purposes": [ + 1, + 3, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 34187400, "usesCookies": true, "cookieRefresh": true, @@ -8687,7 +15476,9 @@ "dataRetention": { "stdRetention": 730, "purposes": {}, - "specialPurposes": { "1": 90 } + "specialPurposes": { + "1": 90 + } }, "urls": [ { @@ -8701,17 +15492,37 @@ "legIntClaim": "https://okube-attribution.com/en/privacy-policy/privacy-policy-details-of-the-smartbox-data-source/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://std-prod-static-crossorigin.s3.eu-west-1.amazonaws.com/public/deviceStorage.json" }, "549": { "id": 549, "name": "Bandsintown Amplified LLC", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 3600, "usesCookies": true, @@ -8729,18 +15540,38 @@ "legIntClaim": "https://cp.tonefuse.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.clickfuse.com/compliance/storage.json" }, "554": { "id": 554, "name": "Radio Marketing Service interactive GmbH", - "purposes": [7, 9, 10], + "purposes": [ + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -8757,17 +15588,38 @@ "legIntClaim": "https://rms.de/datenschutz" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://rms.de/RMS_Deutschland/iab_tcf/rmsi.json" }, "565": { "id": 565, "name": "Adobe Audience Manager, Adobe Experience Platform", - "purposes": [1, 10], + "purposes": [ + 1, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -8785,18 +15637,48 @@ "legIntClaim": "https://www.adobe.com/privacy/policy.html" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://aam-iab-tcf-vendor.s3.amazonaws.com/aam_device_storage_disclosures.json" }, "568": { "id": 568, "name": "Next Media SRL", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, "cookieRefresh": true, @@ -8807,20 +15689,47 @@ "specialPurposes": {} }, "urls": [ - { "langId": "it", "privacy": "https://next14.com/media/privacy" } + { + "langId": "it", + "privacy": "https://next14.com/media/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], "deviceStorageDisclosureUrl": "https://js.datafront.co/next14_dmp_device_storage_information.json" }, "569": { "id": 569, "name": "Kairos Fire", - "purposes": [1, 7, 8, 9, 10], + "purposes": [ + 1, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 8, 9, 10], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -8842,17 +15751,32 @@ "legIntClaim": "https://www.kairosfire.com/fr/mentions-legales/" } ], - "dataDeclaration": [2, 3, 8, 9, 11], + "dataDeclaration": [ + 2, + 3, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.kairosfire.com/kairos_device_storage_disclosure.json" }, "570": { "id": 570, "name": "Czech Publisher Exchange z.s.p.o.", - "purposes": [1, 3, 9, 10], + "purposes": [ + 1, + 3, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31622389, "usesCookies": true, @@ -8869,17 +15793,40 @@ "privacy": "https://www.cpex.cz/pro-uzivatele/ochrana-soukromi/" } ], - "dataDeclaration": [1, 2, 5, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 5, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cpex.cz/storagedisclosure.json" }, "571": { "id": 571, "name": "ViewPay", - "purposes": [1, 2, 4, 7, 10], + "purposes": [ + 1, + 2, + 4, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, @@ -8897,7 +15844,10 @@ "legIntClaim": "http://viewpay.tv/mentions-legales/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://viewpay.tv/file.json" }, "572": { @@ -8906,9 +15856,17 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -8925,19 +15883,49 @@ "legIntClaim": "https://cheq.ai/privacy-policy/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://cheq.ai/tcf2.json" }, "573": { "id": 573, "name": "Dailymotion SA", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 34214390, "usesCookies": true, "cookieRefresh": false, @@ -8954,7 +15942,9 @@ "10": 2192, "11": 30 }, - "specialPurposes": { "1": 1096 } + "specialPurposes": { + "1": 1096 + } }, "urls": [ { @@ -8968,18 +15958,51 @@ "legIntClaim": "https://legal.dailymotion.com/en/legitimate-interest/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://statics.dmcdn.net/a/vds.json" }, "580": { "id": 580, "name": "Goldbach Group AG", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 94670856, "usesCookies": true, "cookieRefresh": false, @@ -9006,26 +16029,64 @@ "legIntClaim": "https://goldbach.com/ch/fr/politique-de-confidentialite/goldbach-group" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://gb-next.ch/TcfGoldbachDeviceStorage.json" }, "581": { "id": 581, "name": "Mobilewalla, Inc.", - "purposes": [3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 365, - "purposes": { "4": 360 }, + "purposes": { + "4": 360 + }, "specialPurposes": {} }, "urls": [ @@ -9035,18 +16096,43 @@ "legIntClaim": "https://www.mobilewalla.com/business-services-privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://4309344.fs1.hubspotusercontent-na1.net/hubfs/4309344/IAB%20TCF%20Files/MW_TCFv2_vendor_disclosure.json" }, "584": { "id": 584, "name": "Dynamic 1001 GmbH", - "purposes": [1, 7, 10], + "purposes": [ + 1, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 10], - "specialPurposes": [2], - "features": [3], - "specialFeatures": [2], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": false, @@ -9063,25 +16149,40 @@ "legIntClaim": "https://dynamic-tracking.com/Modules/Common/Kontakt.aspx" } ], - "dataDeclaration": [2, 6], + "dataDeclaration": [ + 2, + 6 + ], "deviceStorageDisclosureUrl": "https://dynamic-tracking.com/device_storage_disclosure.json" }, "587": { "id": 587, "name": "Localsensor B.V.", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 14, - "purposes": { "3": 0, "4": 0 }, + "purposes": { + "3": 0, + "4": 0 + }, "specialPurposes": {} }, "urls": [ @@ -9090,26 +16191,61 @@ "privacy": "https://www.localsensor.com/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.localsensor.com/legal/tcf/vendor-disclosure-tcf-20.json" }, "596": { "id": 596, "name": "InsurAds Technologies SA.", - "purposes": [1, 2, 3, 4, 5, 6, 9, 10], - "legIntPurposes": [7, 8], - "flexiblePurposes": [7, 8], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 9, + 10 + ], + "legIntPurposes": [ + 7, + 8 + ], + "flexiblePurposes": [ + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 0, - "purposes": { "7": 365, "8": 365, "9": 365, "10": 365 }, - "specialPurposes": { "1": 30, "2": 30 } + "purposes": { + "7": 365, + "8": 365, + "9": 365, + "10": 365 + }, + "specialPurposes": { + "1": 30, + "2": 30 + } }, "urls": [ { @@ -9118,7 +16254,13 @@ "legIntClaim": "https://www.insurads.com/privacy.html" } ], - "dataDeclaration": [1, 2, 6, 8, 9], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 9 + ], "deviceStorageDisclosureUrl": "https://www.insurads.com/tcf-vdsod.json" }, "597": { @@ -9127,14 +16269,21 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "2": 0 } }, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "2": 0 + } + }, "urls": [ { "langId": "en", @@ -9142,18 +16291,31 @@ "legIntClaim": "https://adjust-digital.com/privacy/" } ], - "dataDeclaration": [11], + "dataDeclaration": [ + 11 + ], "deviceStorageDisclosureUrl": "https://betterbannerscloud.com/tcf/tcf.json" }, "598": { "id": 598, "name": "audio content & control GmbH", - "purposes": [1], - "legIntPurposes": [2, 7, 9], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 9 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -9170,16 +16332,23 @@ "legIntClaim": "https://www.audio-cc.com/audiocc_privacy_policy.pdf" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.allmediadesk.com/deviceStorageDisclosureURL.json" }, "601": { "id": 601, "name": "WebAds B.V", - "purposes": [1, 2], + "purposes": [ + 1, + 2 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -9198,18 +16367,42 @@ "legIntClaim": "https://privacy.webads.eu/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://nojazz.eu/int/iab/tcf-storage.json" }, "602": { "id": 602, "name": "Online Solution", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -9217,7 +16410,9 @@ "dataRetention": { "stdRetention": 30, "purposes": {}, - "specialPurposes": { "1": 365 } + "specialPurposes": { + "1": 365 + } }, "urls": [ { @@ -9226,16 +16421,47 @@ "legIntClaim": "https://adsafety.net/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.adtech.app/gen/deviceStorageDisclosure/os.json" }, "606": { "id": 606, "name": "Impactify SARL", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -9244,8 +16470,15 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 30, - "purposes": { "7": 7, "8": 7, "9": 7, "10": 7 }, - "specialPurposes": { "1": 14 } + "purposes": { + "7": 7, + "8": 7, + "9": 7, + "10": 7 + }, + "specialPurposes": { + "1": 14 + } }, "urls": [ { @@ -9254,26 +16487,56 @@ "legIntClaim": "https://impactify.io/privacy-policy/#legal-basis-and-purposes-for-processing" } ], - "dataDeclaration": [1, 2, 3, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://ad.impactify.io/tcfvendors.json" }, "610": { "id": 610, "name": "Azerion Holding B.V.", - "purposes": [1, 2, 4, 8], - "legIntPurposes": [7, 9, 10, 11], - "flexiblePurposes": [2, 8], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 2, + 4, + 8 + ], + "legIntPurposes": [ + 7, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 14, - "purposes": { "11": 0 }, + "purposes": { + "11": 0 + }, "specialPurposes": {} }, "urls": [ @@ -9283,16 +16546,32 @@ "legIntClaim": "https://static.gamedistribution.com/policy/privacy-enduser.html" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://gamedistribution.com/deviceStorageDisclosure.json" }, "612": { "id": 612, "name": "Adnami Aps", "purposes": [], - "legIntPurposes": [7], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -9316,19 +16595,35 @@ "legIntClaim": "https://www.adnami.io/privacy-policy-services-de" } ], - "dataDeclaration": [1, 8, 11], + "dataDeclaration": [ + 1, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://macro.adnami.io/macro/iab/deviceStorage.json" }, "613": { "id": 613, "name": "Adserve.zone / Artworx AS", - "purposes": [10], - "legIntPurposes": [2, 7], - "flexiblePurposes": [10], - "specialPurposes": [1, 2], + "purposes": [ + 10 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -9345,7 +16640,10 @@ "legIntClaim": "https://adserve.zone/adserveprivacypolicy.html#legitimateinterestclaim" } ], - "dataDeclaration": [1, 8], + "dataDeclaration": [ + 1, + 8 + ], "deviceStorageDisclosureUrl": "https://adserve.zone/tcf/deviceStorageDisclosure.json" }, "615": { @@ -9354,7 +16652,10 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -9373,40 +16674,75 @@ "legIntClaim": "https://www.adsolutions.com/privacy-policy/" } ], - "dataDeclaration": [11], + "dataDeclaration": [ + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.biddercore.io/iab/tcf_storage.json" }, "617": { "id": 617, "name": "Onfocus (Adagio)", - "purposes": [1, 2, 7, 8], + "purposes": [ + 1, + 2, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 5184000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 548, - "purposes": { "2": 0 }, + "purposes": { + "2": 0 + }, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://adagio.io/privacy" }], - "dataDeclaration": [1, 2, 6, 8, 9, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://adagio.io/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://adagio.io/deviceStorageDisclosure.json" }, "618": { "id": 618, "name": "BEINTOO SPA", - "purposes": [1, 2, 3, 4, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], - "specialFeatures": [1], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31557600, "usesCookies": true, "cookieRefresh": false, @@ -9430,18 +16766,42 @@ "privacy": "https://www.beintoo.com/privacy-cookie-policy/" } ], - "dataDeclaration": [1, 2, 3, 9], + "dataDeclaration": [ + 1, + 2, + 3, + 9 + ], "deviceStorageDisclosureUrl": "https://beintoo-support.b-cdn.net/deviceStorage.json" }, "620": { "id": 620, "name": "Blue", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -9458,26 +16818,65 @@ "legIntClaim": "https://www.getblue.io/privacy/" } ], - "dataDeclaration": [1, 2, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://getblue.io/iab/" }, "621": { "id": 621, "name": "Seznam.cz, a.s.", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31556926, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 30, - "purposes": { "2": 540, "5": 1460, "6": 1460, "10": 14, "11": 1460 }, - "specialPurposes": { "1": 540 } + "purposes": { + "2": 540, + "5": 1460, + "6": 1460, + "10": 14, + "11": 1460 + }, + "specialPurposes": { + "1": 540 + } }, "urls": [ { @@ -9486,23 +16885,47 @@ "legIntClaim": "https://o.seznam.cz/personalizace-obsahu-a-reklamy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://h.seznam.cz/js/deviceStorage.json" }, "624": { "id": 624, "name": "Norstat AS", - "purposes": [1, 9], + "purposes": [ + 1, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63113904, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "9": 1080 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "9": 1080 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -9565,17 +16988,26 @@ "privacy": "https://www.norstatpanel.com/ru/zaschita-dannykh" } ], - "dataDeclaration": [7], + "dataDeclaration": [ + 7 + ], "deviceStorageDisclosureUrl": "https://aws.norstat.no/iab/tcf.json" }, "625": { "id": 625, "name": "BILENDI SA", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 0, "usesCookies": true, @@ -9592,18 +17024,29 @@ "privacy": "https://www.maximiles.com/privacy-policy" } ], - "dataDeclaration": [7], + "dataDeclaration": [ + 7 + ], "deviceStorageDisclosureUrl": "https://statics.maximiles.com/das/device-storage-disclosure.json" }, "626": { "id": 626, "name": "Hivestack Inc.", - "purposes": [1, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -9614,20 +17057,41 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://hivestack.com/privacy-policy" } + { + "langId": "en", + "privacy": "https://hivestack.com/privacy-policy" + } + ], + "dataDeclaration": [ + 3, + 9 ], - "dataDeclaration": [3, 9], "deviceStorageDisclosureUrl": "https://tcf.hivestack.com/TCF_File.json" }, "628": { "id": 628, "name": ": Tappx", - "purposes": [1, 2, 4, 7, 10], + "purposes": [ + 1, + 2, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 10800, "usesCookies": true, "cookieRefresh": false, @@ -9644,17 +17108,39 @@ "legIntClaim": "https://www.tappx.com/en/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://tappx.com/devicestorage.json" }, "630": { "id": 630, "name": "Contact Impact GmbH/Axel Springer Teaser Ad GmbH", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 43200000, "usesCookies": true, @@ -9672,18 +17158,40 @@ "legIntClaim": "https://contactimpact.de/privacy.html#section-3" } ], - "dataDeclaration": [1, 2, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.c-i.as/d/gdpr/deviceStorage.json" }, "631": { "id": 631, "name": "Relay42 Netherlands B.V.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], - "specialFeatures": [2], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": false, @@ -9693,14 +17201,39 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://relay42.com/privacy" }], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 10, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://relay42.com/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://relay42.com/relay42-iab-disclosures.json" }, "639": { "id": 639, "name": "Smile Wanted Group", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -9716,19 +17249,45 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.smilewanted.com/privacy.php" } + { + "langId": "en", + "privacy": "https://www.smilewanted.com/privacy.php" + } + ], + "dataDeclaration": [ + 2, + 6 ], - "dataDeclaration": [2, 6], "deviceStorageDisclosureUrl": "https://smilewanted.com/vendor-device-storage-disclosures.json" }, "644": { "id": 644, "name": "Gamoshi Ltd", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -9746,40 +17305,75 @@ "legIntClaim": "https://www.gamoshi.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.gamoshi.com/disclosures-client-storage.json" }, "646": { "id": 646, "name": "Notify", - "purposes": [9], + "purposes": [ + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "9": 390 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "9": 390 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "fr", "privacy": "https://fr.notify-group.com/mentions-legales" } ], - "dataDeclaration": [7], + "dataDeclaration": [ + 7 + ], "deviceStorageDisclosureUrl": "https://fr.notify-group.com/cookies/" }, "647": { "id": 647, "name": "Axel Springer Teaser Ad GmbH", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -9802,18 +17396,42 @@ "legIntClaim": "https://www.adup-tech.com/rechtliches/datenschutz/#c4488" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://s.d.adup-tech.com/gdpr/deviceStorage.json" }, "648": { "id": 648, "name": "TrueData Solutions, Inc.", - "purposes": [1, 3, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 78840000, "usesCookies": true, "cookieRefresh": true, @@ -9824,20 +17442,52 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.truedata.co/privacy-policy/" } + { + "langId": "en", + "privacy": "https://www.truedata.co/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "deviceStorageDisclosureUrl": "https://info-prod.truedata.co/api/device-storage" }, "652": { "id": 652, "name": "Skaze", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31557600, "usesCookies": true, "cookieRefresh": false, @@ -9853,25 +17503,57 @@ "privacy": "https://www.skaze.com/fr/politique/politique-de-confidentialite/" } ], - "dataDeclaration": [1, 2, 3, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://www.skaze.com/deviceStorage.json" }, "655": { "id": 655, "name": "Sportradar AG", - "purposes": [1, 3, 4, 10], - "legIntPurposes": [2, 7, 9], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 10 + ], + "legIntPurposes": [ + 2, + 7, + 9 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 100, - "purposes": { "4": 1095 }, + "purposes": { + "4": 1095 + }, "specialPurposes": {} }, "urls": [ @@ -9881,16 +17563,44 @@ "legIntClaim": "https://www.sportradar.com/about-us/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://creatives.sportradarserving.com/TCF_Sportradar_device_storage_url/sportradar_device_storage_url.json" }, "656": { "id": 656, "name": "Content Ignite", - "purposes": [1, 3, 4, 9], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [7, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 34190000, @@ -9900,7 +17610,9 @@ "dataRetention": { "stdRetention": 0, "purposes": {}, - "specialPurposes": { "1": 5 } + "specialPurposes": { + "1": 5 + } }, "urls": [ { @@ -9909,20 +17621,40 @@ "legIntClaim": "https://www.contentignite.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 8, 11], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://contentignite.com/deviceStorage.json" }, "657": { "id": 657, "name": "GP One GmbH", - "purposes": [1, 3], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [1], - "specialFeatures": [1, 2], - "cookieMaxAgeSeconds": 0, - "usesCookies": true, + "purposes": [ + 1, + 3 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], + "specialFeatures": [ + 1, + 2 + ], + "cookieMaxAgeSeconds": 0, + "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { @@ -9942,18 +17674,44 @@ "legIntClaim": "https://www.gsi-one.org/en/privacy-policy.html" } ], - "dataDeclaration": [1, 2, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.gsitrix.com/deviceStorage.json" }, "658": { "id": 658, "name": "BLIINK SAS", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [2], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34186669, "usesCookies": true, "cookieRefresh": false, @@ -9970,18 +17728,37 @@ "legIntClaim": "https://bliink.io/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://bliink.io/disclosures.json" }, "659": { "id": 659, "name": "Research and Analysis of Media in Sweden AB", - "purposes": [1], - "legIntPurposes": [7, 8, 9], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7, + 8, + 9 + ], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [2], - "specialFeatures": [2], + "specialPurposes": [ + 1 + ], + "features": [ + 2 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 32000000, "usesCookies": true, "cookieRefresh": false, @@ -9998,19 +17775,32 @@ "legIntClaim": "https://www2.rampanel.com/privacy-policy/" } ], - "dataDeclaration": [1, 3], + "dataDeclaration": [ + 1, + 3 + ], "deviceStorageDisclosureUrl": "https://www.rampanel.com/tcf/deviceStorage.json" }, "662": { "id": 662, "name": "SoundCast", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 0, "usesCookies": true, "cookieRefresh": false, @@ -10021,28 +17811,54 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://soundcast.fm/en/data-privacy" } + { + "langId": "en", + "privacy": "https://soundcast.fm/en/data-privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 11 ], - "dataDeclaration": [1, 2, 11], "deviceStorageDisclosureUrl": "https://soundcast.io/devicestorage.json" }, "663": { "id": 663, "name": "Mobsuccess", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 150, - "purposes": { "2": 730 }, - "specialPurposes": { "1": 730 } + "purposes": { + "2": 730 + }, + "specialPurposes": { + "1": 730 + } }, "urls": [ { @@ -10056,17 +17872,52 @@ "legIntClaim": "https://www.mobsuccess.com/fr/privacy" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.mobsuccess.com/deviceStorage.json" }, "666": { "id": 666, - "name": "The Odyssey SAS", - "purposes": [1, 2, 3, 4, 5, 6], - "legIntPurposes": [7, 8, 9, 10, 11], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [3], + "name": "BeOp", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31556952, "usesCookies": true, @@ -10096,17 +17947,44 @@ "legIntClaim": "https://beop.io/fr/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://beop.io/deviceStorage.json" }, "667": { "id": 667, "name": "Liftoff Mobile, Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -10124,17 +18002,43 @@ "legIntClaim": "https://liftoff.io/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://liftoff.io/IABVendorDisclosure.json" }, "671": { "id": 671, "name": "MEDIA FORCE COMMUNICATIONS (2007) LTD", - "purposes": [1, 3, 4, 5, 6, 7, 8, 9], - "legIntPurposes": [2, 10], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "legIntPurposes": [ + 2, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -10152,18 +18056,41 @@ "legIntClaim": "https://comparisons.org/privacy.php" } ], - "dataDeclaration": [1, 2, 3, 6, 9], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 9 + ], "deviceStorageDisclosureUrl": "https://comparisons.org/privacy.json" }, "673": { "id": 673, "name": "Turk Telekom", - "purposes": [1, 3, 4, 9, 10], - "legIntPurposes": [2, 7], + "purposes": [ + 1, + 3, + 4, + 9, + 10 + ], + "legIntPurposes": [ + 2, + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 1474836, "usesCookies": true, "cookieRefresh": true, @@ -10180,19 +18107,31 @@ "legIntClaim": "https://www.programattik.com/en/privacy-policy.aspx" } ], - "dataDeclaration": [1, 3, 8, 9, 10], + "dataDeclaration": [ + 1, + 3, + 8, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://www.programattik.com/deviceStorage.json" }, "674": { "id": 674, "name": "Duration Media, LLC.", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -10209,26 +18148,61 @@ "legIntClaim": "https://www.durationmedia.net/privacy-policy" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://duration-media.s3.amazonaws.com/dm-vendor-device-storage-and-operational-disclosures.json" }, "676": { "id": 676, "name": "Businessclick Sp. z o.o.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9], - "legIntPurposes": [10], - "flexiblePurposes": [7, 8, 9], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "legIntPurposes": [ + 10 + ], + "flexiblePurposes": [ + 7, + 8, + 9 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 94608000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 365, - "purposes": { "7": 1095, "8": 1095, "10": 1095 }, - "specialPurposes": { "1": 1095, "2": 1095 } + "purposes": { + "7": 1095, + "8": 1095, + "10": 1095 + }, + "specialPurposes": { + "1": 1095, + "2": 1095 + } }, "urls": [ { @@ -10242,17 +18216,46 @@ "legIntClaim": "https://www.businessclick.com/documents/Privacy_Policy.pdf#page=7" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ssp.wp.pl/deviceStorage.json" }, "677": { "id": 677, "name": "Intercept Interactive Inc. dba Undertone", - "purposes": [1, 2, 3, 4, 5, 6], - "legIntPurposes": [7, 8, 10], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31556926, "usesCookies": true, @@ -10270,40 +18273,86 @@ "legIntClaim": "https://www.undertone.com/privacy-center/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://cdn.undertone.com/js/deviceStorage.json" }, "681": { "id": 681, "name": "MyTraffic", - "purposes": [1, 9], + "purposes": [ + 1, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "9": 105 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "9": 105 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "en", "privacy": "https://www.mytraffic.io/en/privacy" }, - { "langId": "fr", "privacy": "https://www.mytraffic.io/fr/privacy" } + { + "langId": "en", + "privacy": "https://www.mytraffic.io/en/privacy" + }, + { + "langId": "fr", + "privacy": "https://www.mytraffic.io/fr/privacy" + } + ], + "dataDeclaration": [ + 2, + 3, + 9, + 11 ], - "dataDeclaration": [2, 3, 9, 11], "deviceStorageDisclosureUrl": "https://app.mytraffic.io/static/json/iab/disclosures.json" }, "682": { "id": 682, "name": "Radio Net Media Limited", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7], + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7 + ], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -10320,17 +18369,40 @@ "legIntClaim": "https://www.adtonos.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://files.adtonos.com/deviceStorage.json" }, "686": { "id": 686, "name": "The MediaGrid Inc.", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -10348,18 +18420,34 @@ "legIntClaim": "https://www.iponweb.com/policies-legal/themediagrid-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.themediagrid.com/devicestorage.json" }, "690": { "id": 690, "name": "Go.pl sp. z o.o.", - "purposes": [1, 2, 3, 4], + "purposes": [ + 1, + 2, + 3, + 4 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -10370,20 +18458,43 @@ "specialPurposes": {} }, "urls": [ - { "langId": "pl", "privacy": "https://go.pl/polityka-prywatnosci/" } + { + "langId": "pl", + "privacy": "https://go.pl/polityka-prywatnosci/" + } + ], + "dataDeclaration": [ + 1, + 6, + 8 ], - "dataDeclaration": [1, 6, 8], "deviceStorageDisclosureUrl": "https://b.goadservices.com/go_cookies.json" }, "697": { "id": 697, "name": "ADWAYS SAS", - "purposes": [1, 4, 6], - "legIntPurposes": [2, 7, 8, 11], + "purposes": [ + 1, + 4, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 11 + ], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2], - "specialFeatures": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31556926, "usesCookies": true, "cookieRefresh": false, @@ -10400,17 +18511,38 @@ "legIntClaim": "https://www.adways.com/privacy-policy#legitimate-interest" } ], - "dataDeclaration": [1, 2, 3, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.adways.com/deviceStorage.json" }, "702": { "id": 702, "name": "Kwanko", - "purposes": [1, 2, 7, 8], + "purposes": [ + 1, + 2, + 7, + 8 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8], - "specialPurposes": [1, 2], - "features": [3], + "flexiblePurposes": [ + 2, + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 5184000, "usesCookies": true, @@ -10418,7 +18550,9 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 180, - "purposes": { "2": 30 }, + "purposes": { + "2": 30 + }, "specialPurposes": {} }, "urls": [ @@ -10433,18 +18567,41 @@ "legIntClaim": "https://www.kwanko.com/gdpr/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.kwanko.com/.well-known/deviceStorage.json" }, "703": { "id": 703, "name": "MindTake Research GmbH", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [2, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, "cookieRefresh": false, @@ -10466,18 +18623,32 @@ "legIntClaim": "https://www.mindtake.com/de/reppublika-datenschutzordnung" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://pub.mindtake.com/TCF_DeviceStorageDisclosure/703/ " }, "706": { "id": 706, "name": "VRTCAL Markets Inc", "purposes": [], - "legIntPurposes": [2], + "legIntPurposes": [ + 2 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": false, @@ -10494,18 +18665,43 @@ "legIntClaim": "https://vrtcal.com/docs/PrivacyPolicy-Advertising.pdf" } ], - "dataDeclaration": [1, 2, 3, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://vrtcal.com/docs/gdpr-tcf-disclosures.json" }, "707": { "id": 707, "name": "Dentsu Italia SpA", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 5184000, "usesCookies": true, "cookieRefresh": true, @@ -10522,26 +18718,64 @@ "legIntClaim": "https://www.dentsu.com/it/it/policies/legittimo-interesse" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cloud.thebignow.it/data/" }, "708": { "id": 708, "name": "OneFootball GmbH", - "purposes": [1, 3, 4, 5, 6, 9, 10, 11], - "legIntPurposes": [2, 7, 8], - "flexiblePurposes": [11], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 9, + 10, + 11 + ], + "legIntPurposes": [ + 2, + 7, + 8 + ], + "flexiblePurposes": [ + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 157680000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 720, - "purposes": { "2": 90, "7": 60 }, - "specialPurposes": { "1": 30, "2": 30 } + "purposes": { + "2": 90, + "7": 60 + }, + "specialPurposes": { + "1": 30, + "2": 30 + } }, "urls": [ { @@ -10555,17 +18789,47 @@ "legIntClaim": "https://static.onefootball.com/legal/consumer-web-privacy-policy/de" } ], - "dataDeclaration": [1, 2, 3, 6, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://onefootball.com/iab/deviceStorageDisclosure.json" }, "709": { "id": 709, "name": "NC Audience Exchange, LLC ", - "purposes": [1, 2, 3, 4, 5, 6, 11], - "legIntPurposes": [7, 8, 9, 10], - "flexiblePurposes": [7, 8, 9, 10], - "specialPurposes": [1], - "features": [1, 2, 3], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 11 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -10583,19 +18847,54 @@ "legIntClaim": "https://www.ncaudienceexchange.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ncaudienceexchange.com/data/vds_od.json" }, "712": { "id": 712, "name": "Synkd UK Ltd.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 3600, "usesCookies": true, "cookieRefresh": false, @@ -10612,15 +18911,29 @@ "legIntClaim": "https://synkd.life/privacypolicy.pdf" } ], - "dataDeclaration": [1, 5, 6, 7, 9, 10], + "dataDeclaration": [ + 1, + 5, + 6, + 7, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://cdn.synkd.life/cookie_disclosures.json" }, "713": { "id": 713, "name": "Dataseat Ltd", - "purposes": [2, 4, 7], + "purposes": [ + 2, + 4, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], + "flexiblePurposes": [ + 2, + 7 + ], "specialPurposes": [], "features": [], "specialFeatures": [], @@ -10640,17 +18953,38 @@ "legIntClaim": "https://dataseat.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3], + "dataDeclaration": [ + 1, + 2, + 3 + ], "deviceStorageDisclosureUrl": "https://assets.dataseat.com/GDPR_TCF.json" }, "715": { "id": 715, "name": "BidBerry SRL", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -10668,17 +19002,43 @@ "legIntClaim": "https://www.bidberrymedia.com/service-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.bidberrymedia.com/deviceStorage.php" }, "716": { "id": 716, "name": "OnAudience Ltd", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -10696,17 +19056,40 @@ "legIntClaim": "https://www.onaudience.com/internet-advertising-privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.onaudience.com/deviceStorage.json" }, "717": { "id": 717, "name": "Audience Network", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -10724,26 +19107,55 @@ "legIntClaim": "https://audiencenetwork.pl/en/internet-advertising-privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://audiencenetwork.pl/deviceStorage.json" }, "718": { "id": 718, "name": "XChange by SFBX\u00ae", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 12, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 30, - "purposes": { "2": 90 }, + "purposes": { + "2": 90 + }, "specialPurposes": {} }, "urls": [ @@ -10756,17 +19168,39 @@ "privacy": "https://sfbx.io/en/politique-de-confidentialite/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.appconsent.io/iab/xchange-by-sfbx.json" }, "719": { "id": 719, "name": "Online Advertising Network Sp. z o.o.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -10784,17 +19218,48 @@ "legIntClaim": "https://www.oan.pl/internet-advertising-privacy-policy.html" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.oan.pl/deviceStorage.json" }, "721": { "id": 721, "name": "impact.com", - "purposes": [1, 2, 3, 4, 5, 6, 7, 11], - "legIntPurposes": [8], - "flexiblePurposes": [2, 7, 8, 11], - "specialPurposes": [1, 2], - "features": [1, 3], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 11 + ], + "legIntPurposes": [ + 8 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 315360000, "usesCookies": true, @@ -10812,16 +19277,28 @@ "legIntClaim": "https://www.engageya.com/privacy" } ], - "dataDeclaration": [1, 2, 3, 6], + "dataDeclaration": [ + 1, + 2, + 3, + 6 + ], "deviceStorageDisclosureUrl": "https://www.engageya.com/gdpr_disclosures_and_domains.json" }, "724": { "id": 724, "name": "Between Exchange", - "purposes": [1], - "legIntPurposes": [7], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -10840,19 +19317,46 @@ "legIntClaim": "https://en.betweenx.com/pdata.pdf" } ], - "dataDeclaration": [1, 2, 3, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://en.betweenx.com/deviceStorage.json" }, "725": { "id": 725, "name": "Pubfinity LLC", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 315360000, "usesCookies": true, "cookieRefresh": false, @@ -10869,17 +19373,42 @@ "legIntClaim": "https://pubfinity.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://static.pubfinity.com/.well-known/deviceStorage.json" }, "726": { "id": 726, "name": "YouGov", - "purposes": [1, 3, 5, 7, 8, 9, 10], + "purposes": [ + 1, + 3, + 5, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [9, 10], + "flexiblePurposes": [ + 9, + 10 + ], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31557600, "usesCookies": true, @@ -10992,17 +19521,39 @@ "legIntClaim": "https://account.yougov.com/sk-sk/account/privacy-policy" } ], - "dataDeclaration": [1, 3, 5, 7, 11], + "dataDeclaration": [ + 1, + 3, + 5, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://d4a766y0k7kjw.cloudfront.net/global-panel/static/tcf/TCF-1.json" }, "727": { "id": 727, "name": "Pinpoll GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, @@ -11020,18 +19571,47 @@ "legIntClaim": "https://www.pinpoll.com/pdf/data-protection-declaration.pdf" } ], - "dataDeclaration": [1, 7], + "dataDeclaration": [ + 1, + 7 + ], "deviceStorageDisclosureUrl": "https://www.pinpoll.com/deviceStorage.json" }, "728": { "id": 728, "name": "Appier PTE Ltd", - "purposes": [1, 3, 4, 5, 6, 11], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 11 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -11058,18 +19638,45 @@ "legIntClaim": "https://www.appier.com/zh-tw/about/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.appier.com/deviceStorage.json" }, "729": { "id": 729, "name": "Cavai AS", - "purposes": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 3], - "specialFeatures": [2], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11080,45 +19687,83 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.cavai.com/privacy-policy" } + { + "langId": "en", + "privacy": "https://www.cavai.com/privacy-policy" + } + ], + "dataDeclaration": [ + 2, + 3, + 6, + 11 ], - "dataDeclaration": [2, 3, 6, 11], "deviceStorageDisclosureUrl": "https://cdn.jsdelivr.net/gh/georgeseed/cavai.github.io/deviceStorage.json" }, "730": { "id": 730, "name": "INFOnline GmbH", - "purposes": [1, 8], + "purposes": [ + 1, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [2], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "8": 180 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "8": 180 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "de", "privacy": "https://www.infonline.de/datenschutz/" }, + { + "langId": "de", + "privacy": "https://www.infonline.de/datenschutz/" + }, { "langId": "en", "privacy": "https://www.infonline.de/en/datenschutzerklaerung/" } ], - "dataDeclaration": [1, 2, 3, 4, 6], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6 + ], "deviceStorageDisclosureUrl": "https://www.infonline.de/deviceStorage.json" }, "732": { "id": 732, "name": "Performax.cz, s.r.o.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], "flexiblePurposes": [], "specialPurposes": [], "features": [], "specialFeatures": [], - "cookieMaxAgeSeconds": 34164000, + "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, @@ -11130,27 +19775,52 @@ "urls": [ { "langId": "cs", - "privacy": "https://www.performax.cz/cs/privacy-policy/", - "legIntClaim": "https://www.performax.cz/cs/privacy-policy/" + "privacy": "https://www.performax.cz/cs/ochrana-osobnich-udaju", + "legIntClaim": "https://www.performax.cz/cs/zpracovavane-ucely" }, { "langId": "en", "privacy": "https://www.performax.cz/en/privacy-policy", - "legIntClaim": "https://www.performax.cz/en/privacy-policy" + "legIntClaim": "https://www.performax.cz/en/processed-purposes" } ], - "dataDeclaration": [1, 2, 3, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://dale.performax.cz/device-storage" }, "733": { "id": 733, "name": "Anzu Virtual Reality LTD", - "purposes": [1, 2, 3, 4, 9], - "legIntPurposes": [7], - "flexiblePurposes": [2, 7, 9], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 9 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 2, + 7, + 9 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11167,17 +19837,36 @@ "legIntClaim": "https://www.anzu.io/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://admins-api.anzu.io/tcf2_disc.json" }, "734": { "id": 734, "name": "Cint AB", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -11195,13 +19884,23 @@ "legIntClaim": "https://www.cint.com/participant-privacy-notice" } ], - "dataDeclaration": [1, 2, 3, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://connect.cint.com/cint-tcfv2.json" }, "737": { "id": 737, "name": "Monet Engine Inc", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -11217,15 +19916,27 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://adaptmx.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://adaptmx.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 5, 11], "deviceStorageDisclosureUrl": "https://assets.a-mo.net/tcf/device-storage.json" }, "738": { "id": 738, "name": "adbility media GmbH", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -11235,25 +19946,48 @@ "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": {} }, + "dataRetention": { + "purposes": {}, + "specialPurposes": {} + }, "urls": [ { "langId": "de", "privacy": "https://www.adbility-media.com/datenschutz" } ], - "dataDeclaration": [1, 2, 3, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://device.adbility-media.com/deviceStorage.json" }, "741": { "id": 741, "name": "Brand Advance Ltd", - "purposes": [2, 7, 8, 9, 11], + "purposes": [ + 2, + 7, + 8, + 9, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11270,19 +20004,36 @@ "legIntClaim": "https://www.wearebrandadvance.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://brandadvancessp.com/disclosure.json" }, "742": { "id": 742, "name": "Audiencerate LTD", - "purposes": [1, 3, 5], + "purposes": [ + 1, + 3, + 5 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 1296000, "usesCookies": true, "cookieRefresh": false, @@ -11298,19 +20049,42 @@ "privacy": "https://www.audiencerate.com/full-data-privacy-compliance" } ], - "dataDeclaration": [1, 2, 3, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://a.audrte.com/tcfDeviceDisclosures.json" }, "744": { "id": 744, "name": "Vidazoo Ltd", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7, 10], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 2600000, "usesCookies": true, "cookieRefresh": false, @@ -11327,18 +20101,41 @@ "legIntClaim": "https://vidazoo.gitbook.io/vidazoo-legal/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://vidazoo.com/gdpr-tcf/deviceStorage.json" }, "745": { "id": 745, "name": "Justtag Sp. z o.o.", - "purposes": [1, 3, 4, 7, 9], + "purposes": [ + 1, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11355,18 +20152,40 @@ "legIntClaim": "https://www.justtag.com/POLITYKA_PRYWATNOSCI.pdf" } ], - "dataDeclaration": [1, 2, 3, 5, 8, 9, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 8, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://www.justtag.com/.well-known/deviceStorage.json" }, "746": { "id": 746, "name": "Adxperience SAS", - "purposes": [2, 3, 4, 5, 7, 8], + "purposes": [ + 2, + 3, + 4, + 5, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 3], - "specialFeatures": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11383,18 +20202,45 @@ "legIntClaim": "https://adxperience.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.axprtbggl.com/deviceStorage.json" }, "747": { "id": 747, "name": "Kairion GmbH", - "purposes": [1, 2, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], "specialPurposes": [], - "features": [2, 3], - "specialFeatures": [1, 2], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 0, "usesCookies": true, "cookieRefresh": false, @@ -11411,18 +20257,40 @@ "legIntClaim": "https://kairion.de/datenschutzbestimmungen/" } ], - "dataDeclaration": [1, 6], + "dataDeclaration": [ + 1, + 6 + ], "deviceStorageDisclosureUrl": "https://kairion.de/wp-content/uploads/2023/03/iab.json" }, "748": { "id": 748, "name": "AUDIOMOB LTD", - "purposes": [1, 2, 7, 8, 9], + "purposes": [ + 1, + 2, + 7, + 8, + 9 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 7, + 8, + 9 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11439,16 +20307,36 @@ "legIntClaim": "https://www.audiomob.com/privacy" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.audiomob.com/deviceStorage.json" }, "749": { "id": 749, "name": "Good-Loop Ltd", - "purposes": [1], - "legIntPurposes": [7, 10], - "flexiblePurposes": [7, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2678400, @@ -11467,19 +20355,45 @@ "legIntClaim": "https://doc.good-loop.com/policy/privacy-policy.html#2a-legitimate-interests" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://portal.good-loop.com/gvl.json" }, "750": { "id": 750, "name": "THE NEWCO S.R.L.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11496,16 +20410,37 @@ "legIntClaim": "https://www.thenewco.it/privacy_policy_servizi_prodotti.html" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://js.tncid.app/iab-tcf-device-storage-disclosure.json" }, "751": { "id": 751, "name": "Kiosked Ltd", "purposes": [], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -11524,19 +20459,34 @@ "legIntClaim": "https://www.kiosked.com/data-processing-policy" } ], - "dataDeclaration": [1, 2, 11], + "dataDeclaration": [ + 1, + 2, + 11 + ], "deviceStorageDisclosureUrl": "https://resources.kiosked.com/tcf.json" }, "754": { "id": 754, "name": "DistroScale, Inc.", - "purposes": [1], - "legIntPurposes": [2, 8, 10], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": false, @@ -11553,17 +20503,42 @@ "legIntClaim": "https://www.distroscale.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6], + "dataDeclaration": [ + 1, + 2, + 3, + 6 + ], "deviceStorageDisclosureUrl": "https://a.jsrdn.com/tcf/tcf-vendor-disclosure.json" }, "755": { "id": 755, "name": "Google Advertising Products", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 34190000, "usesCookies": true, @@ -11571,8 +20546,13 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 548, - "purposes": { "3": 180, "4": 180 }, - "specialPurposes": { "1": 1096 } + "purposes": { + "3": 180, + "4": 180 + }, + "specialPurposes": { + "1": 1096 + } }, "urls": [ { @@ -11691,17 +20671,49 @@ "legIntClaim": "https://policies.google.com/privacy?hl=sv#europeanrequirements" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.gstatic.com/iabtcf/deviceStorageDisclosure.json" }, "756": { "id": 756, "name": "Fandom, Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 99999999, "usesCookies": true, @@ -11719,17 +20731,33 @@ "legIntClaim": "https://www.fandom.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://script.wikia.nocookie.net/fandom-ae-assets/tcf/v2/deviceStorage.json" }, "758": { "id": 758, "name": "GfK SE", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -11746,19 +20774,48 @@ "privacy": "https://help.sensic.net/privacypolicy_en.html" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://sensic.net/deviceStorage.json" }, "759": { "id": 759, "name": "RevJet", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, @@ -11775,18 +20832,37 @@ "legIntClaim": "https://www.innervate.com/privacy" } ], - "dataDeclaration": [1, 3, 8, 10, 11], + "dataDeclaration": [ + 1, + 3, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.revjet.com/TCFV2-disclosures.json" }, "762": { "id": 762, "name": "Protected Media LTD", "purposes": [], - "legIntPurposes": [7, 10], - "flexiblePurposes": [7, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -11803,23 +20879,41 @@ "legIntClaim": "https://www.protected.media/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6 + ], "deviceStorageDisclosureUrl": "https://www.protected.media/wp-content/uploads/2023/07/Devicestoragedisclosure.json" }, "766": { "id": 766, "name": "Firstlead GmbH (ADCELL)", - "purposes": [1, 2], + "purposes": [ + 1, + 2 + ], "legIntPurposes": [], - "flexiblePurposes": [2], + "flexiblePurposes": [ + 2 + ], "specialPurposes": [], "features": [], - "specialFeatures": [2], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "2": 5 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "2": 5 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "de", @@ -11827,18 +20921,40 @@ "legIntClaim": "https://www.adcell.de/datenschutz" } ], - "dataDeclaration": [1, 2, 3], + "dataDeclaration": [ + 1, + 2, + 3 + ], "deviceStorageDisclosureUrl": "https://www.adcell.de/tcf/devicestorage" }, "767": { "id": 767, "name": "Clinch Labs LTD", - "purposes": [1, 3, 4, 10], - "legIntPurposes": [2, 7, 9], + "purposes": [ + 1, + 3, + 4, + 10 + ], + "legIntPurposes": [ + 2, + 7, + 9 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, @@ -11855,25 +20971,60 @@ "legIntClaim": "https://clinch.co/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.clinch.co/a_other/tcf/tcf_cookie_disclosure.json" }, "768": { "id": 768, "name": "Global Media Group Services Limited", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 46657000, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 37, - "purposes": { "5": 3285, "6": 3285, "11": 3285 }, + "purposes": { + "5": 3285, + "6": 3285, + "11": 3285 + }, "specialPurposes": {} }, "urls": [ @@ -11893,23 +21044,45 @@ "legIntClaim": "https://global.com/es/legal/politica-de-privacidad/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://thisisdax.com/tcfdeviceStorage.json" }, "769": { "id": 769, "name": "MEDIAMETRIE", - "purposes": [1, 8], + "purposes": [ + 1, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 3], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "8": 1095 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "8": 1095 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "fr", @@ -11920,17 +21093,38 @@ "privacy": "https://www.mediametrie.fr/en/management-cookies" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.mediametrie.com/Mediametrie_deviceStorageDisclosure.json" }, "770": { "id": 770, "name": "MARKETPERF CORP", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -11938,7 +21132,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 730, - "purposes": { "2": 365, "3": 365, "4": 365 }, + "purposes": { + "2": 365, + "3": 365, + "4": 365 + }, "specialPurposes": {} }, "urls": [ @@ -11948,19 +21146,40 @@ "legIntClaim": "https://www.marketperf.com/assets/images/app/marketperf/pdf/privacy-policy.pdf" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://s.marketperf.com/tcf.json" }, "771": { "id": 771, "name": "bam! interactive marketing GmbH ", - "purposes": [1, 3, 7, 10], + "purposes": [ + 1, + 3, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 86400, "usesCookies": true, "cookieRefresh": false, @@ -11977,16 +21196,26 @@ "legIntClaim": "https://bam-interactive.de/datenschutz/" } ], - "dataDeclaration": [2, 6, 8], + "dataDeclaration": [ + 2, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://libs.adtron.io/iab_tcf.json" }, "772": { "id": 772, "name": "Oracle Data Cloud - Moat", "purposes": [], - "legIntPurposes": [7, 8, 10], + "legIntPurposes": [ + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -12005,18 +21234,37 @@ "legIntClaim": "https://www.oracle.com/legal/privacy/services-privacy-policy.html" } ], - "dataDeclaration": [1, 8], + "dataDeclaration": [ + 1, + 8 + ], "deviceStorageDisclosureUrl": "https://datacloudoptout.oracle.com/gdpr-tcf/Oracle_Moat_TCF2Disclosures.json" }, "773": { "id": 773, "name": "Euvic 360e-com Sp. z o.o.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -12043,16 +21291,32 @@ "legIntClaim": "https://www.clickonometrics.com/optout/ro.html" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://delivery.clickonometrics.pl/deviceStorage.json" }, "774": { "id": 774, "name": "Wagawin GmbH", "purposes": [], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -12076,17 +21340,32 @@ "legIntClaim": "https://www.wagawin.com/product-privacy-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://docs.wagawin.com/deviceStorage.json" }, "775": { "id": 775, "name": "SelectMedia International LTD", - "purposes": [1, 2, 3, 4, 7, 8, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -12104,24 +21383,37 @@ "legIntClaim": "https://www.selectmedia.asia/terms-and-privacy/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://sm1.selectmedia.asia/cdn/gdpr/devicestorage.json" }, "776": { "id": 776, "name": "Mars Media Group", - "purposes": [2], + "purposes": [ + 2 + ], "legIntPurposes": [], - "flexiblePurposes": [2], + "flexiblePurposes": [ + 2 + ], "specialPurposes": [], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "2": 30 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "2": 30 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -12129,17 +21421,26 @@ "legIntClaim": "https://mars.media/privacy-policy" } ], - "dataDeclaration": [3], + "dataDeclaration": [ + 3 + ], "deviceStorageDisclosureUrl": "https://mars.media/apis/tcf-v2.json" }, "778": { "id": 778, "name": "Discover-Tech ltd", - "purposes": [2, 3, 4, 7], + "purposes": [ + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -12156,18 +21457,32 @@ "privacy": "https://www.discover-tech.io/privacy-policy" } ], - "dataDeclaration": [1, 3], + "dataDeclaration": [ + 1, + 3 + ], "deviceStorageDisclosureUrl": "https://www.discover-tech.io/_functions/api/disclosure.json" }, "779": { "id": 779, "name": "Adtarget Teknoloji A.S.", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 8035200, "usesCookies": true, "cookieRefresh": true, @@ -12175,7 +21490,9 @@ "dataRetention": { "stdRetention": 0, "purposes": {}, - "specialPurposes": { "1": 90 } + "specialPurposes": { + "1": 90 + } }, "urls": [ { @@ -12184,17 +21501,40 @@ "legIntClaim": "https://adtarget.com.tr/adtarget-privacy-policy-2020.pdf" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://adtarget.com.tr/.well-known/deviceStorage.json" }, "780": { "id": 780, "name": "Aniview LTD", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [3], + "specialPurposes": [ + 1 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -12203,7 +21543,9 @@ "dataRetention": { "stdRetention": 4320, "purposes": {}, - "specialPurposes": { "1": 100 } + "specialPurposes": { + "1": 100 + } }, "urls": [ { @@ -12212,19 +21554,52 @@ "legIntClaim": "https://www.aniview.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://player.aniview.com/gdpr/gdpr.json" }, "781": { "id": 781, "name": "FeedAd GmbH", - "purposes": [1, 3, 4, 5, 6, 8, 9], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 8, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -12241,13 +21616,29 @@ "legIntClaim": "https://feedad.com/privacy/#legal-basis" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://api.feedad.com/tcf-device-disclosures.json" }, "782": { "id": 782, "name": "MIQ DIGITAL LIMITED", - "purposes": [1, 3, 7, 9, 10], + "purposes": [ + 1, + 3, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -12263,20 +21654,43 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://airgid.io/privacy-policy" } + { + "langId": "en", + "privacy": "https://airgid.io/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 10 ], - "dataDeclaration": [1, 2, 6, 8, 10], "deviceStorageDisclosureUrl": "https://airgrid.io/tcf-disclosures.json" }, "783": { "id": 783, "name": "Audienzz AG", - "purposes": [1, 2, 3, 4, 5, 6], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -12286,18 +21700,41 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "de", "privacy": "https://www.audienzz.ch/agb" }], - "dataDeclaration": [1, 2, 4, 5, 6, 7, 10], + "urls": [ + { + "langId": "de", + "privacy": "https://www.audienzz.ch/agb" + } + ], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 7, + 10 + ], "deviceStorageDisclosureUrl": "https://cdn.adnz.co/cmp/device_storage_disclosure_vendor_783.json" }, "784": { "id": 784, "name": "Nubo LTD", - "purposes": [1], - "legIntPurposes": [2, 7], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 86400, "usesCookies": true, @@ -12315,13 +21752,19 @@ "legIntClaim": "https://api.recod3suite.com/privacypolicy.php" } ], - "dataDeclaration": [1, 2, 8], + "dataDeclaration": [ + 1, + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://api.recod3suite.com/deviceStorage.json" }, "786": { "id": 786, "name": "TargetVideo GmbH", - "purposes": [8], + "purposes": [ + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -12331,23 +21774,36 @@ "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "8": 1 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "8": 1 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "de", "privacy": "https://www.target-video.com/datenschutz/" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://www.target-video.com/vendors-device-storage-and-operational-disclosures.json" }, "787": { "id": 787, "name": "Hearts and Science M\u00fcnchen GmbH", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 5184000, @@ -12366,19 +21822,38 @@ "legIntClaim": "https://www.nonstoppartner.net" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://a.nonstoppartner.net/tcf.php" }, "788": { "id": 788, "name": "Ad Alliance GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "features": [ + 2 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -12389,20 +21864,50 @@ "specialPurposes": {} }, "urls": [ - { "langId": "de", "privacy": "https://www.ad-alliance.de/datenschutz/" } + { + "langId": "de", + "privacy": "https://www.ad-alliance.de/datenschutz/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 10 ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 10], "deviceStorageDisclosureUrl": "https://static.emsservice.de/iabtcf/deviceStorageDisclosure.json" }, "790": { "id": 790, "name": "AdGear Technologies, Inc.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34128000, "usesCookies": true, "cookieRefresh": false, @@ -12424,16 +21929,34 @@ "legIntClaim": "https://samsungads.ca/fr/confidentialite/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://policy.samsungads.com/deviceStorage.json" }, "791": { "id": 791, "name": "Media Square", - "purposes": [1, 2], + "purposes": [ + 1, + 2 + ], "legIntPurposes": [], - "flexiblePurposes": [2], - "specialPurposes": [2], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, @@ -12452,18 +21975,45 @@ "legIntClaim": "https://www.mediasquare.fr/e-privacy/" } ], - "dataDeclaration": [2, 3, 11], + "dataDeclaration": [ + 2, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://mediasquare.fr/deviceStorage.json" }, "794": { "id": 794, "name": "Kubient Inc. ", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31104000, "usesCookies": true, "cookieRefresh": false, @@ -12480,18 +22030,36 @@ "legIntClaim": "https://kubient.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://kubient.com/wp-content/uploads/2022/08/TCFv2.json" }, "795": { "id": 795, "name": "Factor Eleven GmbH", - "purposes": [1, 2, 4, 7], + "purposes": [ + 1, + 2, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -12513,17 +22081,38 @@ "legIntClaim": "https://de.f11-ads.com/privacy.php" } ], - "dataDeclaration": [1, 2, 8, 11], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.factor-eleven.de/tcf/deviceStorage2.json" }, "796": { "id": 796, "name": "EASY Marketing GmbH", - "purposes": [1, 2, 7, 8], + "purposes": [ + 1, + 2, + 7, + 8 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "flexiblePurposes": [ + 2, + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -12546,17 +22135,34 @@ "legIntClaim": "https://trck.easy-m.de/privacy-policy.do" } ], - "dataDeclaration": [2, 3, 4, 6, 11], + "dataDeclaration": [ + 2, + 3, + 4, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://trck.easy-m.de/api/tcf/definitions/disclosures.json" }, "797": { "id": 797, "name": "Artefact Deutschland GmbH", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [2, 3], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -12584,12 +22190,35 @@ "798": { "id": 798, "name": "Adverticum cPlc.", - "purposes": [1, 2, 3, 4, 8, 9, 10], - "legIntPurposes": [7], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "purposes": [ + 1, + 2, + 3, + 4, + 8, + 9, + 10 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": false, @@ -12606,19 +22235,35 @@ "legIntClaim": "https://adverticum.net/english/privacy-and-data-processing-information/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://adverticum.net/static/deviceStorageDisclosure.json" }, "799": { "id": 799, "name": "Adpone SL", - "purposes": [1, 2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 10368000, "usesCookies": true, "cookieRefresh": false, @@ -12629,20 +22274,47 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://adpone.com/privacy-policy" } + { + "langId": "en", + "privacy": "https://adpone.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8 ], - "dataDeclaration": [1, 2, 3, 4, 8], "deviceStorageDisclosureUrl": "https://adserver.adpone.com/deviceStorage.json" }, "800": { "id": 800, "name": "Reppublika Data Analytics and Technologies GmbH", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [10], - "specialPurposes": [1], - "features": [2, 3], - "specialFeatures": [2], + "flexiblePurposes": [ + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, "cookieRefresh": false, @@ -12664,25 +22336,46 @@ "legIntClaim": "https://www.reppublika.com/datenschutzordnung" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://pub.mindtake.com/TCF_DeviceStorageDisclosure/?vendorID=800" }, "801": { "id": 801, "name": "Bannernow, Inc.", "purposes": [], - "legIntPurposes": [2, 7], + "legIntPurposes": [ + 2, + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { - "purposes": { "2": 0, "7": 10 }, - "specialPurposes": { "1": 10, "2": 0 } + "purposes": { + "2": 0, + "7": 10 + }, + "specialPurposes": { + "1": 10, + "2": 0 + } }, "urls": [ { @@ -12691,19 +22384,52 @@ "legIntClaim": "https://bannernow.com/privacy" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://storage.bannernow.com/gvl/bannernowdevicestoragedisclosures.json" }, "803": { "id": 803, "name": "Click Tech Limited", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 25200, "usesCookies": true, "cookieRefresh": true, @@ -12720,17 +22446,40 @@ "legIntClaim": "https://www.zmaticoo.com/zmaticoo/privacies.html" } ], - "dataDeclaration": [1, 2, 3], + "dataDeclaration": [ + 1, + 2, + 3 + ], "deviceStorageDisclosureUrl": "https://gw-api.yeahtargeter.com/v3/cmp" }, "804": { "id": 804, "name": "LinkedIn Ireland Unlimited Company", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -12748,17 +22497,38 @@ "legIntClaim": "https://www.linkedin.com/legal/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://media.licdn.com/media/AAYQBATvAAgAAQAAAAAAAEGEzr1DmoG3RWSNHDH6nsefjA.json" }, "806": { "id": 806, "name": "Aarki, Inc.", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7, 10], + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -12766,7 +22536,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 365, - "purposes": { "3": 3650, "4": 3650, "7": 1500 }, + "purposes": { + "3": 3650, + "4": 3650, + "7": 1500 + }, "specialPurposes": {} }, "urls": [ @@ -12776,18 +22550,46 @@ "legIntClaim": "https://corp.aarki.com/privacy" } ], - "dataDeclaration": [1, 2, 3, 7, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 7, + 8 + ], "deviceStorageDisclosureUrl": "https://www.aarki.com/hubfs/device_storage_disclosure.json" }, "807": { "id": 807, "name": "Moloco, Inc.", - "purposes": [3, 4], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "purposes": [ + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, @@ -12795,7 +22597,9 @@ "dataRetention": { "stdRetention": 730, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -12804,19 +22608,38 @@ "legIntClaim": "https://www.moloco.com/advertising-policy" } ], - "dataDeclaration": [1, 2, 3, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://www.moloco.com/device-storage-disclosure-json" }, "808": { "id": 808, "name": "Pure Local Media GmbH", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -12833,19 +22656,35 @@ "legIntClaim": "https://purelocalmedia.de/?page_id=593" } ], - "dataDeclaration": [1, 2, 8, 11], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.purelocalmedia.de/json-file/deviceStorage2.json" }, "810": { "id": 810, "name": "lead alliance GmbH", - "purposes": [1], - "legIntPurposes": [7], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": 7776000, + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, @@ -12861,18 +22700,37 @@ "legIntClaim": "https://www.lead-alliance.net/dataprotection2" } ], - "dataDeclaration": [1, 6, 11], + "dataDeclaration": [ + 1, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://files.leadalliance.eu/devicestorage.json" }, "811": { "id": 811, "name": "iPROM", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1, 2], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -12883,19 +22741,43 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://iprom.eu/privacy_policy/GDPR" } + { + "langId": "en", + "privacy": "https://iprom.eu/privacy_policy/GDPR" + } + ], + "dataDeclaration": [ + 1, + 3, + 8, + 9, + 11 ], - "dataDeclaration": [1, 3, 8, 9, 11], "deviceStorageDisclosureUrl": "https://core.iprom.net/info/deviceStorage.json" }, "812": { "id": 812, "name": "Nielsen International SA", - "purposes": [1], - "legIntPurposes": [7, 9, 10], - "flexiblePurposes": [7, 10], - "specialPurposes": [1], - "features": [1, 2, 3], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 33696000, "usesCookies": true, @@ -12963,16 +22845,32 @@ "legIntClaim": "https://www.nielsen.com/legal/privacy-principles/digital-measurement-privacy-statement/#personal-data" } ], - "dataDeclaration": [1, 2, 3, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://files.imrworldwide.com/deviceStorageDisclosure.json" }, "815": { "id": 815, "name": "Blockthrough, Inc.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000000, @@ -12981,7 +22879,10 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "3": 0, "4": 0 }, + "purposes": { + "3": 0, + "4": 0 + }, "specialPurposes": {} }, "urls": [ @@ -12991,16 +22892,26 @@ "legIntClaim": "https://blockthrough.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 4, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 11 + ], "deviceStorageDisclosureUrl": "https://blockthrough.com/tcf_disclosures.json" }, "816": { "id": 816, "name": "NoBid, Inc.", - "purposes": [2, 10], + "purposes": [ + 2, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 604800, @@ -13019,16 +22930,35 @@ "legIntClaim": "https://www.nobid.io/privacy-policy/#legal_grounds" } ], - "dataDeclaration": [1, 2, 3, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://public.servenobid.com/gdpr_tcf/vendor_device_storage_operational_disclosures.json" }, "819": { "id": 819, "name": "retailAds GmbH & Co. KG", - "purposes": [1], - "legIntPurposes": [2, 7, 11], - "flexiblePurposes": [2, 7, 11], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, @@ -13037,8 +22967,12 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 0, - "purposes": { "7": 180 }, - "specialPurposes": { "1": 3650 } + "purposes": { + "7": 180 + }, + "specialPurposes": { + "1": 3650 + } }, "urls": [ { @@ -13047,17 +22981,39 @@ "legIntClaim": "https://www.retailads.net/de-de/ueberuns/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.retailads.net/tcf-ra-crT5slOk67jtV.json" }, "820": { "id": 820, "name": "Kameleoon SAS", - "purposes": [1, 3, 4, 5, 6, 7, 8, 10], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 7, + 8, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [10], + "flexiblePurposes": [ + 10 + ], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -13075,16 +23031,31 @@ "legIntClaim": "https://www.kameleoon.com/en/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://developers.kameleoon.com/tcf/kameleoon-tcf.json" }, "821": { "id": 821, "name": "vitrado GmbH", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -13093,7 +23064,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 365, - "purposes": { "7": 4320 }, + "purposes": { + "7": 4320 + }, "specialPurposes": {} }, "urls": [ @@ -13103,18 +23076,48 @@ "legIntClaim": "https://www.vitrado.de/datenschutz" } ], - "dataDeclaration": [1, 2, 11], + "dataDeclaration": [ + 1, + 2, + 11 + ], "deviceStorageDisclosureUrl": "https://static.ppro.de/deviceStorage.json" }, "825": { "id": 825, "name": "EDGE NPD Sp. z o.o.", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 63072000000, "usesCookies": true, "cookieRefresh": true, @@ -13131,16 +23134,27 @@ "legIntClaim": "https://abtshield.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6], + "dataDeclaration": [ + 1, + 2, + 3, + 6 + ], "deviceStorageDisclosureUrl": "https://d1.abtshield.com/disclosures.json" }, "826": { "id": 826, "name": "DNA-I.COM", - "purposes": [7, 8], + "purposes": [ + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -13148,8 +23162,14 @@ "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { - "purposes": { "7": 1095, "8": 1095 }, - "specialPurposes": { "1": 30, "2": 30 } + "purposes": { + "7": 1095, + "8": 1095 + }, + "specialPurposes": { + "1": 30, + "2": 30 + } }, "urls": [ { @@ -13158,18 +23178,39 @@ "legIntClaim": "https://www.adn.ai/fr/politique-confidentialite-adserver" } ], - "dataDeclaration": [2, 6], + "dataDeclaration": [ + 2, + 6 + ], "deviceStorageDisclosureUrl": "https://static.adn.ai/deploymanuel/tcf/deviceStorageDisclosure.json" }, "828": { "id": 828, "name": "TX Group AG", - "purposes": [1, 3, 5, 6], - "legIntPurposes": [8, 9, 10], + "purposes": [ + 1, + 3, + 5, + 6 + ], + "legIntPurposes": [ + 8, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 94608000, "usesCookies": true, "cookieRefresh": false, @@ -13196,17 +23237,45 @@ "legIntClaim": "https://tx.group/fr/declaration-de-confidentialite/#process_personal_data" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://dai-video.s3.eu-central-1.amazonaws.com/JSON/TcfTXDeviceStorage.json" }, "831": { "id": 831, "name": "United Internet Media GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -13224,23 +23293,42 @@ "legIntClaim": "https://www.united-internet-media.de/de/datenschutzhinweis/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.united-internet-media.de/services/deviceStorage.json" }, "832": { "id": 832, "name": "Objective Partners BV", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 120 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 120 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -13248,18 +23336,35 @@ "legIntClaim": "https://www.objectiveplatform.com/cookie-policy-and-privacy-statement/" } ], - "dataDeclaration": [3], + "dataDeclaration": [ + 3 + ], "deviceStorageDisclosureUrl": "https://opt.objectiveportal.com/deviceStorage.json" }, "833": { "id": 833, "name": "Disqus", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [2], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -13276,18 +23381,45 @@ "legIntClaim": "https://help.disqus.com/en/articles/1717103-disqus-privacy-policy" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://disqus.com/.well-known/deviceStorageDisclosure.json" }, "834": { "id": 834, "name": "ADRENALEAD", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -13309,16 +23441,31 @@ "legIntClaim": "https://adrenalead.com/en/data-protection-policy" } ], - "dataDeclaration": [1, 5, 7, 8], + "dataDeclaration": [ + 1, + 5, + 7, + 8 + ], "deviceStorageDisclosureUrl": "https://aleadinfo.com/deviceStorage.json" }, "835": { "id": 835, "name": "Quality Media Network GmbH", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 25920000, @@ -13337,18 +23484,35 @@ "legIntClaim": "https://ads.qualitymedianetwork.de/privacy.php" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.qualitymedianetwork.de/json-file/deviceStorage2.json" }, "836": { "id": 836, "name": "Bring! Labs AG", - "purposes": [1], - "legIntPurposes": [7, 8, 10], - "flexiblePurposes": [7, 8], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 7, + 8 + ], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -13365,19 +23529,37 @@ "legIntClaim": "https://www.getbring.com/en/privacy-policy" } ], - "dataDeclaration": [1, 5, 7, 9, 10, 11], + "dataDeclaration": [ + 1, + 5, + 7, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://files.getbring.com/iab/DeviceStorageDisclosure.json" }, "838": { "id": 838, "name": "Jetpack Digital LLC", "purposes": [], - "legIntPurposes": [2, 7, 8, 10, 11], + "legIntPurposes": [ + 2, + 7, + 8, + 10, + 11 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -13394,18 +23576,29 @@ "legIntClaim": "https://jetpack.net/privacy" } ], - "dataDeclaration": [6], + "dataDeclaration": [ + 6 + ], "deviceStorageDisclosureUrl": "https://ads.jetpackdigital.com/tcf.json" }, "842": { "id": 842, "name": "PubWise, LLLP", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 1800, "usesCookies": true, "cookieRefresh": false, @@ -13422,19 +23615,36 @@ "legIntClaim": "https://admin.pubwise.io/publisher/privacypolicy#gli" } ], - "dataDeclaration": [1, 3, 4, 5, 8, 9], + "dataDeclaration": [ + 1, + 3, + 4, + 5, + 8, + 9 + ], "deviceStorageDisclosureUrl": "https://admin.pubwise.io/publisher/device-disclosure.json" }, "844": { "id": 844, "name": "SPICY MOBILE Karczewski Zawadzki Sp\u00f3\u0142ka Jawna", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 2419200, "usesCookies": true, "cookieRefresh": true, @@ -13450,17 +23660,31 @@ "privacy": "https://spicymobile.pl/polityka-prywatnosci" } ], - "dataDeclaration": [1, 2, 3, 6, 7], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7 + ], "deviceStorageDisclosureUrl": "https://spicyrtb.com/static/iab-disclosure.json" }, "845": { "id": 845, "name": "GeoEdge", "purposes": [], - "legIntPurposes": [7], - "flexiblePurposes": [7], - "specialPurposes": [1], - "features": [1], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -13478,27 +23702,48 @@ "legIntClaim": "https://www.geoedge.com/privacy-policy/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://www.geoedge.com/privacy/deviceStorage.json" }, "848": { "id": 848, "name": "BSmartData GmbH", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 0, - "purposes": { "3": 7, "4": 7 }, - "specialPurposes": { "1": 7 } + "purposes": { + "3": 7, + "4": 7 + }, + "specialPurposes": { + "1": 7 + } }, "urls": [ { @@ -13507,17 +23752,30 @@ "legIntClaim": "https://www.bsmartdata.com/en/privacy/" } ], - "dataDeclaration": [1, 2, 6, 10], + "dataDeclaration": [ + 1, + 2, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://ad.bsmartdata.com/DeviceStorage.json" }, "849": { "id": 849, "name": "Epom Ltd.", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -13525,7 +23783,9 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 3, - "purposes": { "2": 730 }, + "purposes": { + "2": 730 + }, "specialPurposes": {} }, "urls": [ @@ -13535,19 +23795,44 @@ "legIntClaim": "https://epom.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 8], + "dataDeclaration": [ + 1, + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://epom.com/deviceStorage.json" }, "850": { "id": 850, "name": "Publisher First, Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 604800, "usesCookies": true, "cookieRefresh": true, @@ -13564,7 +23849,9 @@ "9": 730, "10": 730 }, - "specialPurposes": { "1": 730 } + "specialPurposes": { + "1": 730 + } }, "urls": [ { @@ -13573,16 +23860,34 @@ "legIntClaim": "https://freestar.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://iab.pub.network/json/freestar-us.json" }, "851": { "id": 851, "name": "Strossle International AB", - "purposes": [1], - "legIntPurposes": [2, 7, 8, 10, 11], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10, + 11 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -13601,16 +23906,28 @@ "legIntClaim": "https://www.strossle.com/platform-privacy-notice" } ], - "dataDeclaration": [1, 3, 8, 11], + "dataDeclaration": [ + 1, + 3, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://strossle.com/disclosures.json" }, "854": { "id": 854, "name": "eMarketingSolutions, Online Marketing S.L.", - "purposes": [2, 7, 8], + "purposes": [ + 2, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -13634,18 +23951,39 @@ "legIntClaim": "https://emarketingsolutions.es/privacy-policy/?lang=en" } ], - "dataDeclaration": [1, 2, 6], + "dataDeclaration": [ + 1, + 2, + 6 + ], "deviceStorageDisclosureUrl": "https://api-emas.uintertool.com/api/disclosures" }, "855": { "id": 855, "name": "Adnuntius AS", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 214748364, "usesCookies": true, "cookieRefresh": true, @@ -13653,7 +23991,9 @@ "dataRetention": { "stdRetention": 30, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -13662,16 +24002,45 @@ "legIntClaim": "https://adnuntius.com/resources/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://delivery.adnuntius.com/.well-known/deviceStorage.json" }, "856": { "id": 856, "name": "Petal Ads", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -13680,7 +24049,9 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 365, - "purposes": { "2": 7 }, + "purposes": { + "2": 7 + }, "specialPurposes": {} }, "urls": [ @@ -13690,17 +24061,43 @@ "legIntClaim": "https://h5hosting.dbankcdn.com/cch5/PPS/ads/interests/legitimate_interests.htm" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://h5hosting-dre.dbankcdn.com/cch5/PPS/ads/tcfvendor/disclosure.json" }, "857": { "id": 857, "name": "SOMQUERY SOMTAG - (SevenOne Media)", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 10], - "flexiblePurposes": [2, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 10 + ], + "flexiblePurposes": [ + 2, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -13718,17 +24115,52 @@ "legIntClaim": "https://www.seven.one/datenschutzhinweise/somquery-somtag#legIntClaim" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ad.71i.de/consent/deviceStorage.json" }, "858": { "id": 858, "name": "Mediavine, Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31560000, "usesCookies": true, @@ -13746,19 +24178,51 @@ "legIntClaim": "https://www.mediavine.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.mediavine.com/deviceStorage.json" }, "861": { "id": 861, "name": "Triple13 Ltd", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], - "specialFeatures": [2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -13775,7 +24239,9 @@ "9": 730, "10": 730 }, - "specialPurposes": { "1": 730 } + "specialPurposes": { + "1": 730 + } }, "urls": [ { @@ -13784,16 +24250,39 @@ "legIntClaim": "https://freestar.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://static.s2s.t13.io/iab/deviceStorageDisclosure.json" }, "862": { "id": 862, "name": "Truvid Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 8], - "legIntPurposes": [7, 10], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8 + ], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 5184000, @@ -13812,17 +24301,37 @@ "legIntClaim": "https://www.truvid.com/terms/privacy_policy" } ], - "dataDeclaration": [2, 7, 8], + "dataDeclaration": [ + 2, + 7, + 8 + ], "deviceStorageDisclosureUrl": "https://www.truvid.com/deviceStorage.json" }, "864": { "id": 864, "name": "I.R.V. D.O.O.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -13839,16 +24348,29 @@ "privacy": "https://www.contentexchange.me/privacy-policy/" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 10], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 10 + ], "deviceStorageDisclosureUrl": "https://hb.contentexchange.me/template/deviceStorage.json" }, "866": { "id": 866, "name": "YieldLift LLC", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -13867,17 +24389,31 @@ "legIntClaim": "https://yieldlift.com/privacy-policy.html" } ], - "dataDeclaration": [11], + "dataDeclaration": [ + 11 + ], "deviceStorageDisclosureUrl": "https://yieldlift.s3.amazonaws.com/yl-vendor-device-storage-and-operational-disclosures.json" }, "868": { "id": 868, "name": "Converto AG", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -13894,18 +24430,53 @@ "privacy": "https://www.converto.com/datenschutz-privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://converto-docs.s3.eu-central-1.amazonaws.com/TCD+2.0+json/converto-tcf-vendor-cookie.json" }, "869": { "id": 869, "name": "Brave People Ltd.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1], - "features": [3], - "specialFeatures": [1], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -13922,17 +24493,30 @@ "legIntClaim": "https://thebrave.io/privacy-policy/" } ], - "dataDeclaration": [8], + "dataDeclaration": [ + 8 + ], "deviceStorageDisclosureUrl": "https://thebrave.io/tcf.json" }, "871": { "id": 871, "name": "Ingenious Technologies AG", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [2, 3], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -13955,16 +24539,29 @@ "legIntClaim": "https://www.ingenioustechnologies.com/de/datenschutzerklaerung/" } ], - "dataDeclaration": [1, 2, 4, 5, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://storage.googleapis.com/i19s-tcf/deviceStorageDisclosure_871.json" }, "872": { "id": 872, "name": "IVO Media Ltd", "purposes": [], - "legIntPurposes": [2, 7], + "legIntPurposes": [ + 2, + 7 + ], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -13983,19 +24580,37 @@ "legIntClaim": "https://www.ivo.io/privacy/" } ], - "dataDeclaration": [1, 6, 8], + "dataDeclaration": [ + 1, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://t.servedbyivo.com/tcfv2.json" }, "874": { "id": 874, "name": "PRECISO SRL", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -14012,17 +24627,32 @@ "legIntClaim": "https://preciso.net/privacy.html" } ], - "dataDeclaration": [6, 7, 8], + "dataDeclaration": [ + 6, + 7, + 8 + ], "deviceStorageDisclosureUrl": "https://preciso.net/deviceStorage.json" }, "878": { "id": 878, "name": "Nat\u00edv Hirdet\u00e9s Korl\u00e1tolt Felel\u0151ss\u00e9g\u0171 T\u00e1rsas\u00e1g", - "purposes": [1], - "legIntPurposes": [2, 7, 8], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 8 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 5184000, "usesCookies": true, @@ -14045,18 +24675,45 @@ "legIntClaim": "https://related.hu/en/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://related.hu/tcf/tcf.json" }, "879": { "id": 879, "name": "Appush Technologies", - "purposes": [3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [2], + "purposes": [ + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -14073,16 +24730,26 @@ "legIntClaim": "https://appush.com/wp-content/uploads/2022/06/Platform-Privacy-Policy-Appush.pdf" } ], - "dataDeclaration": [8], + "dataDeclaration": [ + 8 + ], "deviceStorageDisclosureUrl": "https://www.thebiding.com/disclosures.json" }, "881": { "id": 881, "name": "Hillside (Sports) GP Limited", - "purposes": [1, 2, 7, 8, 10], + "purposes": [ + 1, + 2, + 7, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 388800, @@ -14191,18 +24858,37 @@ "legIntClaim": "https://www.bet365partners.com/ja/privacypolicy" } ], - "dataDeclaration": [1, 2, 4, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 11 + ], "deviceStorageDisclosureUrl": "https://www.bet365partners.com/privacypolicy/iab_tcf/device_storage.json" }, "882": { "id": 882, "name": "NumberEight Technologies Ltd", - "purposes": [1, 3, 5, 10], - "legIntPurposes": [9], + "purposes": [ + 1, + 3, + 5, + 10 + ], + "legIntPurposes": [ + 9 + ], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -14219,18 +24905,48 @@ "legIntClaim": "https://portal.eu.numbereight.ai/policies-license#software-privacy-notice" } ], - "dataDeclaration": [1, 2, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://server.eu.numbereight.ai/.well-known/deviceStorage.json" }, "884": { "id": 884, "name": "Listonic Sp. z o.o.", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 34560000, "usesCookies": true, "cookieRefresh": false, @@ -14247,17 +24963,50 @@ "legIntClaim": "https://listonic.com/privacy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ocs-pl.oktawave.com/v1/AUTH_0766c9f9-3aa7-4a69-83ac-7625429eb50e/ListonicStatic/TCF/VendorDeviceStorage%26OperationalDisclosures.json" }, "885": { "id": 885, "name": "Dianomi PLC", - "purposes": [1, 3, 4, 5, 6, 8, 9], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 8, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -14275,17 +25024,35 @@ "legIntClaim": "https://www.dianomi.com/legal/privacy.epl" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.dianomi.com/device_storage.json" }, "888": { "id": 888, "name": "Gadsme", - "purposes": [1, 2, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -14297,17 +25064,33 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.gadsme.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://www.gadsme.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 8, 11], "deviceStorageDisclosureUrl": "https://www.gadsme.com/device-storage-disclosure.json" }, "889": { "id": 889, "name": "Admo.tv (Clickon)", - "purposes": [7, 9], + "purposes": [ + 7, + 9 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 9], + "flexiblePurposes": [ + 7, + 9 + ], "specialPurposes": [], "features": [], "specialFeatures": [], @@ -14327,13 +25110,23 @@ "legIntClaim": "https://www.admo.tv/en/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://vol.admo.tv/cookie-properties.json" }, "890": { "id": 890, "name": "Channel Pilot Solutions GmbH", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -14343,14 +25136,21 @@ "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 30 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 30 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", "privacy": "https://channelpilot.co.uk/privacy-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://static.content.channelpilot.com/tcf.json" }, "892": { @@ -14359,14 +25159,26 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "1": 215 } }, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "1": 215 + } + }, "urls": [ { "langId": "en", @@ -14374,17 +25186,27 @@ "legIntClaim": "https://www.geoprove.io/?page_id=222" } ], - "dataDeclaration": [1, 3, 9], + "dataDeclaration": [ + 1, + 3, + 9 + ], "deviceStorageDisclosureUrl": "https://www.geoprove.io/deviceStorage.json" }, "893": { "id": 893, "name": "TimeOne Performance", - "purposes": [1, 7, 9], + "purposes": [ + 1, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 1123200, "usesCookies": true, @@ -14396,21 +25218,47 @@ "specialPurposes": {} }, "urls": [ - { "langId": "fr", "privacy": "https://privacy.timeonegroup.com/" }, - { "langId": "en", "privacy": "https://privacy.timeonegroup.com/" } + { + "langId": "fr", + "privacy": "https://privacy.timeonegroup.com/" + }, + { + "langId": "en", + "privacy": "https://privacy.timeonegroup.com/" + } + ], + "dataDeclaration": [ + 1, + 3, + 6, + 8, + 11 ], - "dataDeclaration": [1, 3, 6, 8, 11], "deviceStorageDisclosureUrl": "https://tracking.publicidees.com/iab_tcf.json" }, "896": { "id": 896, "name": "IPSOS MORI UK LTD", - "purposes": [1], - "legIntPurposes": [8, 9], - "flexiblePurposes": [8, 9], - "specialPurposes": [1], - "features": [3], - "specialFeatures": [2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 8, + 9 + ], + "flexiblePurposes": [ + 8, + 9 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -14427,25 +25275,47 @@ "legIntClaim": "https://iris.ipsos.com/site-centric-privacy/#legitimateInterests" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://download.dotmetrics.net/Privacy/deviceStorage.json" }, "898": { "id": 898, "name": "Mobkoi Ltd", "purposes": [], - "legIntPurposes": [2, 10], - "flexiblePurposes": [2, 10], - "specialPurposes": [1, 2], - "features": [], - "specialFeatures": [], + "legIntPurposes": [ + 2, + 10 + ], + "flexiblePurposes": [ + 2, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [], + "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { - "purposes": { "2": 365, "10": 365 }, - "specialPurposes": { "1": 0, "2": 0 } + "purposes": { + "2": 365, + "10": 365 + }, + "specialPurposes": { + "1": 0, + "2": 0 + } }, "urls": [ { @@ -14454,16 +25324,35 @@ "legIntClaim": "https://www.mobkoi.com/advertising-platform-privacy-policy/" } ], - "dataDeclaration": [1, 2, 8, 11], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.maximus.mobkoi.com/tcf/deviceStorageDisclosure.json" }, "900": { "id": 900, "name": "Advisible AB", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -14482,19 +25371,44 @@ "legIntClaim": "https://www.advisible.com/privacy" } ], - "dataDeclaration": [1, 2, 8], + "dataDeclaration": [ + 1, + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://misc.advisible.com/static/deviceStorage.json" }, "902": { "id": 902, "name": "adQuery", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -14521,19 +25435,37 @@ "legIntClaim": "https://adquery.io/de" } ], - "dataDeclaration": [1, 2, 11], + "dataDeclaration": [ + 1, + 2, + 11 + ], "deviceStorageDisclosureUrl": "https://api.adquery.io/tcf/adQuery.json" }, "907": { "id": 907, "name": "AWIN AG", - "purposes": [1], - "legIntPurposes": [7], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [2, 3], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -14590,17 +25522,35 @@ "legIntClaim": "https://www.awin.com/es/privacidad" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.awin.com/AwinDeviceStorage.json" }, "909": { "id": 909, "name": "MobileFuse LLC", - "purposes": [1, 7, 9, 10], + "purposes": [ + 1, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -14618,18 +25568,33 @@ "legIntClaim": "https://mobilefuse.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://mobilefuse.com/storage-disclosures.json" }, "911": { "id": 911, "name": "Redbranch, Inc dba Fraudlogix", "purposes": [], - "legIntPurposes": [7], + "legIntPurposes": [ + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1], + "specialPurposes": [ + 1 + ], "features": [], - "specialFeatures": [2], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -14646,17 +25611,36 @@ "legIntClaim": "https://www.fraudlogix.com/privacy-policy/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://ws.fraudlogix.com/json/tcf_storage.json" }, "915": { "id": 915, "name": "Opti Digital SAS", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [2], - "features": [3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -14674,16 +25658,40 @@ "legIntClaim": "https://www.optidigital.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://scripts.opti-digital.com/deviceStorageDisclosure.json" }, "918": { "id": 918, "name": "SPORTORITY UK LTD", - "purposes": [1, 2, 5, 6], - "legIntPurposes": [7, 8, 9, 10, 11], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 5, + 6 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 1800, @@ -14692,7 +25700,9 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 2555, - "purposes": { "2": 0 }, + "purposes": { + "2": 0 + }, "specialPurposes": {} }, "urls": [ @@ -14702,16 +25712,38 @@ "legIntClaim": "https://www.90min.com/privacy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://disclosures.mmctsvc.com/device-storage.json" }, "919": { "id": 919, "name": "Livewrapped AB", - "purposes": [1], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -14730,19 +25762,47 @@ "legIntClaim": "https://livewrapped.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://content.lwadm.com/deviceStorageDisclosure.json" }, "920": { "id": 920, "name": "Bertelsmann Data Service GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -14759,18 +25819,43 @@ "legIntClaim": "https://www.bertelsmann.de/meta/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 9, 10], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 9, + 10 + ], "deviceStorageDisclosureUrl": "https://static.emsservice.de/iabtcf_dbs/deviceStorageDisclosure.json" }, "922": { "id": 922, "name": "Amnet GmbH", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 30758400, "usesCookies": true, "cookieRefresh": true, @@ -14792,16 +25877,29 @@ "legIntClaim": "https://mediaintelligence.de/privacy-policyeng.do" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://min.easyapi.de/api/tcf/definitions/disclosures" }, "924": { "id": 924, "name": "Viewdeos 2015 LTD", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -14820,16 +25918,23 @@ "legIntClaim": "https://www.viewdeos.com/privacy-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.viewdeos.com/data-storage.json" }, "927": { "id": 927, "name": "Silverbullet Data Services Group", "purposes": [], - "legIntPurposes": [7, 8], + "legIntPurposes": [ + 7, + 8 + ], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -14848,16 +25953,27 @@ "legIntClaim": "https://wearesilverbullet.com/privacy-policy/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://7tlp5dm2ukowza6ygrv4n3gdim0fkhaw.lambda-url.eu-west-1.on.aws/" }, "929": { "id": 929, "name": "eBay Inc", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, @@ -14876,18 +25992,36 @@ "legIntClaim": "https://www.ebay.com/help/policies/member-behaviour-policies/user-privacy-notice-privacy-policy?id=4260#section5" } ], - "dataDeclaration": [1, 2, 11], + "dataDeclaration": [ + 1, + 2, + 11 + ], "deviceStorageDisclosureUrl": "https://secureir.ebaystatic.com/cr/mscdn/627f27978c395dc765e2ddee7a9865e3/tcfdisclosure.json" }, "930": { "id": 930, "name": "IQM CORPORATION", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 1296000, "usesCookies": true, "cookieRefresh": true, @@ -14904,16 +26038,27 @@ "legIntClaim": "https://iqm.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://d64is2qkxbhv3.cloudfront.net/public/disclosures.json" }, "931": { "id": 931, "name": "Traffective GmbH", - "purposes": [1, 8], + "purposes": [ + 1, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 365, @@ -14942,13 +26087,20 @@ "legIntClaim": "https://www.iubenda.com/privacy-policy/69617719/legal" } ], - "dataDeclaration": [1, 11], + "dataDeclaration": [ + 1, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.opencmp.net/vendor-device-storage-disclosures.json" }, "934": { "id": 934, "name": "Brid Video DOO", - "purposes": [1, 7, 8], + "purposes": [ + 1, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -14970,15 +26122,30 @@ "legIntClaim": "https://cms.brid.tv/pages/view/privacy" } ], - "dataDeclaration": [2, 8], + "dataDeclaration": [ + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://services.brid.tv/disclosures.json" }, "935": { "id": 935, "name": "INIS sp. zo.o.", - "purposes": [1, 3, 4, 5, 6, 7, 8, 10], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 7, + 8, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 8], + "flexiblePurposes": [ + 7, + 8 + ], "specialPurposes": [], "features": [], "specialFeatures": [], @@ -14988,7 +26155,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 30, - "purposes": { "3": 365, "5": 365, "10": 365 }, + "purposes": { + "3": 365, + "5": 365, + "10": 365 + }, "specialPurposes": {} }, "urls": [ @@ -14998,17 +26169,29 @@ "legIntClaim": "https://www.inis.pl/polityka-prywatnosci" } ], - "dataDeclaration": [1, 2, 7], + "dataDeclaration": [ + 1, + 2, + 7 + ], "deviceStorageDisclosureUrl": "https://www.inis.pl/tcf/vendor.json" }, "936": { "id": 936, "name": "DIGITAL SQUAD", - "purposes": [1, 2, 3, 4, 5], + "purposes": [ + 1, + 2, + 3, + 4, + 5 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 360, "usesCookies": true, @@ -15029,18 +26212,40 @@ "privacy": "https://www.squadata.net/private-policy/" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://asset.easydmp.net/tcf-v2.json" }, "937": { "id": 937, "name": "SoD ScreenOnDemand GmbH", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -15048,7 +26253,9 @@ "dataRetention": { "stdRetention": 30, "purposes": {}, - "specialPurposes": { "1": 365 } + "specialPurposes": { + "1": 365 + } }, "urls": [ { @@ -15062,19 +26269,53 @@ "legIntClaim": "https://screenondemand.fr/traitement-des-donnees-par-sod-screenondemand/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.adtech.app/gen/deviceStorageDisclosure/sod.json" }, "938": { "id": 938, "name": "dataXtrade GmbH", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "flexiblePurposes": [ + 2, + 7, + 8 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -15082,7 +26323,9 @@ "dataRetention": { "stdRetention": 30, "purposes": {}, - "specialPurposes": { "1": 365 } + "specialPurposes": { + "1": 365 + } }, "urls": [ { @@ -15091,23 +26334,43 @@ "legIntClaim": "https://dataxtrade.com/de/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.adtech.app/gen/deviceStorageDisclosure/dxt.json" }, "940": { "id": 940, "name": "Terminus Software Inc.", "purposes": [], - "legIntPurposes": [7], + "legIntPurposes": [ + 7 + ], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 4320 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 4320 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -15115,13 +26378,27 @@ "legIntClaim": "https://terminus.com/privacy-policy/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://iabdisclosure.terminusplatform.com/deviceStorageDisclosureURL.json" }, "941": { "id": 941, "name": "ADSOCY", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -15143,17 +26420,32 @@ "legIntClaim": "https://adsocy.com/politica-de-privacidad-y-aviso-legal/" } ], - "dataDeclaration": [1, 6, 8, 11], + "dataDeclaration": [ + 1, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://adsocy.com/vendor.json" }, "943": { "id": 943, "name": "Marfeel Solutions, SL (Compass)", - "purposes": [1, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -15170,17 +26462,37 @@ "privacy": "https://community.marfeel.com/t/marfeel-saas-privacy-policy/7500" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://live.mrf.io/statics/marfeel/resources/lib/deviceStorage/compass.json" }, "944": { "id": 944, "name": "AudienceRun corp", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -15188,7 +26500,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 730, - "purposes": { "2": 365, "3": 365, "4": 365 }, + "purposes": { + "2": 365, + "3": 365, + "4": 365 + }, "specialPurposes": {} }, "urls": [ @@ -15198,17 +26514,38 @@ "legIntClaim": "https://www.audiencerun.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.audiencerun.com/tcf.json" }, "946": { "id": 946, "name": "belboon GmbH", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [2, 3], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -15246,7 +26583,15 @@ "legIntClaim": "https://belboon.com/es/privacidad/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://webservice.belboon.com/global-vendor-list/device-storage-disclosure.json" }, "950": { @@ -15255,14 +26600,21 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "2": 0 } }, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "2": 0 + } + }, "urls": [ { "langId": "en", @@ -15270,16 +26622,27 @@ "legIntClaim": "https://app.streameye.com/policy/net" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://static.streameye.net/iab/dsdu.json" }, "951": { "id": 951, "name": "Spoods GmbH", - "purposes": [2, 7], + "purposes": [ + 2, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -15298,18 +26661,31 @@ "legIntClaim": "https://www.spoods.info/#gdpr" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.spoods.info/wp-content/uploads/2022/07/Spoods.json" }, "952": { "id": 952, "name": "ProSiebenSat.1 Digital Data GmbH", - "purposes": [1, 3, 4, 7, 10], + "purposes": [ + 1, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], - "specialFeatures": [1], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -15325,7 +26701,19 @@ "privacy": "https://www.7pass.de/psdd/datenschutzbestimmungen-cdb.html" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.7pass.de/psdd/deviceStorage.json" }, "953": { @@ -15334,14 +26722,21 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "2": 0 } }, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "2": 0 + } + }, "urls": [ { "langId": "de", @@ -15349,16 +26744,25 @@ "legIntClaim": "https://www.adbalancer.com/legitimes-interesse" } ], - "dataDeclaration": [8], + "dataDeclaration": [ + 8 + ], "deviceStorageDisclosureUrl": "https://streaming-cdn.ad-balancer.at/deviceStorageDisclosure.json" }, "954": { "id": 954, "name": "Caroda s.r.o.", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -15368,7 +26772,9 @@ "dataRetention": { "stdRetention": 30, "purposes": {}, - "specialPurposes": { "1": 90 } + "specialPurposes": { + "1": 90 + } }, "urls": [ { @@ -15377,17 +26783,38 @@ "legIntClaim": "https://www.caroda.io/privacy-statement" } ], - "dataDeclaration": [1, 2, 6, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn2.caroda.io/tcfvds/2022-05-17/deviceStorage.json" }, "955": { "id": 955, "name": "Konodrac S.L.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -15403,19 +26830,46 @@ "langId": "es", "privacy": "https://konodrac.com/politica-privacidad/" }, - { "langId": "en", "privacy": "https://konodrac.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://konodrac.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "deviceStorageDisclosureUrl": "https://www.konograma.com/public/device_storage_disclosure.json" }, "956": { "id": 956, "name": "Avantis Video Ltd", - "purposes": [1, 2, 7, 8, 10, 11], + "purposes": [ + 1, + 2, + 7, + 8, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -15423,7 +26877,10 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 400, - "purposes": { "2": 0, "11": 0 }, + "purposes": { + "2": 0, + "11": 0 + }, "specialPurposes": {} }, "urls": [ @@ -15433,26 +26890,56 @@ "legIntClaim": "https://www.avantisvideo.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 6, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://avantisvideo.com/local-storage-disclosure.json" }, "957": { "id": 957, "name": "Evolution Technologies Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 86400, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 60, - "purposes": { "2": 90, "4": 90, "6": 90, "10": 90 }, - "specialPurposes": { "1": 90 } + "purposes": { + "2": 90, + "4": 90, + "6": 90, + "10": 90 + }, + "specialPurposes": { + "1": 90 + } }, "urls": [ { @@ -15461,13 +26948,21 @@ "legIntClaim": "https://e-volution.ai/privacy-policy-3/" } ], - "dataDeclaration": [1, 4], + "dataDeclaration": [ + 1, + 4 + ], "deviceStorageDisclosureUrl": "https://e-volution.ai/file.json" }, "958": { "id": 958, "name": "Clipr", - "purposes": [1, 7, 8, 10], + "purposes": [ + 1, + 7, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -15483,21 +26978,47 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.clipr.co/privacy-terms" } + { + "langId": "en", + "privacy": "https://www.clipr.co/privacy-terms" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 11 ], - "dataDeclaration": [1, 2, 6, 7, 8, 11], "deviceStorageDisclosureUrl": "https://m.clipr.co/deviceStorage.json" }, "959": { "id": 959, "name": "adWMG", - "purposes": [1, 2, 3, 4, 5, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [2], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1 + ], + "features": [ + 2 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -15511,7 +27032,9 @@ "10": 120, "11": 120 }, - "specialPurposes": { "1": 90 } + "specialPurposes": { + "1": 90 + } }, "urls": [ { @@ -15520,19 +27043,36 @@ "legIntClaim": "https://adwmg.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3], + "dataDeclaration": [ + 1, + 2, + 3 + ], "deviceStorageDisclosureUrl": "https://adwmg.com/.well-known/deviceStorage.json" }, "962": { "id": 962, "name": "Tangoo S.R.L.", - "purposes": [1, 2, 3, 4, 5, 6, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -15549,18 +27089,39 @@ "legIntClaim": "https://www.tangoomedia.com/services_privacypolicy/" } ], - "dataDeclaration": [2, 3, 6, 7, 8, 11], + "dataDeclaration": [ + 2, + 3, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.tangoomedia.com/deviceStorage.json" }, "964": { "id": 964, "name": "Solution coupons", - "purposes": [2, 4, 7, 8, 9, 10], + "purposes": [ + 2, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -15577,24 +27138,39 @@ "legIntClaim": "https://solution.coupons/privacy" } ], - "dataDeclaration": [4], + "dataDeclaration": [ + 4 + ], "deviceStorageDisclosureUrl": "https://mkt.solution.coupons/deviceStorageDisclosure.json" }, "965": { "id": 965, "name": "Nexx360", - "purposes": [1], - "legIntPurposes": [10], - "flexiblePurposes": [10], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 10 + ], + "flexiblePurposes": [ + 10 + ], "specialPurposes": [], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 15552000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "10": 0 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "10": 0 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -15607,13 +27183,17 @@ "legIntClaim": "https://www.nexx360.io/politique-de-confidentialite-et-cookies/" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://fast.nexx360.io/deviceStorage.json" }, "966": { "id": 966, "name": "socoto gmbh & co. kg", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -15623,21 +27203,56 @@ "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 0 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 0 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "de", "privacy": "https://www.socoto.com/datenschutz/" } + { + "langId": "de", + "privacy": "https://www.socoto.com/datenschutz/" + } + ], + "dataDeclaration": [ + 1 ], - "dataDeclaration": [1], "deviceStorageDisclosureUrl": "https://www.socoto.com/.iab/deviceStorage.json" }, "967": { "id": 967, "name": "glomex GmbH", - "purposes": [1, 3, 4, 6, 9], - "legIntPurposes": [2, 7, 8, 10, 11], - "flexiblePurposes": [2, 7, 8, 10, 11], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "purposes": [ + 1, + 3, + 4, + 6, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -15645,7 +27260,11 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "2": 0, "3": 0, "4": 0 }, + "purposes": { + "2": 0, + "3": 0, + "4": 0 + }, "specialPurposes": {} }, "urls": [ @@ -15655,17 +27274,36 @@ "legIntClaim": "https://www.glomex.com/en/privacy-policy/privacy-notice-for-the-glomex-player/" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://player.glomex.com/.well-known/deviceStorage.json" }, "968": { "id": 968, "name": "WEMASS MEDIA AUDIENCE SAFE SOLUTIONS, S.L. ", - "purposes": [1, 3, 4, 7, 10], + "purposes": [ + 1, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 94608000, "usesCookies": true, @@ -15683,18 +27321,41 @@ "legIntClaim": "https://wemass.com/privacidad/" } ], - "dataDeclaration": [2, 4, 8, 11], + "dataDeclaration": [ + 2, + 4, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://sellers.wemass.com/deviceStorage.json" }, "970": { "id": 970, "name": "Frameplay Corporation", - "purposes": [1, 4], - "legIntPurposes": [2, 7, 8, 9, 10], + "purposes": [ + 1, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -15711,17 +27372,35 @@ "legIntClaim": "https://www.frameplay.gg/terms" } ], - "dataDeclaration": [1, 2, 3, 4, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8 + ], "deviceStorageDisclosureUrl": "https://www.frameplay.gg/deviceStorageDisclosure.json" }, "972": { "id": 972, "name": "Kargo Global Inc.", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -15739,18 +27418,34 @@ "legIntClaim": "https://kargo.com/privacy" } ], - "dataDeclaration": [1, 2, 6, 8], + "dataDeclaration": [ + 1, + 2, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://storage.cloud.kargo.com/device_storage_disclosure.json" }, "973": { "id": 973, "name": "Cluep LLC", - "purposes": [2, 4, 7, 9, 10], + "purposes": [ + 2, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [1, 2], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -15767,16 +27462,31 @@ "legIntClaim": "https://cluep.com/privacy/notice" } ], - "dataDeclaration": [1, 2, 3, 4, 7, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://assets-cluep.s3.amazonaws.com/iab/cluep-tcfv2.json" }, "975": { "id": 975, "name": "Playrcart Limited", - "purposes": [8, 10], + "purposes": [ + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -15795,18 +27505,34 @@ "legIntClaim": "https://www.playrcart.com/privacy-policy/" } ], - "dataDeclaration": [2, 8], + "dataDeclaration": [ + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://www.playrcart.com/device-storage-disclosure.json" }, "976": { "id": 976, "name": "Pelmorex Corp.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 3], - "specialFeatures": [1], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -15822,18 +27548,35 @@ "privacy": "https://www.eltiempo.es/legal/politica-privacidad.html" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.pelmorexcorp.es/.well-known/deviceStorage.json" }, "978": { "id": 978, "name": "ARKHEUS", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -15849,13 +27592,26 @@ "privacy": "https://www.arkheus.fr/conditions-d-utilisation/" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.arkheus.fr/tcf.json" }, "982": { "id": 982, "name": "Netpoint Media GmbH", - "purposes": [1, 2], + "purposes": [ + 1, + 2 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -15865,24 +27621,39 @@ "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "2": 30 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "2": 30 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "de", "privacy": "https://www.netpoint-media.de/technik/datenschutz" } ], - "dataDeclaration": [6], + "dataDeclaration": [ + 6 + ], "deviceStorageDisclosureUrl": "https://cdn.netpoint-media.de/iab/deviceStorage.json" }, "985": { "id": 985, "name": "TV SQUARED LIMITED d/b/a InnovidXP", - "purposes": [1, 7, 9], + "purposes": [ + 1, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -15900,39 +27671,88 @@ "legIntClaim": "https://www.innovid.com/privacy-policy/#additional-information-europe-residents" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://devicestorage.tvsquared.com/deviceStorage.json" }, "987": { "id": 987, "name": "Media16 ltd", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 32 }, + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "7": 30 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 30 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "en", "privacy": "https://media16.tv/privacy-policy/" } + { + "langId": "en", + "privacy": "https://media16.tv/privacy-policy/" + } + ], + "dataDeclaration": [ + 1 ], - "dataDeclaration": [1], "deviceStorageDisclosureUrl": "https://media16.tv/disclosure.json" }, "990": { "id": 990, "name": "QuantumCast digital GmbH", - "purposes": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -15940,7 +27760,9 @@ "dataRetention": { "stdRetention": 1080, "purposes": {}, - "specialPurposes": { "1": 7 } + "specialPurposes": { + "1": 7 + } }, "urls": [ { @@ -15954,18 +27776,39 @@ "legIntClaim": "https://www.quantumcast-digital.de" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://agginfo.quantumcast.cloud/deviceStorage.json" }, "991": { "id": 991, "name": "iProspect GmbH", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [2], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 30758400, "usesCookies": true, "cookieRefresh": true, @@ -15987,13 +27830,26 @@ "legIntClaim": "https://inetpro.io/privacy-policy.do" } ], - "dataDeclaration": [1, 2, 4, 6, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://n2.min.emcustomers.de/api/tcf/definitions/disclosures" }, "993": { "id": 993, "name": "QUARTER MEDIA GmbH", - "purposes": [1, 2, 3, 7, 8, 10], + "purposes": [ + 1, + 2, + 3, + 7, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -16008,18 +27864,46 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "de", "privacy": "https://quartermedia.de/daten/" }], - "dataDeclaration": [1, 2, 3, 11], + "urls": [ + { + "langId": "de", + "privacy": "https://quartermedia.de/daten/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.quartermedia-ad-service.net/prebid/device-storage.json" }, "994": { "id": 994, "name": "Leadoo Marketing Technologies Ltd", - "purposes": [3, 4, 5, 6, 9], - "legIntPurposes": [7, 8, 10], - "flexiblePurposes": [9], - "specialPurposes": [1, 2], - "features": [1, 3], + "purposes": [ + 3, + 4, + 5, + 6, + 9 + ], + "legIntPurposes": [ + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 9 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -16037,16 +27921,34 @@ "legIntClaim": "https://leadoo.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://res.leadoo.com/tcf/deviceStorage.json" }, "995": { "id": 995, "name": "Hashtag Labs Inc.", - "purposes": [1, 2, 4, 7], + "purposes": [ + 1, + 2, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -16065,16 +27967,32 @@ "legIntClaim": "https://hashtag-labs.com/privacy-policy.html" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://hashtag-labs.com/gvl-disclosures.json" }, "996": { "id": 996, "name": "CMI Marketing, Inc. d/b/a CafeMedia", - "purposes": [1, 3, 4, 5, 6, 7, 8, 10], - "legIntPurposes": [2], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 7, + 8, + 10 + ], + "legIntPurposes": [ + 2 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31000000, @@ -16093,17 +28011,35 @@ "legIntClaim": "https://cafemedia.com/publisher-advertising-privacy-policy/" } ], - "dataDeclaration": [1, 4, 5, 11], + "dataDeclaration": [ + 1, + 4, + 5, + 11 + ], "deviceStorageDisclosureUrl": "https://ads.adthrive.com/deviceStorage.json" }, "997": { "id": 997, "name": "EXOCLICK, S.L.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -16126,17 +28062,32 @@ "legIntClaim": "https://www.exoclick.com/es/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://a.exoclick.com/tcf/deviceStorage.php" }, "998": { "id": 998, "name": "Luna Media Group LLC", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 1209600, "usesCookies": true, @@ -16154,18 +28105,49 @@ "legIntClaim": "https://lunamedia.io/privacy-policy/" } ], - "dataDeclaration": [3], + "dataDeclaration": [ + 3 + ], "deviceStorageDisclosureUrl": "https://lunamedia.io/tcf.json" }, "1001": { "id": 1001, "name": "wetter.com GmbH", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -16182,17 +28164,35 @@ "legIntClaim": "https://www.wetter.com/internal/news/datenschutzhinweise_aid_607698849b8ecf79e21584fa.html" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cs3.wettercomassets.com/iab/disclosure.json" }, "1002": { "id": 1002, "name": "Extreme Reach, Inc", - "purposes": [1, 2, 7, 10], + "purposes": [ + 1, + 2, + 7, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 10], + "flexiblePurposes": [ + 7, + 10 + ], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -16210,16 +28210,32 @@ "legIntClaim": "https://NotApplicableConsetOnly" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://beacons.extremereach.io/gdpr-tcfv2.json" }, "1003": { "id": 1003, "name": "Mobility-Ads GmbH", - "purposes": [1], - "legIntPurposes": [7], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, @@ -16238,16 +28254,25 @@ "legIntClaim": "https://mobility-ads.de/datenschutz/" } ], - "dataDeclaration": [1, 11], + "dataDeclaration": [ + 1, + 11 + ], "deviceStorageDisclosureUrl": "https://backend.mobility-ads.de/deviceStorage.json" }, "1005": { "id": 1005, "name": "Somplo Ltd", "purposes": [], - "legIntPurposes": [7, 10], + "legIntPurposes": [ + 7, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -16266,23 +28291,39 @@ "legIntClaim": "https://somplo.com/privacy-policy/" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://somplo.com/wp-content/uploads/tcf/tcf.json" }, "1006": { "id": 1006, "name": "Onesoon Limited t/a Adalyser", - "purposes": [1], - "legIntPurposes": [7], - "flexiblePurposes": [7], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [ + 7 + ], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "7": 730 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 730 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -16290,19 +28331,32 @@ "legIntClaim": "https://adalyser.com/en/terms" } ], - "dataDeclaration": [1, 3], + "dataDeclaration": [ + 1, + 3 + ], "deviceStorageDisclosureUrl": "https://www.adalyser.com/iab-tcf-disclosures.json" }, "1009": { "id": 1009, "name": "VLYBY Digital GmbH", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [3], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -16319,16 +28373,30 @@ "legIntClaim": "https://www.vlyby.com/product-privacy" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.vlyby.com/conf/iab/gvl.json" }, "1014": { "id": 1014, "name": "Vyde Ltd.", "purposes": [], - "legIntPurposes": [7, 8, 10], + "legIntPurposes": [ + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -16347,18 +28415,40 @@ "legIntClaim": "https://www.wearevyde.com/privacy#legitimate-interest" } ], - "dataDeclaration": [1, 2, 8], + "dataDeclaration": [ + 1, + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://cdn.octaive.com/tcf-storage-disclosure.json" }, "1015": { "id": 1015, "name": "Samsung Ads", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -16395,16 +28485,40 @@ "legIntClaim": "https://policy.samsungrs.com/consent/eu/v1.0.0/privacy_policy_es.html#use-information" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://policy.samsungrs.com/consent/eu/deviceStorageDisclosure.json" }, "1016": { "id": 1016, "name": "FUNKE Digital GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -16423,13 +28537,26 @@ "legIntClaim": "https://funkedigital.de/datenschutzerklaerung/" } ], - "dataDeclaration": [1, 2, 3, 7], + "dataDeclaration": [ + 1, + 2, + 3, + 7 + ], "deviceStorageDisclosureUrl": "https://funkedigital.de/deviceStorage.json" }, "1017": { "id": 1017, "name": "giosg.com Oy", - "purposes": [1, 2, 4, 6, 7, 8, 10], + "purposes": [ + 1, + 2, + 4, + 6, + 7, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -16445,19 +28572,40 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.giosg.com/privacy-policy" } + { + "langId": "en", + "privacy": "https://www.giosg.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 6, + 7 ], - "dataDeclaration": [1, 6, 7], "deviceStorageDisclosureUrl": "https://service.giosg.com/static/tc_api/deviceStorage.json" }, "1020": { "id": 1020, "name": "Baidu USA", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31622400, "usesCookies": true, @@ -16475,19 +28623,40 @@ "legIntClaim": "https://www.mediago.io/policy/" } ], - "dataDeclaration": [6], + "dataDeclaration": [ + 6 + ], "deviceStorageDisclosureUrl": "https://cdn.mediago.io/js/tcf.json" }, "1021": { "id": 1021, "name": "Ringier Axel Springer Polska sp. z o.o.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [2], - "overflow": { "httpGetLimit": 128 }, + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 33696000, "usesCookies": true, "cookieRefresh": true, @@ -16509,18 +28678,41 @@ "legIntClaim": "https://privacy-policy.ringieraxelspringer.pl" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cmp.ringpublishing.com/iab/deviceStorage.json" }, "1022": { "id": 1022, "name": "AdView", - "purposes": [1, 2, 10], + "purposes": [ + 1, + 2, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -16537,17 +28729,35 @@ "legIntClaim": "https://www.adview.com/policy/privacy" } ], - "dataDeclaration": [1, 3, 8], + "dataDeclaration": [ + 1, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://www.adview.com/deviceStorageDisclosureUrl.json" }, "1024": { "id": 1024, "name": "THE LINEA 1 MKT SL", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -16565,17 +28775,40 @@ "legIntClaim": "https://www.tl1mkt.com/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.tl1mkt.net/devicestorage.json" }, "1025": { "id": 1025, "name": "Realytics", - "purposes": [1, 3, 5], - "legIntPurposes": [7, 9], - "flexiblePurposes": [7, 9], + "purposes": [ + 1, + 3, + 5 + ], + "legIntPurposes": [ + 7, + 9 + ], + "flexiblePurposes": [ + 7, + 9 + ], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -16593,16 +28826,33 @@ "legIntClaim": "https://www.realytics.io/platform-privacy-policy/" } ], - "dataDeclaration": [1, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://www.realytics.io/deviceStorage.json" }, "1026": { "id": 1026, "name": "crossvertise GmbH", - "purposes": [2, 4, 7], + "purposes": [ + 2, + 4, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -16621,19 +28871,31 @@ "legIntClaim": "https://www.crossvertise.com/rechtliches/datenschutz/datenschutzbestimmungen-iab-tcf" } ], - "dataDeclaration": [8], + "dataDeclaration": [ + 8 + ], "deviceStorageDisclosureUrl": "https://crossvertise.blob.core.windows.net/static-files/iab-disclosure.json" }, "1027": { "id": 1027, "name": "Exit Bee Limited", - "purposes": [1, 2, 3, 4, 5, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -16644,18 +28906,44 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.exitbee.com/privacy/" } + { + "langId": "en", + "privacy": "https://www.exitbee.com/privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 11 ], - "dataDeclaration": [1, 2, 6, 7, 8, 11], "deviceStorageDisclosureUrl": "https://cdn.exitbee.com/DeviceStorageDisclosure.json" }, "1028": { "id": 1028, "name": "Sparteo", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -16674,17 +28962,46 @@ "legIntClaim": "https://sparteo.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://bid.bricks-co.com/.well-known/deviceStorage.json" }, "1029": { "id": 1029, "name": "Dentsu A/S", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 30240, "usesCookies": true, @@ -16702,19 +29019,34 @@ "legIntClaim": "https://www.dentsu.com/dk/dk/privatlivspolitik" } ], - "dataDeclaration": [2, 5, 6, 10], + "dataDeclaration": [ + 2, + 5, + 6, + 10 + ], "deviceStorageDisclosureUrl": "https://storage.googleapis.com/dentsu-dk-iab-tcf/vendor_json.json" }, "1031": { "id": 1031, "name": "Havas Media (Artemis Alliance S.L.U.)", - "purposes": [2, 3, 4, 7, 9], + "purposes": [ + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -16734,17 +29066,30 @@ "privacy": "https://havasmedianetwork.com/fr/cookie-policy/" } ], - "dataDeclaration": [1, 3, 4, 10], + "dataDeclaration": [ + 1, + 3, + 4, + 10 + ], "deviceStorageDisclosureUrl": "https://iab-tcf.mediarithmics.com/device_storage_disclosures.json" }, "1032": { "id": 1032, "name": "Project Agora Ltd", - "purposes": [1, 7, 8], + "purposes": [ + 1, + 7, + 8 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [3], + "specialPurposes": [ + 1 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -16762,17 +29107,29 @@ "legIntClaim": "https://projectagora.com/privacy-policy/" } ], - "dataDeclaration": [2, 6, 11], + "dataDeclaration": [ + 2, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://projectagora.net/1032_deviceStorageDisclosure.json" }, "1033": { "id": 1033, "name": "Adlane LTD", - "purposes": [1, 2], + "purposes": [ + 1, + 2 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 8035200, "usesCookies": true, @@ -16781,7 +29138,9 @@ "dataRetention": { "stdRetention": 90, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -16790,17 +29149,38 @@ "legIntClaim": "https://adlane.info/terms/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://adlane.info/.well-known/deviceStorage.json" }, "1035": { "id": 1035, "name": "Allegro sp. z o.o.", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -16808,25 +29188,61 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 4320, - "purposes": { "3": 180 }, + "purposes": { + "3": 180 + }, "specialPurposes": {} }, "urls": [ - { "langId": "pl", "privacy": "https://allegro.pl/terms/attachment/5" }, - { "langId": "cs", "privacy": "https://allegro.cz/podminky/priloha/5" } + { + "langId": "pl", + "privacy": "https://allegro.pl/terms/attachment/5" + }, + { + "langId": "cs", + "privacy": "https://allegro.cz/podminky/priloha/5" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "deviceStorageDisclosureUrl": "https://naanalle.pl/iab/deviceStorage.json" }, "1036": { "id": 1036, "name": "VIADS ADVERTISING S.L.", - "purposes": [1, 3, 4, 7, 9], - "legIntPurposes": [2, 10], + "purposes": [ + 1, + 3, + 4, + 7, + 9 + ], + "legIntPurposes": [ + 2, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -16843,17 +29259,38 @@ "legIntClaim": "https://viads.com/privacy-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://viads.com/deviceStorage.json" }, "1038": { "id": 1038, "name": "AA INTERNET-MEDIA Ltd", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 315360000, "usesCookies": true, @@ -16871,17 +29308,30 @@ "legIntClaim": "https://recreativ.com/policy#consent" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://recreativ.com/tcf-disclosures.json" }, "1040": { "id": 1040, "name": "UniCredit S.p.A.", - "purposes": [1, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, @@ -16898,17 +29348,34 @@ "privacy": "https://www.unicredit.it/it/info/privacy.html" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 11 + ], "deviceStorageDisclosureUrl": "https://js.ucg.datafront.co/next14_dmp_ucg-it_device_storage_information.json" }, "1041": { "id": 1041, "name": "Sqreem Technologies Private Limited", "purposes": [], - "legIntPurposes": [2, 7, 9], + "legIntPurposes": [ + 2, + 7, + 9 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -16926,15 +29393,25 @@ "legIntClaim": "https://sqreemtech.com/privacy/" } ], - "dataDeclaration": [1, 3], + "dataDeclaration": [ + 1, + 3 + ], "deviceStorageDisclosureUrl": "https://ttd-misc-public-assets.s3.us-west-2.amazonaws.com/deviceStorageDisclosureURL.json" }, "1043": { "id": 1043, "name": "TypeA Holdings Ltd", - "purposes": [1], - "legIntPurposes": [2, 10], - "flexiblePurposes": [2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 10 + ], + "flexiblePurposes": [ + 2 + ], "specialPurposes": [], "features": [], "specialFeatures": [], @@ -16954,7 +29431,12 @@ "legIntClaim": "https://risecodes.com/video-advertisement-player-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://d2pm7iglz0b6eq.cloudfront.net/RiseDeviceStorage.json" }, "1044": { @@ -16963,14 +29445,21 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "1": 0 } }, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "1": 0 + } + }, "urls": [ { "langId": "en", @@ -16978,18 +29467,27 @@ "legIntClaim": "https://mediatrust.com/privacy-statement/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://webcontentassessor.com/tcf.json" }, "1045": { "id": 1045, "name": "Resono B.V.", - "purposes": [7, 8, 9, 10], + "purposes": [ + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -17006,18 +29504,44 @@ "legIntClaim": "https://reso.no/privacy-policy/" } ], - "dataDeclaration": [3, 8, 9, 11], + "dataDeclaration": [ + 3, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://tcf.inbeacon.nl/storagedisclosure" }, "1046": { "id": 1046, "name": "Longtail Ad Solutions, Inc dba JW Player", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -17034,17 +29558,41 @@ "legIntClaim": "https://jwplayer.com/legal/privacy/" } ], - "dataDeclaration": [2, 4], + "dataDeclaration": [ + 2, + 4 + ], "deviceStorageDisclosureUrl": "https://www.jwplayer.com/devicestorage.json" }, "1047": { "id": 1047, "name": "VIZNET", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], "specialPurposes": [], - "features": [1], + "features": [ + 1 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -17067,17 +29615,47 @@ "legIntClaim": "https://viznet.tv/privacy-policy-2/" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://viznet.tv/tcfv2.json" }, "1048": { "id": 1048, "name": "Questpass Sp. z o.o.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -17100,17 +29678,38 @@ "legIntClaim": "https://questpass.pl/terms/privacy-policy-questpass-sp-z-o-o/#lia" } ], - "dataDeclaration": [1, 2, 6, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.dqst.pl/static/prod/consents/tcf_disclosures.json" }, "1049": { "id": 1049, "name": "OnProspects Ltd", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -17124,22 +29723,46 @@ "urls": [ { "langId": "en", - "privacy": "https://onprospects.com/privacy-policy", - "legIntClaim": "https://onprospects.com/privacy-policy" + "privacy": "https://www.onprospects.com/privacy-policy", + "legIntClaim": "https://www.onprospects.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], - "deviceStorageDisclosureUrl": "https://onprospects.com/deviceStorage.json" + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://www.onprospects.com/deviceStorage.json" }, "1050": { "id": 1050, "name": "Hurra Communications GmbH", - "purposes": [1, 2, 4, 7], + "purposes": [ + 1, + 2, + 4, + 7 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7], - "specialPurposes": [1], - "features": [2, 3], - "specialFeatures": [1], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536500, "usesCookies": true, "cookieRefresh": true, @@ -17156,18 +29779,38 @@ "legIntClaim": "https://privacy.hurra.com/tcf/" } ], - "dataDeclaration": [1, 2, 3, 5, 8, 9], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 8, + 9 + ], "deviceStorageDisclosureUrl": "https://privacy.hurra.com/tcf/disclosures.json" }, "1051": { "id": 1051, "name": "Samoukale Enterprises Limited dba ADEX", - "purposes": [1], - "legIntPurposes": [7, 8, 10], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [2, 3], - "specialFeatures": [2], + "specialPurposes": [ + 1 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, @@ -17184,17 +29827,33 @@ "legIntClaim": "https://adex.com/privacy" } ], - "dataDeclaration": [1, 2, 4, 5, 7, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://adex.com/gdpr.json" }, "1055": { "id": 1055, "name": "Gamesight Inc", - "purposes": [1, 7], + "purposes": [ + 1, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2, 3], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -17212,16 +29871,38 @@ "legIntClaim": "https://console.gamesight.io/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://gsght.com/tcf/deviceStorage.json" }, "1057": { "id": 1057, "name": "Str\u00f6er Digital Media GmbH", - "purposes": [1], - "legIntPurposes": [2, 9, 10], - "flexiblePurposes": [2, 9, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -17231,7 +29912,9 @@ "dataRetention": { "stdRetention": 365, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -17240,26 +29923,51 @@ "legIntClaim": "https://www.stroeer.de/werben-mit-stroeer/onlinewerbung/programmatic-data/sdi-datenschutz-b2c" } ], - "dataDeclaration": [1, 2, 3, 7, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.stroeerdigitalgroup.de/metatag/iabtcf/deviceStorage.json" }, "1058": { "id": 1058, "name": "ArtChaos s.r.o.", - "purposes": [2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 60, - "purposes": { "9": 14, "10": 30 }, - "specialPurposes": { "1": 90, "2": 90 } + "purposes": { + "9": 14, + "10": 30 + }, + "specialPurposes": { + "1": 90, + "2": 90 + } }, "urls": [ { @@ -17268,17 +29976,33 @@ "legIntClaim": "https://silvermob.com/privacy" } ], - "dataDeclaration": [1, 3], + "dataDeclaration": [ + 1, + 3 + ], "deviceStorageDisclosureUrl": "https://silvermob.com/deviceStorageDisclosure.json" }, "1059": { "id": 1059, "name": "Query Click Limited", - "purposes": [7, 8, 9, 10], + "purposes": [ + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [7, 8, 9, 10], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], "specialPurposes": [], - "features": [1, 2], + "features": [ + 1, + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 0, "usesCookies": true, @@ -17296,19 +30020,34 @@ "legIntClaim": "https://www.queryclick.com/privacy-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://tcf-disclosure.queryclick.com/tcf-disclosure-details.json" }, "1060": { "id": 1060, "name": "Next Millennium Media INC", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 3], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 36000, "usesCookies": true, "cookieRefresh": false, @@ -17325,26 +30064,39 @@ "legIntClaim": "https://nextmillennium.io/privacy-policy/" } ], - "dataDeclaration": [3, 4, 6], + "dataDeclaration": [ + 3, + 4, + 6 + ], "deviceStorageDisclosureUrl": "https://nextmillennium.io/deviceStorage.json" }, "1061": { "id": 1061, "name": "onlineumfragen.com GmbH", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 0, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 365, - "purposes": { "9": 3650 }, + "purposes": { + "9": 3650 + }, "specialPurposes": {} }, "urls": [ @@ -17354,19 +30106,36 @@ "legIntClaim": "https://www.onlineumfragen.com/3index_2010_agb.cfm" } ], - "dataDeclaration": [1, 7], + "dataDeclaration": [ + 1, + 7 + ], "deviceStorageDisclosureUrl": "https://www.onlineumfragen.com/tcf.json" }, "1062": { "id": 1062, "name": "Evorra Ltd", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -17382,15 +30151,32 @@ "privacy": "https://evorra.com/product-privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://app.evorra.com/evorra_tcf.json" }, "1064": { "id": 1064, "name": "optimise-it GmbH", - "purposes": [1], - "legIntPurposes": [8], - "flexiblePurposes": [8], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 8 + ], + "flexiblePurposes": [ + 8 + ], "specialPurposes": [], "features": [], "specialFeatures": [], @@ -17398,7 +30184,12 @@ "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "8": 13 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "8": 13 + }, + "specialPurposes": {} + }, "urls": [ { "langId": "de", @@ -17406,16 +30197,32 @@ "legIntClaim": "https://www.optimise-it.de/datenschutz/" } ], - "dataDeclaration": [1, 2, 7], + "dataDeclaration": [ + 1, + 2, + 7 + ], "deviceStorageDisclosureUrl": "https://realperson.de/deviceStorage.json" }, "1067": { "id": 1067, "name": "Arpeely Ltd.", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 10], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, @@ -17434,18 +30241,40 @@ "legIntClaim": "https://www.arpeely.com/privacy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://cdn.rtbrain.app/deviceStorageDisclosureUrl.json" }, "1068": { "id": 1068, "name": "Italiaonline S.p.A.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 15552000, "usesCookies": true, "cookieRefresh": true, @@ -17453,7 +30282,10 @@ "dataRetention": { "stdRetention": 360, "purposes": {}, - "specialPurposes": { "1": 30, "2": 30 } + "specialPurposes": { + "1": 30, + "2": 30 + } }, "urls": [ { @@ -17462,25 +30294,54 @@ "legIntClaim": "https://www.italiaonline.it/corporate/informativa-privacy/" } ], - "dataDeclaration": [5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://i.plug.it/banners/js/deviceStorage.json" }, "1069": { "id": 1069, "name": "BCOVERY SAS", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 8, 10], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 90, - "purposes": { "10": 365 }, + "purposes": { + "10": 365 + }, "specialPurposes": {} }, "urls": [ @@ -17490,18 +30351,38 @@ "legIntClaim": "https://www.bcovery.com/legitimate-interest-claim.html" } ], - "dataDeclaration": [1, 2, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.bcovery.com/dsd-bcovery.json" }, "1070": { "id": 1070, "name": "Playhill Limited", - "purposes": [1], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -17518,18 +30399,40 @@ "legIntClaim": "https://playhill.com/privacy" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://playhill.com/iab.json" }, "1072": { "id": 1072, "name": "Adrino Mobile Sp. z o.o.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -17545,16 +30448,26 @@ "privacy": "https://adrino.pl/wp-content/uploads/2021/01/POLITYKA-PRYWATNOS%CC%81CI-Adrino-Mobile.pdf" } ], - "dataDeclaration": [1, 8], + "dataDeclaration": [ + 1, + 8 + ], "deviceStorageDisclosureUrl": "https://cdn.adrino.cloud/iab/gvl.json" }, "1073": { "id": 1073, "name": "Always-Computing SAS", - "purposes": [1], - "legIntPurposes": [2, 7], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 86399, @@ -17563,7 +30476,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 730, - "purposes": { "2": 0 }, + "purposes": { + "2": 0 + }, "specialPurposes": {} }, "urls": [ @@ -17578,16 +30493,30 @@ "legIntClaim": "https://www.audiencevalue.com/legal.php" } ], - "dataDeclaration": [1, 2, 6, 8], + "dataDeclaration": [ + 1, + 2, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://t.audiencetag.com/dsdu.json" }, "1075": { "id": 1075, "name": "dpa-infocom GmbH", "purposes": [], - "legIntPurposes": [8, 9, 10], - "flexiblePurposes": [10], - "specialPurposes": [1, 2], + "legIntPurposes": [ + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -17606,25 +30535,49 @@ "legIntClaim": "https://dpa-info.freshdesk.com/de/support/solutions/articles/76000035377-informationen-zum-datenschutz-f%C3%BCr-die-user-unserer-kunden#Weitergehende-Verarbeitung-Ihrer-personenbezogenen-Daten-auf-Grundlage-unserer-berechtigten-Interessen" } ], - "dataDeclaration": [6], + "dataDeclaration": [ + 6 + ], "deviceStorageDisclosureUrl": "https://core.dpa-infocom.net/tcf-vendor-device-storage.json" }, "1076": { "id": 1076, "name": "Snigel Web Services Limited", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [3], - "specialFeatures": [2], + "specialPurposes": [ + 1 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 1, - "purposes": { "7": 3600, "8": 3600, "9": 3600, "10": 3600 }, + "purposes": { + "7": 3600, + "8": 3600, + "9": 3600, + "10": 3600 + }, "specialPurposes": {} }, "urls": [ @@ -17634,23 +30587,41 @@ "legIntClaim": "https://www.snigel.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.snigelweb.com/gvl/deviceStorageDisclosure.json" }, "1078": { "id": 1078, "name": "umlaut communication Gmbh", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1], - "specialFeatures": [1], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, - "dataRetention": { "purposes": {}, "specialPurposes": {} }, + "dataRetention": { + "purposes": {}, + "specialPurposes": {} + }, "urls": [ { "langId": "en", @@ -17658,18 +30629,48 @@ "legIntClaim": "https://www.umlaut.com/privacy-policy#" } ], - "dataDeclaration": [2, 3, 6], + "dataDeclaration": [ + 2, + 3, + 6 + ], "deviceStorageDisclosureUrl": "https://apps.crowd-umlaut.com/iab/tcf.json" }, "1080": { "id": 1080, "name": "CITISERVI EUROPE, S.L.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 5000000, "usesCookies": true, "cookieRefresh": true, @@ -17686,16 +30687,38 @@ "legIntClaim": "https://www.citiservimedia.com/politica-de-privacidad-plataforma-citiservimedia/#legitimate-interest" } ], - "dataDeclaration": [2, 3, 4, 5, 7, 8, 10, 11], + "dataDeclaration": [ + 2, + 3, + 4, + 5, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://csm.citiservi.es/static/device-storage-disclosure.json" }, "1081": { "id": 1081, "name": "C Wire AG", - "purposes": [1], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -17714,17 +30737,42 @@ "legIntClaim": "https://www.cwire.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.cwi.re/artifacts/iab/iab.json" }, "1082": { "id": 1082, "name": "Watch Fantom Inc. AKA Qortex", - "purposes": [1, 2, 9], - "legIntPurposes": [7, 8, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 1, + 2, + 9 + ], + "legIntPurposes": [ + 7, + 8, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 0, "usesCookies": true, @@ -17742,16 +30790,26 @@ "legIntClaim": "https://www.qortex.ai/privacy-policy" } ], - "dataDeclaration": [2, 8], + "dataDeclaration": [ + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://tcf.qortex.ai/DeviceStorageDisclosure.json" }, "1083": { "id": 1083, "name": "Seven Technologies S.L.", - "purposes": [2], + "purposes": [ + 2 + ], "legIntPurposes": [], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -17770,17 +30828,32 @@ "legIntClaim": "https://se7en.es/private-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://tcf.se7en.es/se7en/tcf.json" }, "1084": { "id": 1084, "name": "EXADS", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -17788,7 +30861,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 365, - "purposes": { "2": 730 }, + "purposes": { + "2": 730 + }, "specialPurposes": {} }, "urls": [ @@ -17798,17 +30873,44 @@ "legIntClaim": "https://www.exads.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://a.native7.com/tcf/deviceStorage.php" }, "1085": { "id": 1085, "name": "Njuice AB", - "purposes": [1, 4], - "legIntPurposes": [2, 7, 8, 9, 11], - "flexiblePurposes": [2, 7, 8, 9, 11], - "specialPurposes": [2], - "features": [3], + "purposes": [ + 1, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 11 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 34560000, "usesCookies": true, @@ -17826,18 +30928,49 @@ "legIntClaim": "https://squidapp.co/en/privacy-policy.php" } ], - "dataDeclaration": [1, 2, 3, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://squid-tcf.s3.eu-central-1.amazonaws.com/disclosure.json" }, "1087": { "id": 1087, "name": "CASTOOLA D.O.O.", - "purposes": [1, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -17854,17 +30987,42 @@ "legIntClaim": "https://castoola.com/wp-content/uploads/2022/01/castoola_pp_06.01.2022.pdf" } ], - "dataDeclaration": [1, 2, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://privacy.castoola.tv/deviceStorage.json" }, "1089": { "id": 1089, "name": "Teavaro", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, @@ -17889,19 +31047,51 @@ "privacy": "https://teavaro.com/es/politica-de-privacidad/" } ], - "dataDeclaration": [1, 2, 8, 11], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://service.tvtestenv1.net/utiq/prebid/deviceStorage.json" }, "1090": { "id": 1090, "name": "Score Media Group GmbH & Co. KG", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -17918,18 +31108,42 @@ "legIntClaim": "https://score-media.de/datenschutzerklaerung/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://ad.tag.score-media.de/privacy/tcf/deviceStorage/93a705a5f5d52cf1.json" }, "1091": { "id": 1091, "name": "Octave IP Limited", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], - "specialFeatures": [1], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 34190000, "usesCookies": true, "cookieRefresh": true, @@ -17939,19 +31153,42 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://octaveip.com/policy/" }], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://octaveip.com/policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://octaveip.com/deviceStorage.json" }, "1094": { "id": 1094, "name": "ADMAX", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -17973,18 +31210,43 @@ "legIntClaim": "https://admaxmedia.io/privacy-policy-fr/" } ], - "dataDeclaration": [1, 2, 3, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.admaxmedia.io/deviceStorage.json" }, "1098": { "id": 1098, "name": "ACTV8, Inc.", - "purposes": [2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": false, @@ -17992,7 +31254,9 @@ "dataRetention": { "stdRetention": 90, "purposes": {}, - "specialPurposes": { "2": 30 } + "specialPurposes": { + "2": 30 + } }, "urls": [ { @@ -18001,13 +31265,27 @@ "legIntClaim": "https://www.actv8me.com/data-privacy.html#legitimate_interest_claim" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://api.actv8technologies.com/device-storage-disclosure.json" }, "1100": { "id": 1100, "name": "Relevant Digital Oy", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -18017,25 +31295,48 @@ "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": {} }, + "dataRetention": { + "purposes": {}, + "specialPurposes": {} + }, "urls": [ { "langId": "en", "privacy": "https://www.relevant-digital.com/privacy-policy" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://cdn.relevant-digital.com/resources/deviceStorage.json" }, "1101": { "id": 1101, "name": "PIA Advertising GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -18051,18 +31352,39 @@ "privacy": "https://pia-advertising.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://imagesrv.adition.com/banners/268/xml/cm/ts/tcf/deviceStorage.json" }, "1103": { "id": 1103, "name": "Schober Information Group Deutschland GmbH", - "purposes": [3, 5, 10], + "purposes": [ + 3, + 5, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2], - "specialFeatures": [1], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -18072,19 +31394,38 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://collection.schober.de/" }], - "dataDeclaration": [1, 3, 9, 11], + "urls": [ + { + "langId": "en", + "privacy": "https://collection.schober.de/" + } + ], + "dataDeclaration": [ + 1, + 3, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://analytics.udo.solutions/v1/tcf.json" }, "1104": { "id": 1104, "name": "Covatic Ltd", - "purposes": [1, 2, 3, 4, 8, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -18094,19 +31435,49 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://covatic.com/terms/" }], - "dataDeclaration": [1, 2, 6, 8], + "urls": [ + { + "langId": "en", + "privacy": "https://covatic.com/terms/" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://tcf.covatic.io/onDeviceStorage.json" }, "1105": { "id": 1105, "name": "Blue Media Services LTDA", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": false, @@ -18123,13 +31494,28 @@ "legIntClaim": "https://www.getblue.io/privacy/" } ], - "dataDeclaration": [1, 2, 6, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://getblue.io/iab/" }, "1106": { "id": 1106, "name": "Better Ads GmbH", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -18144,19 +31530,44 @@ "purposes": {}, "specialPurposes": {} }, - "urls": [{ "langId": "en", "privacy": "https://www.d3sv.net/privacy/" }], - "dataDeclaration": [8], + "urls": [ + { + "langId": "en", + "privacy": "https://www.d3sv.net/privacy/" + } + ], + "dataDeclaration": [ + 8 + ], "deviceStorageDisclosureUrl": "https://www.d3sv.net/.well-known/iab-tcf/v2/deviceStorageDisclosure.json" }, "1107": { "id": 1107, "name": "FRVR Limited", - "purposes": [1, 3, 4, 5, 6, 9], - "legIntPurposes": [2, 7, 8, 10], + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 9 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [2], - "specialFeatures": [2], + "specialPurposes": [ + 2 + ], + "features": [ + 2 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, "cookieRefresh": true, @@ -18173,19 +31584,38 @@ "legIntClaim": "https://frvr.com/legal#PrivacyPolicy" } ], - "dataDeclaration": [2, 4, 6, 7, 8], + "dataDeclaration": [ + 2, + 4, + 6, + 7, + 8 + ], "deviceStorageDisclosureUrl": "https://cdn.frvr.com/fran/deviceStorageDisclosureUrl.json" }, "1108": { "id": 1108, "name": "Unblockia SL", - "purposes": [1, 2, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": 10368000, "usesCookies": true, "cookieRefresh": false, @@ -18196,20 +31626,44 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://unblockia.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://unblockia.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8 ], - "dataDeclaration": [1, 2, 3, 4, 8], "deviceStorageDisclosureUrl": "https://cdn.unblockia.com/deviceStorage.json" }, "1110": { "id": 1110, "name": "K\u00d6NIGSTEINER digital GmbH", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -18226,13 +31680,21 @@ "legIntClaim": "https://www.koenigsteiner.digital/datenschutz" } ], - "dataDeclaration": [1, 2, 3, 4, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8 + ], "deviceStorageDisclosureUrl": "https://roqad-public.s3.eu-central-1.amazonaws.com/tcf-disclosure.json" }, "1111": { "id": 1111, "name": "152 Media LLC", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -18242,17 +31704,29 @@ "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 90 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 90 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "en", "privacy": "https://152media.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://152media.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1 ], - "dataDeclaration": [1], "deviceStorageDisclosureUrl": "https://152media.info/iab.json" }, "1112": { "id": 1112, "name": "Hubvisor", - "purposes": [1], + "purposes": [ + 1 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -18262,25 +31736,45 @@ "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": true, - "dataRetention": { "purposes": {}, "specialPurposes": {} }, + "dataRetention": { + "purposes": {}, + "specialPurposes": {} + }, "urls": [ { "langId": "en", "privacy": "https://cdn.hubvisor.io/assets/policy.pdf" } ], - "dataDeclaration": [2, 8], + "dataDeclaration": [ + 2, + 8 + ], "deviceStorageDisclosureUrl": "https://cdn.hubvisor.io/assets/deviceStorage.json" }, "1113": { "id": 1113, "name": "Offerista Group GmbH", - "purposes": [1, 7, 8, 9, 10], + "purposes": [ + 1, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -18297,13 +31791,24 @@ "legIntClaim": "https://s3-eu-west-1.amazonaws.com/public-legal-docs.offerista/offerista/de/privacy.html" } ], - "dataDeclaration": [1, 8], + "dataDeclaration": [ + 1, + 8 + ], "deviceStorageDisclosureUrl": "https://s3.eu-west-1.amazonaws.com/public-iba-tcf.offerista/deviceStorage.json" }, "1116": { "id": 1116, "name": "Anonymised", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], @@ -18319,19 +31824,36 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://www.anonymised.io/privacy" } + { + "langId": "en", + "privacy": "https://www.anonymised.io/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 10 ], - "dataDeclaration": [1, 2, 6, 7, 8, 10], "deviceStorageDisclosureUrl": "https://static.anonymised.io/deviceStorage.json" }, "1119": { "id": 1119, "name": "Novatiq limited ", - "purposes": [3, 4, 7, 9], + "purposes": [ + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2], + "features": [ + 2 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -18339,23 +31861,47 @@ "usesNonCookieAccess": true, "dataRetention": { "stdRetention": 1, - "purposes": { "7": 0 }, + "purposes": { + "7": 0 + }, "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://novatiq.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://novatiq.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 4, + 5, + 11 ], - "dataDeclaration": [4, 5, 11], "deviceStorageDisclosureUrl": "https://novatiq.com/privacy/iab/novatiq.json" }, "1120": { "id": 1120, "name": "Bababam", - "purposes": [1, 2, 3], - "legIntPurposes": [7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10, + 11 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -18373,37 +31919,77 @@ "legIntClaim": "https://www.bababam.com/terms" } ], - "dataDeclaration": [1, 2, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.bababam.com/.well-known/deviceStorage.json" }, "1122": { "id": 1122, "name": "Arbeitsgemeinschaft Media-Analyse", - "purposes": [1, 9], + "purposes": [ + 1, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31622400, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "9": 180 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "9": 180 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "de", "privacy": "https://www.agma-mmc.de/datenschutz" } + { + "langId": "de", + "privacy": "https://www.agma-mmc.de/datenschutz" + } + ], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 8, + 11 ], - "dataDeclaration": [1, 2, 4, 5, 6, 8, 11], "deviceStorageDisclosureUrl": "https://www.agma-mmc.de/ioam/deviceStorage.json" }, "1124": { "id": 1124, "name": "TF1 PUBLICITE", - "purposes": [1, 2, 3, 4, 7, 9], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15778800, "usesCookies": true, @@ -18420,17 +32006,45 @@ "privacy": "https://tf1pub.fr/politique-de-protection-des-donnees-partenaires-data" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.tf1.fr/iab.json" }, "1126": { "id": 1126, "name": "Microsoft Advertising", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 34190000, "usesCookies": true, @@ -18448,17 +32062,37 @@ "legIntClaim": "https://privacy.microsoft.com/en-US/privacystatement/#mainpersonaldatawecollect_LongDescription" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://bat.bing.com/s/uet/deviceStorage.json" }, "1127": { "id": 1127, "name": "XAD spoteffects GmbH", - "purposes": [1, 3, 7, 8, 10], + "purposes": [ + 1, + 3, + 7, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 63072000, "usesCookies": true, @@ -18475,16 +32109,29 @@ "privacy": "https://xadspoteffects.com/en/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://trck.spoteffects.net/tcf2/ops-disclosure.json" }, "1129": { "id": 1129, "name": "Brandhouse/Subsero A/S", "purposes": [], - "legIntPurposes": [8], + "legIntPurposes": [ + 8 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -18503,18 +32150,45 @@ "legIntClaim": "https://subserohost.com/privacy_policy.aspx#datacoll_legitimateinterest" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://subserohost.com/device_storage_disclosure_tcfv2.json" }, "1130": { "id": 1130, "name": "WebMedia", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 120960, "usesCookies": true, "cookieRefresh": true, @@ -18531,18 +32205,39 @@ "legIntClaim": "https://mobupps.com/pdf/Mobupps_Privacy_policy.pdf" } ], - "dataDeclaration": [1, 2, 3, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://mobupps.com/tcf.json" }, "1131": { "id": 1131, "name": "Playwire LLC", - "purposes": [1, 2, 3, 4, 7, 9], - "legIntPurposes": [10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], + "legIntPurposes": [ + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, @@ -18559,25 +32254,43 @@ "legIntClaim": "https://www.playwire.com/privacy-policy" } ], - "dataDeclaration": [2, 4, 5, 6], + "dataDeclaration": [ + 2, + 4, + 5, + 6 + ], "deviceStorageDisclosureUrl": "https://cdn.intergient.com/tcf/pw_tcf_device_storage.json" }, "1133": { "id": 1133, "name": "Nativery Srl", - "purposes": [1, 2, 7, 10], + "purposes": [ + 1, + 2, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 0, - "purposes": { "2": 365, "7": 30 }, + "purposes": { + "2": 365, + "7": 30 + }, "specialPurposes": {} }, "urls": [ @@ -18597,17 +32310,29 @@ "legIntClaim": "https://www.nativery.com/privacy-es/?" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://cdnimg.nativery.com/widget/js/deviceStorageDisclosure.json" }, "1134": { "id": 1134, "name": "Bidmatic Inc", - "purposes": [1, 2, 7], + "purposes": [ + 1, + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 8035200, "usesCookies": true, @@ -18616,7 +32341,9 @@ "dataRetention": { "stdRetention": 90, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -18625,16 +32352,40 @@ "legIntClaim": "https://bidmatic.io/tos/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://bidmatic.io/.well-known/deviceStorage.json" }, "1135": { "id": 1135, "name": "Opera Software Ireland Limited", - "purposes": [1, 2, 3, 4, 5, 6], - "legIntPurposes": [7, 8], - "flexiblePurposes": [2], - "specialPurposes": [1, 2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 7, + 8 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, @@ -18653,18 +32404,37 @@ "legIntClaim": "https://legal.opera.com" } ], - "dataDeclaration": [1, 3, 11], + "dataDeclaration": [ + 1, + 3, + 11 + ], "deviceStorageDisclosureUrl": "https://res.adx.opera.com/sellers.json" }, "1136": { "id": 1136, "name": "Infolinks Media, LLC", - "purposes": [1, 2, 3, 4, 7, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2, 3], - "specialFeatures": [1], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -18681,18 +32451,53 @@ "legIntClaim": "https://www.infolinks.com/privacy-policy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], "deviceStorageDisclosureUrl": "https://resources.infolinks.com/static/tcf/devicestoragedisclosure.json" }, "1137": { "id": 1137, "name": "Verasity Limited", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31556952, "usesCookies": true, "cookieRefresh": false, @@ -18709,18 +32514,51 @@ "legIntClaim": "https://veraviews.com/privacy_policy#how-we-use-your-personal-data" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://veraviews.com/device-storage-disclosure.json" }, "1138": { "id": 1138, "name": "Viafoura Inc.", - "purposes": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -18737,17 +32575,32 @@ "legIntClaim": "https://viafoura.com/privacy-policy/" } ], - "dataDeclaration": [1, 5, 6, 7], + "dataDeclaration": [ + 1, + 5, + 6, + 7 + ], "deviceStorageDisclosureUrl": "https://cdn.viafoura.net/front/policies/deviceStorage.json" }, "1139": { "id": 1139, "name": "CleverPush GmbH", - "purposes": [1, 5, 6, 8, 10], + "purposes": [ + 1, + 5, + 6, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [2], - "features": [3], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -18770,18 +32623,31 @@ "legIntClaim": "https://cleverpush.com/de/privacy/" } ], - "dataDeclaration": [2, 3], + "dataDeclaration": [ + 2, + 3 + ], "deviceStorageDisclosureUrl": "https://cleverpush.com/iab/vendor-storage-info.json" }, "1140": { "id": 1140, "name": "Convo Ink", "purposes": [], - "legIntPurposes": [2, 7, 8, 10], + "legIntPurposes": [ + 2, + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -18798,17 +32664,28 @@ "legIntClaim": "https://www.convo.ink/privacy-policy" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://api.convo.ink/v1/compliance/iab/device-storage-disclosure.json" }, "1141": { "id": 1141, "name": "Agate Systems Limited", - "purposes": [1, 9, 10], + "purposes": [ + 1, + 9, + 10 + ], "legIntPurposes": [], - "flexiblePurposes": [9, 10], + "flexiblePurposes": [ + 9, + 10 + ], "specialPurposes": [], - "features": [3], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -18826,16 +32703,30 @@ "legIntClaim": "https://www.axate.com/privacy-policy" } ], - "dataDeclaration": [2, 3, 6, 7, 11], + "dataDeclaration": [ + 2, + 3, + 6, + 7, + 11 + ], "deviceStorageDisclosureUrl": "https://agatehq.github.io/dashboards/deviceStorage.json" }, "1142": { "id": 1142, "name": "xpln.ai SAS", "purposes": [], - "legIntPurposes": [7, 10], - "flexiblePurposes": [7, 10], - "specialPurposes": [1], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [ + 7, + 10 + ], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -18854,17 +32745,33 @@ "legIntClaim": "https://xpln.ai/privacy" } ], - "dataDeclaration": [1, 6], + "dataDeclaration": [ + 1, + 6 + ], "deviceStorageDisclosureUrl": "https://cdn.xpln.tech/tcf.json" }, "1144": { "id": 1144, "name": "Unicredit BankAustria AG", - "purposes": [1, 2, 3, 4, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -18881,17 +32788,30 @@ "privacy": "https://www.bankaustria.at/rechtliches-datenschutz.jsp" } ], - "dataDeclaration": [1, 3, 4, 10], + "dataDeclaration": [ + 1, + 3, + 4, + 10 + ], "deviceStorageDisclosureUrl": "https://js.ucg-at.datafront.co/next14_dmp_ucg-at_device_storage_information.json" }, "1146": { "id": 1146, "name": "Claritas LLC", - "purposes": [7, 8, 9, 10], + "purposes": [ + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [2, 3], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -18903,20 +32823,45 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://claritas.com/privacy-legal/" } + { + "langId": "en", + "privacy": "https://claritas.com/privacy-legal/" + } + ], + "dataDeclaration": [ + 1, + 2, + 4, + 8 ], - "dataDeclaration": [1, 2, 4, 8], "deviceStorageDisclosureUrl": "https://iab.claritas.com/claritas_disclosures.json" }, "1147": { "id": 1147, "name": "MADINAD PC", - "purposes": [1, 2, 3, 4, 5, 7], - "legIntPurposes": [10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 7 + ], + "legIntPurposes": [ + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 604800, "usesCookies": true, "cookieRefresh": true, @@ -18933,17 +32878,35 @@ "legIntClaim": "https://madinad.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 6], + "dataDeclaration": [ + 1, + 2, + 6 + ], "deviceStorageDisclosureUrl": "https://static.madinad.com/static/iab-tcf.json" }, "1148": { "id": 1148, "name": "ORANGE CLICK MEDIA & COMMERCE LTD", - "purposes": [1, 2, 3, 4, 5, 6, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 34560000, "usesCookies": true, @@ -18961,17 +32924,38 @@ "legIntClaim": "https://orangeclickmedia.com/legitimate-interest-claim/" } ], - "dataDeclaration": [1, 2, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://orangeclickmedia.com/device_storage_disclosure.json" }, "1149": { "id": 1149, "name": "AdInMo LTD", "purposes": [], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [1, 3], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -18979,7 +32963,10 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 365, - "purposes": { "2": 30, "10": 4320 }, + "purposes": { + "2": 30, + "10": 4320 + }, "specialPurposes": {} }, "urls": [ @@ -18989,25 +32976,50 @@ "legIntClaim": "https://www.adinmo.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 11 + ], "deviceStorageDisclosureUrl": "https://rtb.adinmo.com/iab-tcf-vendor" }, "550": { "id": 550, "name": "Happydemics", - "purposes": [1, 2], - "legIntPurposes": [9, 10], - "flexiblePurposes": [9, 10], - "specialPurposes": [2], - "features": [3], + "purposes": [ + 1, + 2 + ], + "legIntPurposes": [ + 9, + 10 + ], + "flexiblePurposes": [ + 9, + 10 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 129600, "usesCookies": true, "cookieRefresh": false, "usesNonCookieAccess": false, "dataRetention": { - "purposes": { "2": 90, "9": 1095, "10": 1095 }, - "specialPurposes": { "2": 90 } + "purposes": { + "2": 90, + "9": 1095, + "10": 1095 + }, + "specialPurposes": { + "2": 90 + } }, "urls": [ { @@ -19021,19 +33033,44 @@ "legIntClaim": "https://happydemics.com/fr/conditions-generales" } ], - "dataDeclaration": [1, 2, 3, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://files.happydemics.com/iab-tcf/device_storage_disclosure.json" }, "1151": { "id": 1151, "name": "Boldwin LTD", - "purposes": [9], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 9 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -19050,18 +33087,29 @@ "legIntClaim": "https://bold-win.com/privacy-policy/" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://magav.videowalldirect.com/iab/videowalldirectiab.json" }, "653": { "id": 653, "name": "Smart Analytics SL", - "purposes": [1, 7, 8, 9], + "purposes": [ + 1, + 7, + 8, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [1], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 32000000, "usesCookies": true, "cookieRefresh": true, @@ -19077,19 +33125,45 @@ "privacy": "https://www.smartmeanalytics.com/_next/static/e18aa096eb299626.pdf" } ], - "dataDeclaration": [1, 2, 3, 6, 7, 9], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 9 + ], "deviceStorageDisclosureUrl": "https://smartmeanalytics.com/static/docs/smartme_device_storage_access.json" }, "1153": { "id": 1153, "name": "Sonares GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -19111,18 +33185,42 @@ "legIntClaim": "https://sonares.org/en/datenschutz/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://content.sonares.org/disclosure.json" }, "839": { "id": 839, "name": "PIXFUTURE MEDIA INC.", - "purposes": [1], - "legIntPurposes": [2, 7, 10], + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], - "specialFeatures": [1, 2], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -19139,18 +33237,38 @@ "legIntClaim": "https://www.pixfuture.com/terms-and-conditions#platform-terms" } ], - "dataDeclaration": [4], + "dataDeclaration": [ + 4 + ], "deviceStorageDisclosureUrl": "https://pixfuture.com/vendor-disclosures.json" }, "1154": { "id": 1154, "name": "Alphonso Inc. ", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -19282,18 +33400,36 @@ "legIntClaim": "https://alphonso.tv/privacy/smart-tvs/smart-tv-privacy-policy-eu-swedish/" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://cdn.alphonso.tv/static-assets/iab-tcf/policy/device-storage-disclosure.json" }, "1155": { "id": 1155, "name": "Bootleg Digital LTD", - "purposes": [7, 9], + "purposes": [ + 7, + 9 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 30, "usesCookies": true, "cookieRefresh": false, @@ -19304,19 +33440,38 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://kubico.com/privacy-policy/" } + { + "langId": "en", + "privacy": "https://kubico.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1 ], - "dataDeclaration": [1], "deviceStorageDisclosureUrl": "https://kubico.com/TCF/kubico-disclosures-and-domains.json" }, "1156": { "id": 1156, "name": "ividence", - "purposes": [1, 2, 3, 4, 5], - "legIntPurposes": [7], + "purposes": [ + 1, + 2, + 3, + 4, + 5 + ], + "legIntPurposes": [ + 7 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 33696000, "usesCookies": true, @@ -19334,17 +33489,35 @@ "legIntClaim": "https://ividence.com/politique-de-confidentialite/" } ], - "dataDeclaration": [1, 2, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://itm.ivitrack.com/tcf.json" }, "1157": { "id": 1157, "name": "Refine Direct Srl", - "purposes": [1, 7, 10], + "purposes": [ + 1, + 7, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -19367,17 +33540,29 @@ "legIntClaim": "https://www.refine.direct/en/legitimate-interest-assessment/" } ], - "dataDeclaration": [1, 2, 4], + "dataDeclaration": [ + 1, + 2, + 4 + ], "deviceStorageDisclosureUrl": "https://cdn.refine.direct/tcf2/tcf2.json" }, "1159": { "id": 1159, "name": "Live Data Solutions SL", - "purposes": [3, 5, 10], + "purposes": [ + 3, + 5, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -19394,7 +33579,10 @@ "privacy": "https://www.livedata-solutions.com/politique-de-confidentialite" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://red.instant-mail.com/livedata.json" }, "1160": { @@ -19403,7 +33591,10 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -19422,18 +33613,33 @@ "legIntClaim": "https://www.streamonkey.de/de/datenschutz" } ], - "dataDeclaration": [1], + "dataDeclaration": [ + 1 + ], "deviceStorageDisclosureUrl": "https://www.streamonkey.de/iab_disclosures.json" }, "969": { "id": 969, "name": "SmartFrame Technologies Ltd", "purposes": [], - "legIntPurposes": [2, 7, 8], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], + "legIntPurposes": [ + 2, + 7, + 8 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 86400, "usesCookies": true, "cookieRefresh": false, @@ -19450,18 +33656,41 @@ "legIntClaim": "https://smartframe.io/wp-content/uploads/2023/07/Legitimate-Interest-Assessment.pdf" } ], - "dataDeclaration": [2, 3, 8], + "dataDeclaration": [ + 2, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://smartframe.io/file.json" }, "1161": { "id": 1161, "name": "freenet DLS GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 7884000, "usesCookies": true, "cookieRefresh": true, @@ -19478,18 +33707,51 @@ "legIntClaim": "https://www.freenet-mobilfunk.de/legal/datenschutz/" } ], - "dataDeclaration": [2, 3, 6, 10, 11], + "dataDeclaration": [ + 2, + 3, + 6, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.freenet-mobilfunk.de/deviceStorage.json" }, "1162": { "id": 1162, "name": "Reset Digital Europe Ltd", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -19506,17 +33768,35 @@ "legIntClaim": "https://resetdigital.co/policies.html" } ], - "dataDeclaration": [1, 3, 8], + "dataDeclaration": [ + 1, + 3, + 8 + ], "deviceStorageDisclosureUrl": "https://resetdigital.co/GDPR-TCF.json" }, "1163": { "id": 1163, "name": "ADTTRIBUTION Inc", - "purposes": [1, 2, 3, 4, 7, 9, 10], + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, @@ -19534,18 +33814,50 @@ "legIntClaim": "https://adttribution.com/privacy-policy.html" } ], - "dataDeclaration": [1, 2, 3, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.adttribution.net/devicestorage.json" }, "1165": { "id": 1165, "name": "Kueez Entertainment Ltd.", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -19562,17 +33874,45 @@ "legIntClaim": "https://www.kueez.com/en/privacy" } ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://en.kueez.com/tcf.json" }, "1168": { "id": 1168, "name": "Voxnest Inc", - "purposes": [3, 4], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], + "purposes": [ + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -19581,7 +33921,10 @@ "dataRetention": { "stdRetention": 30, "purposes": {}, - "specialPurposes": { "1": 180, "2": 4320 } + "specialPurposes": { + "1": 180, + "2": 4320 + } }, "urls": [ { @@ -19590,16 +33933,30 @@ "legIntClaim": "https://www.voxnest.com/privacy/" } ], - "dataDeclaration": [1, 2, 4, 6, 10, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://www.voxnest.com/iab-tcf-disclosures.json" }, "1169": { "id": 1169, "name": "Alkimi", "purposes": [], - "legIntPurposes": [7, 8, 10], + "legIntPurposes": [ + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -19618,16 +33975,31 @@ "legIntClaim": "https://www.alkimi.org/docs/privacy-notice.pdf" } ], - "dataDeclaration": [1, 2, 3, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://d1xjh92lb8fey3.cloudfront.net/tcf/alkimi_exchange_tcf.json" }, "1170": { "id": 1170, "name": "Zeit Agency ApS", "purposes": [], - "legIntPurposes": [7, 8, 9, 10], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [1, 2], + "specialPurposes": [ + 1, + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -19646,16 +34018,25 @@ "legIntClaim": "https://zeitagency.com/privacy.html" } ], - "dataDeclaration": [1, 2], + "dataDeclaration": [ + 1, + 2 + ], "deviceStorageDisclosureUrl": "https://zeitagency.com/domains.json" }, "1171": { "id": 1171, "name": "Frii ApS", "purposes": [], - "legIntPurposes": [7, 8, 10], + "legIntPurposes": [ + 7, + 8, + 10 + ], "flexiblePurposes": [], - "specialPurposes": [2], + "specialPurposes": [ + 2 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -19665,7 +34046,9 @@ "dataRetention": { "stdRetention": 30, "purposes": {}, - "specialPurposes": { "2": 0 } + "specialPurposes": { + "2": 0 + } }, "urls": [ { @@ -19674,7 +34057,9 @@ "legIntClaim": "https://www.friidigital.io/privacy" } ], - "dataDeclaration": [6], + "dataDeclaration": [ + 6 + ], "deviceStorageDisclosureUrl": "https://cdn.friidigital.io/iab/tcf_2_0.json" }, "1172": { @@ -19683,14 +34068,25 @@ "purposes": [], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 2, 3], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 7776000, "usesCookies": true, "cookieRefresh": true, "usesNonCookieAccess": true, - "dataRetention": { "purposes": {}, "specialPurposes": { "1": 770 } }, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "1": 770 + } + }, "urls": [ { "langId": "en", @@ -19698,19 +34094,50 @@ "legIntClaim": "https://www.kliken.com/privacy-policy.html" } ], - "dataDeclaration": [1, 2, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://my.kliken.com/disclosures.json" }, "1174": { "id": 1174, "name": "Synamedia", - "purposes": [1, 2, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, + "purposes": [ + 1, + 2, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -19727,39 +34154,89 @@ "legIntClaim": "https://www.synamedia.com/privacy-policy/" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://compliance.iris.synamedia.com/tcf/DDS.json" }, "1175": { "id": 1175, "name": "LightBoxTV", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 365 }, "specialPurposes": {} }, + "dataRetention": { + "purposes": { + "7": 365 + }, + "specialPurposes": {} + }, "urls": [ - { "langId": "en", "privacy": "https://www.lightboxtv.co.uk/privacy" } + { + "langId": "en", + "privacy": "https://www.lightboxtv.co.uk/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 8 ], - "dataDeclaration": [1, 2, 8], "deviceStorageDisclosureUrl": "https://lightboxtv.com/privacy.json" }, "1176": { "id": 1176, "name": "AlgoriX Technology Pte. Ltd.,", - "purposes": [1, 3, 4, 7], - "legIntPurposes": [2, 10], - "flexiblePurposes": [2, 10], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 32 }, + "purposes": [ + 1, + 3, + 4, + 7 + ], + "legIntPurposes": [ + 2, + 10 + ], + "flexiblePurposes": [ + 2, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 32 + }, "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -19776,17 +34253,53 @@ "legIntClaim": "https://www.algorix.co/privacy-policy/#section-3-3" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 9, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 9, + 11 + ], "deviceStorageDisclosureUrl": "https://www.algorix.co/gdpr-disclosure.json" }, "1177": { "id": 1177, "name": "Holid AB", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [2, 3], + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, @@ -19804,17 +34317,26 @@ "legIntClaim": "https://holid.io/assets/documents/Holid_Privacy_Policy.pdf" } ], - "dataDeclaration": [8], + "dataDeclaration": [ + 8 + ], "deviceStorageDisclosureUrl": "https://ads.holid.io/devicestorage.json" }, "430": { "id": 430, "name": "AdServing Factory srl", - "purposes": [7], + "purposes": [ + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": null, "usesCookies": false, @@ -19822,7 +34344,9 @@ "usesNonCookieAccess": false, "dataRetention": { "stdRetention": 1, - "purposes": { "7": 30 }, + "purposes": { + "7": 30 + }, "specialPurposes": {} }, "urls": [ @@ -19832,17 +34356,27 @@ "legIntClaim": "https://www.adservingfactory.com/privacy-policy.html" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://content.adunity.com/tcf-vdso.json" }, "877": { "id": 877, "name": "Experian LTD", - "purposes": [1, 3, 5], + "purposes": [ + 1, + 3, + 5 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], + "features": [ + 1, + 2, + 3 + ], "specialFeatures": [], "cookieMaxAgeSeconds": 15780000, "usesCookies": true, @@ -19859,18 +34393,32 @@ "privacy": "https://www.experian.co.uk/privacy/consumer-information-portal/" } ], - "dataDeclaration": [1, 10, 11], + "dataDeclaration": [ + 1, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://experianmatch.info/tcf/disclosures.json" }, "1178": { "id": 1178, "name": "First-id", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [2], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": 34128000, "usesCookies": true, "cookieRefresh": true, @@ -19890,16 +34438,27 @@ "privacy": "https://www.first-id.fr/politique-de-confidentialite" } ], - "dataDeclaration": [1, 2, 7, 8, 11], + "dataDeclaration": [ + 1, + 2, + 7, + 8, + 11 + ], "deviceStorageDisclosureUrl": "https://static.first-id.fr/tcf/cookie.json" }, "1179": { "id": 1179, "name": "Scattered sp. z o.o.", - "purposes": [2, 7], + "purposes": [ + 2, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1], + "specialPurposes": [ + 1 + ], "features": [], "specialFeatures": [], "cookieMaxAgeSeconds": null, @@ -19918,18 +34477,35 @@ "legIntClaim": "http://scattered.pl/PrivacyPolicyV1.pdf" } ], - "dataDeclaration": [1, 2, 4, 5, 6, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 4, + 5, + 6, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://static.scattered.eu/tcf-disclosure.json" }, "1181": { "id": 1181, "name": "BotTalk UG (haftungsbeschr\u00e4nkt)", - "purposes": [1, 8, 10], + "purposes": [ + 1, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [3], - "specialFeatures": [1], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 2592000, "usesCookies": true, "cookieRefresh": true, @@ -19946,18 +34522,28 @@ "legIntClaim": "https://bottalk.io/privacy" } ], - "dataDeclaration": [2], + "dataDeclaration": [ + 2 + ], "deviceStorageDisclosureUrl": "https://bottalk.io/gvr.json" }, "151": { "id": 151, "name": "MOOT TECHNOLOGY LTD", - "purposes": [1, 2, 3, 4, 7], + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], "features": [], - "specialFeatures": [1], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 0, "usesCookies": true, "cookieRefresh": false, @@ -19968,20 +34554,45 @@ "specialPurposes": {} }, "urls": [ - { "langId": "en", "privacy": "https://admedo.com/privacy-policy" } + { + "langId": "en", + "privacy": "https://admedo.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 6, + 8 ], - "dataDeclaration": [1, 6, 8], "deviceStorageDisclosureUrl": "https://admedo.com/admedo_device_storage_url.json" }, "1183": { "id": 1183, "name": "SSMas", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], "legIntPurposes": [], "flexiblePurposes": [], "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [2], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], "cookieMaxAgeSeconds": null, "usesCookies": false, "cookieRefresh": false, @@ -20003,18 +34614,41 @@ "legIntClaim": "https://ssmas.com/es/politica-privacidad#interes" } ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], "deviceStorageDisclosureUrl": "https://semseoymas.com/iab.json" }, "454": { "id": 454, "name": "Rico Developments Ltd", - "purposes": [1, 7, 8, 10], + "purposes": [ + 1, + 7, + 8, + 10 + ], "legIntPurposes": [], "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], "cookieMaxAgeSeconds": 31536000, "usesCookies": true, "cookieRefresh": true, @@ -20023,1527 +34657,2661 @@ "stdRetention": 365, "purposes": {}, "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://adimo.co/privacy-policy", - "legIntClaim": "https://adimo.co/privacy-policy" - } - ], - "dataDeclaration": [1, 2], - "deviceStorageDisclosureUrl": "https://campaigns.adimo.co/tcf-adimo-device-storage-disclosure.json" - }, - "1184": { - "id": 1184, - "name": "Schwarz Media GmbH ", - "purposes": [1, 2, 3, 4, 7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "cookieMaxAgeSeconds": 7776000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 89, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "de", - "privacy": "https://gruppe.schwarz/datenschutz", - "legIntClaim": "https://gruppe.schwarz/datenschutz" - } - ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 9, 10, 11], - "deviceStorageDisclosureUrl": "https://dmp.theadex.com/.well-known/deviceStorage.json" - }, - "1185": { - "id": 1185, - "name": "Prisma Media", - "purposes": [1, 2, 3, 4, 5, 7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 700, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "fr", - "privacy": "https://www.prismamedia.com/espace-confidentialite/", - "legIntClaim": "https://www.prismamedia.com/espace-confidentialite/" - } - ], - "dataDeclaration": [1, 4, 5, 6, 10], - "deviceStorageDisclosureUrl": "https://www.prismamedia.com/deviceStorage.json" - }, - "1187": { - "id": 1187, - "name": "AccountInsight Ltd", - "purposes": [], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "purposes": {}, - "specialPurposes": { "1": 180, "2": 365 } - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.accountinsight.ai/privacy-policy/", - "legIntClaim": "https://www.accountinsight.ai/privacy-policy/#IP_Processing" - } - ], - "dataDeclaration": [1], - "deviceStorageDisclosureUrl": "https://static.accountinsight.cloud/TCF/Device%20Storage%20Disclosure.json" - }, - "1188": { - "id": 1188, - "name": "Loop Now Technologies Inc.", - "purposes": [1, 7, 8, 10], - "legIntPurposes": [], - "flexiblePurposes": [7, 8, 10], - "specialPurposes": [1, 2], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 365, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://firework.com/legal/privacypolicy/", - "legIntClaim": "https://firework.com/legal/privacypolicy/" - } - ], - "dataDeclaration": [1], - "deviceStorageDisclosureUrl": "https://gdpr.firework.com/disclosure.json" - }, - "714": { - "id": 714, - "name": "Upwave Inc.", - "purposes": [1], - "legIntPurposes": [7, 8, 9], - "flexiblePurposes": [7, 8, 9], - "specialPurposes": [], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": 32000000, - "usesCookies": true, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 400, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.upwave.com/privacy-policy/", - "legIntClaim": "https://www.upwave.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 3], - "deviceStorageDisclosureUrl": "https://www.upwave.com/tcf.json" - }, - "1189": { - "id": 1189, - "name": "ResponsiveAds, Inc.", - "purposes": [7, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [], - "specialFeatures": [1], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 4320, - "purposes": { "10": 0 }, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://responsiveads.com/privacy-policy/", - "legIntClaim": "https://responsiveads.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 6, 7, 8, 9], - "deviceStorageDisclosureUrl": "https://publish.responsiveads.com/tcf/tcf-v2.json" - }, - "1190": { - "id": 1190, - "name": "Foreshadow s.r.o", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [1], - "cookieMaxAgeSeconds": 15780000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 730, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://hodokudsp.com/privacy-policy/", - "legIntClaim": "https://hodokudsp.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 3, 4, 6, 9], - "deviceStorageDisclosureUrl": "https://hodokudsp.com/wp-content/uploads/2023/03/disclosure.json" - }, - "1191": { - "id": 1191, - "name": "Adsmovil Espa\u00f1a S.L", - "purposes": [2, 3, 4], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [1], - "specialFeatures": [1], - "cookieMaxAgeSeconds": 34128000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 90, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "es", - "privacy": "https://adsmovil.com/politicas-privacidad/" - } - ], - "dataDeclaration": [1, 2, 3, 9], - "deviceStorageDisclosureUrl": "https://adsmovil.com/devicedisclosure.json" - }, - "901": { - "id": 901, - "name": "STUDIO GONG GmbH & Co. Studiobetriebs KG", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "cookieMaxAgeSeconds": 34128000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 90, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "de", - "privacy": "https://www.studio-gong.de/datenschutzerklaerung", - "legIntClaim": "https://www.studio-gong.de/datenschutzerklaerung" - } - ], - "dataDeclaration": [1, 2, 3], - "deviceStorageDisclosureUrl": "https://www.studio-gong.de/devicedisclosure_vendor_studiogong.json" - }, - "1192": { - "id": 1192, - "name": "Engage Media TV LTD", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7, 8, 9, 10], - "flexiblePurposes": [7], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], - "cookieMaxAgeSeconds": 31536000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 30, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://engagemedia.tv/privecy-policy", - "legIntClaim": "https://engagemedia.tv/privecy-policy" - } - ], - "dataDeclaration": [3, 7], - "deviceStorageDisclosureUrl": "https://engagemedia.tv/deviceStorageDisclosure.json" - }, - "444": { - "id": 444, - "name": "EX.CO Technologies Ltd ", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": 2592000, - "usesCookies": true, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 30, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [{ "langId": "en", "privacy": "https://ex.co/privacy-policy/" }], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "deviceStorageDisclosureUrl": "https://ex.co/deviceStorage.json" - }, - "1193": { - "id": 1193, - "name": "ArcSpan Technologies, Inc.", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 1095, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.arcspan.com/privacy-policy/", - "legIntClaim": "https://www.arcspan.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 6, 11], - "deviceStorageDisclosureUrl": "https://docs.arcspan.com/arcspan.json" - }, - "999": { - "id": 999, - "name": "ADSTOURS SAS", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": 63000000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 60, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "fr", - "privacy": "https://www.clickintext.com/about/charte-rgpd.php" - } - ], - "dataDeclaration": [1, 6, 8, 11], - "deviceStorageDisclosureUrl": "https://www.clickintext.com/about/consensu.php" - }, - "1195": { - "id": 1195, - "name": "Amplified IntelligenceTechnologies", - "purposes": [7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [7, 9, 10], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 3650, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.amplifiedintelligence.com.au/privacy-policy/", - "legIntClaim": "https://www.amplifiedintelligence.com.au/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 6, 8], - "deviceStorageDisclosureUrl": "https://www.amplifiedintelligence.com.au/tcfv2.json" - }, - "1196": { - "id": 1196, - "name": "MEDIAWAYSS Sp. z o.o.", - "purposes": [1, 2, 3, 4, 5, 7, 8], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [2], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": 31449600, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 364, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://vidverto.io/privacy-policy/", - "legIntClaim": "https://vidverto.io/privacy-policy/#interest" - } - ], - "dataDeclaration": [2, 3, 4, 6, 8, 10, 11], - "deviceStorageDisclosureUrl": "https://ad.vidverto.io/delivery/iab_tcf_ds.json" - }, - "381": { - "id": 381, - "name": "Solocal SA", - "purposes": [1, 3, 4, 5, 6, 7, 9, 10], - "legIntPurposes": [2, 8], - "flexiblePurposes": [], - "specialPurposes": [1], - "features": [1, 3], - "specialFeatures": [1, 2], - "cookieMaxAgeSeconds": 34164000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "purposes": { - "2": 0, - "3": 91, - "4": 91, - "5": 91, - "6": 91, - "7": 4320, - "8": 4320, - "9": 4320, - "10": 4320 - }, - "specialPurposes": { "1": 372 } - }, - "urls": [ - { - "langId": "fr", - "privacy": "https://www.solocal.com/protection-de-la-vie-privee", - "legIntClaim": "https://www.solocal.com/protection-de-la-vie-privee" - } - ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], - "deviceStorageDisclosureUrl": "https://prd-cdn.adhslx.com/ui/assets/tcf/tcf-registration.json" - }, - "1199": { - "id": 1199, - "name": "Adsyield Inc", - "purposes": [1, 2, 7, 8, 10], - "legIntPurposes": [], - "flexiblePurposes": [10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [2], - "overflow": { "httpGetLimit": 128 }, - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 2, - "purposes": { "2": 1, "8": 1 }, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://adsyield.com/privacy-policy/", - "legIntClaim": "https://adsyield.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 4, 6], - "deviceStorageDisclosureUrl": "https://adsyield.com/vendor-tcf.json" - }, - "1200": { - "id": 1200, - "name": "ADTARGET.ME UAB", - "purposes": [1, 3, 4, 5, 6, 8, 9, 10], - "legIntPurposes": [2, 7], - "flexiblePurposes": [2, 7], - "specialPurposes": [1, 2], - "features": [2], - "specialFeatures": [], - "cookieMaxAgeSeconds": 315532800, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 255, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://adtarget.me/page/privacy", - "legIntClaim": "https://adtarget.me/page/privacy" - } - ], - "dataDeclaration": [1, 2, 3, 8, 11], - "deviceStorageDisclosureUrl": "https://z.cdn.adtarget.me/gdpr/deviceStorageDisclosure.json" - }, - "1201": { - "id": 1201, - "name": "hyScore.io GmbH", - "purposes": [2, 7, 8, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 365, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { "langId": "en", "privacy": "https://hyscore.io/data-privacy/" } - ], - "dataDeclaration": [8, 9], - "deviceStorageDisclosureUrl": "https://act.hyscore.io/tcf/tcf.json" - }, - "1202": { - "id": 1202, - "name": "Edge226 Ltd", - "purposes": [2, 7, 10], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [2], - "features": [3], - "specialFeatures": [1], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 30, - "purposes": { "2": 90 }, - "specialPurposes": { "2": 1 } - }, - "urls": [ - { - "langId": "en", - "privacy": "https://edge226.com/privacy-policy/", - "legIntClaim": "https://edge226.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 3, 8], - "deviceStorageDisclosureUrl": "https://snatch.adjns.com/cdn_storage/tcf/tcf.json" - }, - "1203": { - "id": 1203, - "name": "Aderize, Inc.", - "purposes": [], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 365, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://aderserve.com/privacy_policy.html", - "legIntClaim": "https://aderserve.com/privacy_policy.html" - } - ], - "dataDeclaration": [6, 8], - "deviceStorageDisclosureUrl": "https://aderserve.com/.well-known/deviceStorage.json" - }, - "1204": { - "id": 1204, - "name": "fraud0 GmbH", - "purposes": [], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "1": 730 } }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.fraud0.com/privacy-policy/", - "legIntClaim": "https://www.fraud0.com/privacy-policy/" - }, - { - "langId": "de", - "privacy": "https://www.fraud0.com/de/datenschutz/", - "legIntClaim": "https://www.fraud0.com/de/datenschutz/" - } - ], - "dataDeclaration": [1, 2, 3, 6], - "deviceStorageDisclosureUrl": "https://api.fraud0.com/iab.json" - }, - "1205": { - "id": 1205, - "name": "Adasta Media S.r.l.", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [1], - "specialFeatures": [], - "cookieMaxAgeSeconds": 34187400, - "usesCookies": true, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 393, - "purposes": { "10": 30 }, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.adasta.it/en/privacy-policy/" - } - ], - "dataDeclaration": [1, 6, 10, 11], - "deviceStorageDisclosureUrl": "https://adasta.it/vendor-device-storage.json" - }, - "1207": { - "id": 1207, - "name": "Feeltapmedia Limited", - "purposes": [1], - "legIntPurposes": [2], - "flexiblePurposes": [2], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "overflow": { "httpGetLimit": 128 }, - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { "purposes": { "2": 90 }, "specialPurposes": {} }, - "urls": [ - { - "langId": "en", - "privacy": "https://feeltapmedia.com/Privacy-policy/", - "legIntClaim": "https://feeltapmedia.com/Privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 3], - "deviceStorageDisclosureUrl": "https://feeltapmedia.com/ftm.json" - }, - "1208": { - "id": 1208, - "name": "Viomba Oy", - "purposes": [], - "legIntPurposes": [7], - "flexiblePurposes": [], - "specialPurposes": [2], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 4320, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://pathfinder.viomba.com/privacy-policy", - "legIntClaim": "https://pathfinder.viomba.com/privacy-policy" - } - ], - "dataDeclaration": [1, 2, 8], - "deviceStorageDisclosureUrl": "https://api-pathfinder.viomba.com/domains-disclosure.json" - }, - "1209": { - "id": 1209, - "name": "Memob Plus FZ LLC", - "purposes": [1, 2, 3, 4, 7, 9], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 90, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://memob.com/privacy-policy/", - "legIntClaim": "https://memob.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2, 3, 4, 6, 7, 9, 10], - "deviceStorageDisclosureUrl": "https://gdpr.memob.com/deviceStorage.json" - }, - "1210": { - "id": 1210, - "name": "ADNOW I RENODO MEDIA LTD", - "purposes": [1, 2], - "legIntPurposes": [7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], - "overflow": { "httpGetLimit": 128 }, - "cookieMaxAgeSeconds": 1209600, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 30, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://adnow.com/privacy-policy", - "legIntClaim": "https://adnow.com/privacy-policy" - } - ], - "dataDeclaration": [1, 2, 8], - "deviceStorageDisclosureUrl": "https://adnow.com/vdsod.json" - }, - "1211": { - "id": 1211, - "name": "Momento, Inc.", - "purposes": [1, 2, 3, 4], - "legIntPurposes": [7, 10], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1, 2], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 4320, - "purposes": { "2": 365, "3": 365, "4": 365 }, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://momento.team/privacy-policy", - "legIntClaim": "https://momento.team/privacy-policy" - } - ], - "dataDeclaration": [1, 2, 3, 4, 8, 9, 11], - "deviceStorageDisclosureUrl": "https://momento.dev/data_storage_disclosures.json" - }, - "1212": { - "id": 1212, - "name": "Ads Interactive Ltd.", - "purposes": [1, 2, 3, 4, 7, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, - "cookieMaxAgeSeconds": 4838400, - "usesCookies": true, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 60, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://adsinteractive.com/privacy-policy", - "legIntClaim": "https://adsinteractive.com/privacy-policy" - } - ], - "dataDeclaration": [1, 2, 8, 11], - "deviceStorageDisclosureUrl": "https://adsinteractive.com/vendor.json" - }, - "1213": { - "id": 1213, - "name": "esome advertising technologies gmbh", - "purposes": [2, 3, 4], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [1, 2, 3], - "specialFeatures": [2], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 30, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { "langId": "de", "privacy": "https://www.esome.com/de/datenschutz/" }, - { "langId": "en", "privacy": "https://www.esome.com/en/data-privacy/" } - ], - "dataDeclaration": [1, 2, 3, 4, 6, 10, 11], - "deviceStorageDisclosureUrl": "https://www.esome.com/wp-content/uploads/2023/05/vendor.json" - }, - "1214": { - "id": 1214, - "name": "Kamino Retail", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 9, 10], - "flexiblePurposes": [2, 7, 9, 10], - "specialPurposes": [1, 2], - "features": [1], - "specialFeatures": [], - "cookieMaxAgeSeconds": 31536000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 365, - "purposes": {}, - "specialPurposes": { "2": 0 } - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.kaminoretail.com/privacy-policy", - "legIntClaim": "https://www.kaminoretail.com/privacy-policy" - } - ], - "dataDeclaration": [1, 2, 5, 6, 8, 11], - "deviceStorageDisclosureUrl": "https://privacy.kaminoretail.io/privacy/kaminoretaildevicesstoragedisclosures.json" - }, - "1215": { - "id": 1215, - "name": "DrivenIQ Corporation", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 4320, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://app.visitiq.io/privacy-policy.html", - "legIntClaim": "https://app.visitiq.io/privacy-policy.html" - } - ], - "dataDeclaration": [1], - "deviceStorageDisclosureUrl": "https://app.visitiq.io/tcf_vendor_disclosure.json" - }, - "1216": { - "id": 1216, - "name": "Start.io Inc", - "purposes": [1, 3, 4], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [2, 7, 10], - "specialPurposes": [1, 2], - "features": [1], - "specialFeatures": [1], - "overflow": { "httpGetLimit": 128 }, - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 365, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.start.io/policy/privacy-policy-site/", - "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" - }, - { - "langId": "fr", - "privacy": "https://www.start.io/policy/privacy-policy-site/", - "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" - }, - { - "langId": "es", - "privacy": "https://www.start.io/policy/privacy-policy-site/", - "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" - }, - { - "langId": "de", - "privacy": "https://www.start.io/policy/privacy-policy-site/", - "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" - } - ], - "dataDeclaration": [1, 2, 3, 6, 7, 8, 9, 10, 11], - "deviceStorageDisclosureUrl": "https://info.startappservice.com/tcf/start.io_domains.json" - }, - "1217": { - "id": 1217, - "name": "Channel99, Inc.", - "purposes": [], - "legIntPurposes": [7], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [1], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { "purposes": { "7": 0 }, "specialPurposes": {} }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.channel99.com/privacy-policy/", - "legIntClaim": "https://www.channel99.com/privacy-policy/" - } - ], - "dataDeclaration": [1, 2], - "deviceStorageDisclosureUrl": "https://ping.channel99.io/Channel99-DeviceStorageDisclosure.json" - }, - "1218": { - "id": 1218, - "name": "AIDEM Technologies LTD", - "purposes": [1, 2, 7, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 2, 3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 90, - "purposes": { "7": 30, "11": 0 }, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://kb.aidem.com/privacy/policies/privacy-policy/", - "legIntClaim": "https://kb.aidem.com/privacy/policies/privacy-policy/#4-how-we-use-your-data" - } - ], - "dataDeclaration": [1, 2, 6, 11], - "deviceStorageDisclosureUrl": "https://www.aidem.com/tcf.json" - }, - "1219": { - "id": 1219, - "name": "Videobot Ltd", - "purposes": [], - "legIntPurposes": [7, 8], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 1800, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.videobot.com/privacy-policy/", - "legIntClaim": "https://www.videobot.com/privacy-policy/" - } - ], - "dataDeclaration": [2, 3], - "deviceStorageDisclosureUrl": "https://www.videobot.com/device-storage-disclosure.json" - }, - "1220": { - "id": 1220, - "name": "RAyn B.V.", - "purposes": [1, 3, 5, 7, 9], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [1, 3], - "specialFeatures": [], - "cookieMaxAgeSeconds": 30, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 30, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [{ "langId": "en", "privacy": "https://rayn.io/privacy" }], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], - "deviceStorageDisclosureUrl": "https://cdn.raynmachine.io/devicestoragedisclosure.json" - }, - "1221": { - "id": 1221, - "name": "Flyads O\u00dc", - "purposes": [3, 4, 7, 8, 9, 10], - "legIntPurposes": [2], - "flexiblePurposes": [7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [], - "cookieMaxAgeSeconds": 2592000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 30, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://flyads.com/privacy-policy", - "legIntClaim": "https://flyads.com/privacy-policy" - } - ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], - "deviceStorageDisclosureUrl": "https://e.displayfly.com/storage.json" - }, - "1222": { - "id": 1222, - "name": "Clickagy LLC", - "purposes": [1, 2, 3, 4, 7], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [2], - "features": [1, 2, 3], - "specialFeatures": [2], - "cookieMaxAgeSeconds": 34160000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 396, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.clickagy.com/privacy/", - "legIntClaim": "https://www.clickagy.com/privacy/" - } - ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 8, 10, 11], - "deviceStorageDisclosureUrl": "https://tags.clickagy.com/device-storage-disclosure.json" - }, - "1223": { - "id": 1223, - "name": "Appstock LTD.", - "purposes": [], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [2], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 0, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://app-stock.com/privacy-policy/", - "legIntClaim": "https://app-stock.com/privacy-policy/" - } - ], - "dataDeclaration": [7, 8], - "deviceStorageDisclosureUrl": "https://app-stock.com/sellers.json" - }, - "1224": { - "id": 1224, - "name": "Exceed Solutions GmbH", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 40, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { "langId": "en", "privacy": "https://recova.ai/privacy-policy" }, - { - "langId": "de", - "privacy": "https://recova.ai/de/datenschutzerklaerung" - } - ], - "dataDeclaration": [6], - "deviceStorageDisclosureUrl": "https://api.recova.ai/disclosures.json" - }, - "384": { - "id": 384, - "name": "Pixalate, Inc.", - "purposes": [10], - "legIntPurposes": [], - "flexiblePurposes": [10], - "specialPurposes": [1], - "features": [1, 2], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "purposes": { "10": 7 }, - "specialPurposes": { "1": 61 } - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.pixalate.com/privacypolicy", - "legIntClaim": "https://f.hubspotusercontent40.net/hubfs/2364596/Legal/2021-02-16%20Legitimate%20Interests.pdf" - } - ], - "dataDeclaration": [1, 2, 3, 6, 8], - "deviceStorageDisclosureUrl": "https://api.pixalate.com/.well-known/disclosures/tcf_disclosures.json" - }, - "4176": { - "id": 4176, - "name": "Advertising.Tech FZ-LLC", - "purposes": [], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1], - "features": [3], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "1": 2190 } }, - "urls": [ - { - "langId": "en", - "privacy": "https://advertising.tech/privacy-policy/", - "legIntClaim": "https://advertising.tech/privacy-policy/#legal-basis" - } - ], - "dataDeclaration": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], - "deviceStorageDisclosureUrl": "https://advertising.tech/tcf/gvl/deviceStorage.json" - }, - "1225": { - "id": 1225, - "name": "Dando online LTD", - "purposes": [], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [1], - "specialFeatures": [1], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 0, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://singularads.com/policy/", - "legIntClaim": "https://singularads.com/policy/" - } - ], - "dataDeclaration": [8], - "deviceStorageDisclosureUrl": "https://singularads.com/disc.json" - }, - "1226": { - "id": 1226, - "name": "Digital Brain Nordic AB", - "purposes": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], - "legIntPurposes": [], - "flexiblePurposes": [2, 7, 8, 9, 10, 11], - "specialPurposes": [], - "features": [1], - "specialFeatures": [1], - "cookieMaxAgeSeconds": 31536000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 365, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.audiencealliance.org/gdpr/privacy-policy", - "legIntClaim": "https://www.audiencealliance.org/gdpr/privacy-policy" - } - ], - "dataDeclaration": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], - "deviceStorageDisclosureUrl": "https://cdn.dep-x.com/tcf_vendors/samhub/devicestoragedisclosures.json" - }, - "1228": { - "id": 1228, - "name": "EMBRACE Systems GmbH", - "purposes": [], - "legIntPurposes": [2, 7, 9, 10, 11], - "flexiblePurposes": [2, 7, 9, 10, 11], - "specialPurposes": [1, 2], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 30, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "de", - "privacy": "https://www.embrace.systems/datenschutz-embrace-platform", - "legIntClaim": "https://www.embrace.systems/datenschutz/lia" - } - ], - "dataDeclaration": [1, 5, 6, 7], - "deviceStorageDisclosureUrl": "https://docs.prod.aws.embrace.systems/tcf/device-storage.json" - }, - "1229": { - "id": 1229, - "name": "Decentralised Advertising Limited", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10, 11], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [1], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 365, - "purposes": { "3": 60, "4": 60, "5": 60, "6": 60 }, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://dahq.io/privacy-policy", - "legIntClaim": "https://dahq.io/privacy-policy" - } - ], - "dataDeclaration": [1, 3, 5, 6, 7, 8, 9, 10, 11], - "deviceStorageDisclosureUrl": "https://cdn.gx.dev/disclosure.json" - }, - "1230": { - "id": 1230, - "name": "Audion", - "purposes": [1, 3, 4, 5, 6], - "legIntPurposes": [2, 7, 8, 9, 10], - "flexiblePurposes": [2, 7, 8, 9, 10], - "specialPurposes": [1, 2], - "features": [1, 3], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 100, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "fr", - "privacy": "https://www.audion.fm/fr/privacy/", - "legIntClaim": "https://www.audion.fm/fr/privacy/" - }, - { - "langId": "en", - "privacy": "https://www.audion.fm/en/privacy/", - "legIntClaim": "https://www.audion.fm/en/privacy/" - } - ], - "dataDeclaration": [1, 2, 3, 4, 6, 8, 11], - "deviceStorageDisclosureUrl": "https://www.audion.fm/tcfv2.json" - }, - "1232": { - "id": 1232, - "name": "Greenbids", - "purposes": [7, 8, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 90, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.greenbids.ai/privacy", - "legIntClaim": "https://www.greenbids.ai/privacy" - } - ], - "dataDeclaration": [1, 2], - "deviceStorageDisclosureUrl": "https://swipette.fr/vendorjson.json" - }, - "1233": { - "id": 1233, - "name": "NEXTCHANCE ASSETS, S.L.", - "purposes": [2, 7, 9, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [2, 3], - "specialFeatures": [2], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 4320, - "purposes": { "2": 1 }, - "specialPurposes": { "2": 0 } - }, - "urls": [ - { - "langId": "es", - "privacy": "https://adsviu.com/politica-de-privacidad/", - "legIntClaim": "https://adsviu.com/condiciones-de-uso/" - }, - { - "langId": "en", - "privacy": "https://adsviu.com/en/privacy-policy/", - "legIntClaim": "https://adsviu.com/en/terms-of-use/" - } - ], - "dataDeclaration": [1, 2, 3, 4, 6, 8], - "deviceStorageDisclosureUrl": "https://nextchance.github.io/adsviu-IAB-config/vendor.json" - }, - "1234": { - "id": 1234, - "name": "Zuuvi ApS", - "purposes": [], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [2], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { "purposes": {}, "specialPurposes": { "2": 4320 } }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.zuuvi.com/privacy-policy", - "legIntClaim": "https://www.zuuvi.com/privacy-policy/legitimate-reasons" - } - ], - "dataDeclaration": [1, 8], - "deviceStorageDisclosureUrl": "https://static.zuuvicdn.com/info/tcf.json" - }, - "1235": { - "id": 1235, - "name": "R2B2 a.s.", - "purposes": [1, 2, 7, 10], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": 7776000, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 0, - "purposes": { "2": 90 }, - "specialPurposes": {} - }, - "urls": [{ "langId": "en", "privacy": "https://r2b2.io/privacy-policy" }], - "dataDeclaration": [1, 2, 8, 11], - "deviceStorageDisclosureUrl": "https://delivery.r2b2.io/cookie_disclosure" - }, - "1236": { - "id": 1236, - "name": "SPP Solutions Ltd.", - "purposes": [1], - "legIntPurposes": [2, 7, 10], - "flexiblePurposes": [], - "specialPurposes": [1, 2], - "features": [3], - "specialFeatures": [], - "overflow": { "httpGetLimit": 32 }, - "cookieMaxAgeSeconds": 400, - "usesCookies": true, - "cookieRefresh": true, - "usesNonCookieAccess": true, - "dataRetention": { - "stdRetention": 4, - "purposes": { "7": 365, "10": 365 }, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://panel.geozo.com/account/privacy", - "legIntClaim": "https://panel.geozo.com/account/legitimate-interest" - } - ], - "dataDeclaration": [1, 2, 8], - "deviceStorageDisclosureUrl": "https://cdn.geozo.com/v2/gdpr/tcf.json" - }, - "1237": { - "id": 1237, - "name": "Aryel s.r.l", - "purposes": [8, 9], - "legIntPurposes": [], - "flexiblePurposes": [], - "specialPurposes": [], - "features": [], - "specialFeatures": [], - "cookieMaxAgeSeconds": null, - "usesCookies": false, - "cookieRefresh": false, - "usesNonCookieAccess": false, - "dataRetention": { - "stdRetention": 4320, - "purposes": {}, - "specialPurposes": {} - }, - "urls": [ - { - "langId": "en", - "privacy": "https://www.iubenda.com/privacy-policy/58371589", - "legIntClaim": "https://www.iubenda.com/privacy-policy/58371589" - } - ], - "dataDeclaration": [11], - "deviceStorageDisclosureUrl": "https://assets.adv.aryel.io/_iab/iab.json" + }, + "urls": [ + { + "langId": "en", + "privacy": "https://adimo.co/privacy-policy", + "legIntClaim": "https://adimo.co/privacy-policy" } + ], + "dataDeclaration": [ + 1, + 2 + ], + "deviceStorageDisclosureUrl": "https://campaigns.adimo.co/tcf-adimo-device-storage-disclosure.json" +}, + "1184": { + "id": 1184, + "name": "Schwarz Media GmbH ", + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": 7776000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 89, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "de", + "privacy": "https://gruppe.schwarz/datenschutz", + "legIntClaim": "https://gruppe.schwarz/datenschutz" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 9, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://dmp.theadex.com/.well-known/deviceStorage.json" + }, + "1185": { + "id": 1185, + "name": "Prisma Media", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 700, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "fr", + "privacy": "https://www.prismamedia.com/espace-confidentialite/", + "legIntClaim": "https://www.prismamedia.com/espace-confidentialite/" + } + ], + "dataDeclaration": [ + 1, + 4, + 5, + 6, + 10 + ], + "deviceStorageDisclosureUrl": "https://www.prismamedia.com/deviceStorage.json" + }, + "1187": { + "id": 1187, + "name": "AccountInsight Ltd", + "purposes": [], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "1": 180, + "2": 365 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.accountinsight.ai/privacy-policy/", + "legIntClaim": "https://www.accountinsight.ai/privacy-policy/#IP_Processing" + } + ], + "dataDeclaration": [ + 1 + ], + "deviceStorageDisclosureUrl": "https://static.accountinsight.cloud/TCF/Device%20Storage%20Disclosure.json" + }, + "1188": { + "id": 1188, + "name": "Loop Now Technologies Inc.", + "purposes": [ + 1, + 7, + 8, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 7, + 8, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 365, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://firework.com/legal/privacypolicy/", + "legIntClaim": "https://firework.com/legal/privacypolicy/" + } + ], + "dataDeclaration": [ + 1 + ], + "deviceStorageDisclosureUrl": "https://gdpr.firework.com/disclosure.json" + }, + "714": { + "id": 714, + "name": "Upwave Inc.", + "purposes": [ + 1 + ], + "legIntPurposes": [ + 7, + 8, + 9 + ], + "flexiblePurposes": [ + 7, + 8, + 9 + ], + "specialPurposes": [], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 32000000, + "usesCookies": true, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 400, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.upwave.com/privacy-policy/", + "legIntClaim": "https://www.upwave.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3 + ], + "deviceStorageDisclosureUrl": "https://www.upwave.com/tcf.json" + }, + "1189": { + "id": 1189, + "name": "ResponsiveAds, Inc.", + "purposes": [ + 7, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 4320, + "purposes": { + "10": 0 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://responsiveads.com/privacy-policy/", + "legIntClaim": "https://responsiveads.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 7, + 8, + 9 + ], + "deviceStorageDisclosureUrl": "https://publish.responsiveads.com/tcf/tcf-v2.json" + }, + "1190": { + "id": 1190, + "name": "Foreshadow s.r.o", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": 15780000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 730, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://hodokudsp.com/privacy-policy/", + "legIntClaim": "https://hodokudsp.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 9 + ], + "deviceStorageDisclosureUrl": "https://hodokudsp.com/wp-content/uploads/2023/03/disclosure.json" + }, + "1191": { + "id": 1191, + "name": "Adsmovil Espa\u00f1a S.L", + "purposes": [ + 2, + 3, + 4 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": 34128000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 90, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "es", + "privacy": "https://adsmovil.com/politicas-privacidad/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 9 + ], + "deviceStorageDisclosureUrl": "https://adsmovil.com/devicedisclosure.json" + }, + "901": { + "id": 901, + "name": "STUDIO GONG GmbH & Co. Studiobetriebs KG", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": 34128000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 90, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "de", + "privacy": "https://www.studio-gong.de/datenschutzerklaerung", + "legIntClaim": "https://www.studio-gong.de/datenschutzerklaerung" + } + ], + "dataDeclaration": [ + 1, + 2, + 3 + ], + "deviceStorageDisclosureUrl": "https://www.studio-gong.de/devicedisclosure_vendor_studiogong.json" + }, + "1192": { + "id": 1192, + "name": "Engage Media TV LTD", + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "cookieMaxAgeSeconds": 31536000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 30, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://engagemedia.tv/privecy-policy", + "legIntClaim": "https://engagemedia.tv/privecy-policy" + } + ], + "dataDeclaration": [ + 3, + 7 + ], + "deviceStorageDisclosureUrl": "https://engagemedia.tv/deviceStorageDisclosure.json" + }, + "444": { + "id": 444, + "name": "EX.CO Technologies Ltd ", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 2592000, + "usesCookies": true, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 30, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://ex.co/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://ex.co/deviceStorage.json" + }, + "1193": { + "id": 1193, + "name": "ArcSpan Technologies, Inc.", + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 1095, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.arcspan.com/privacy-policy/", + "legIntClaim": "https://www.arcspan.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 11 + ], + "deviceStorageDisclosureUrl": "https://docs.arcspan.com/arcspan.json" + }, + "999": { + "id": 999, + "name": "ADSTOURS SAS", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": 63000000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 60, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "fr", + "privacy": "https://www.clickintext.com/about/charte-rgpd.php" + } + ], + "dataDeclaration": [ + 1, + 6, + 8, + 11 + ], + "deviceStorageDisclosureUrl": "https://www.clickintext.com/about/consensu.php" + }, + "1195": { + "id": 1195, + "name": "Amplified IntelligenceTechnologies", + "purposes": [ + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 7, + 9, + 10 + ], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 3650, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.amplifiedintelligence.com.au/privacy-policy/", + "legIntClaim": "https://www.amplifiedintelligence.com.au/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 8 + ], + "deviceStorageDisclosureUrl": "https://www.amplifiedintelligence.com.au/tcfv2.json" + }, + "1196": { + "id": 1196, + "name": "MEDIAWAYSS Sp. z o.o.", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 7, + 8 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 31449600, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 364, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://vidverto.io/privacy-policy/", + "legIntClaim": "https://vidverto.io/privacy-policy/#interest" + } + ], + "dataDeclaration": [ + 2, + 3, + 4, + 6, + 8, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://ad.vidverto.io/delivery/iab_tcf_ds.json" + }, + "381": { + "id": 381, + "name": "Solocal SA", + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 7, + 9, + 10 + ], + "legIntPurposes": [ + 2, + 8 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "cookieMaxAgeSeconds": 34164000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "purposes": { + "2": 0, + "3": 91, + "4": 91, + "5": 91, + "6": 91, + "7": 4320, + "8": 4320, + "9": 4320, + "10": 4320 + }, + "specialPurposes": { + "1": 372 + } + }, + "urls": [ + { + "langId": "fr", + "privacy": "https://www.solocal.com/protection-de-la-vie-privee", + "legIntClaim": "https://www.solocal.com/protection-de-la-vie-privee" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://prd-cdn.adhslx.com/ui/assets/tcf/tcf-registration.json" + }, + "1199": { + "id": 1199, + "name": "Adsyield Inc", + "purposes": [ + 1, + 2, + 7, + 8, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 2, + "purposes": { + "2": 1, + "8": 1 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://adsyield.com/privacy-policy/", + "legIntClaim": "https://adsyield.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 4, + 6 + ], + "deviceStorageDisclosureUrl": "https://adsyield.com/vendor-tcf.json" + }, + "1200": { + "id": 1200, + "name": "ADTARGET.ME UAB", + "purposes": [ + 1, + 3, + 4, + 5, + 6, + 8, + 9, + 10 + ], + "legIntPurposes": [ + 2, + 7 + ], + "flexiblePurposes": [ + 2, + 7 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 315532800, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 255, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://adtarget.me/page/privacy", + "legIntClaim": "https://adtarget.me/page/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 8, + 11 + ], + "deviceStorageDisclosureUrl": "https://z.cdn.adtarget.me/gdpr/deviceStorageDisclosure.json" + }, + "1201": { + "id": 1201, + "name": "hyScore.io GmbH", + "purposes": [ + 2, + 7, + 8, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 365, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://hyscore.io/data-privacy/" + } + ], + "dataDeclaration": [ + 8, + 9 + ], + "deviceStorageDisclosureUrl": "https://act.hyscore.io/tcf/tcf.json" + }, + "1202": { + "id": 1202, + "name": "Edge226 Ltd", + "purposes": [ + 2, + 7, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 30, + "purposes": { + "2": 90 + }, + "specialPurposes": { + "2": 1 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://edge226.com/privacy-policy/", + "legIntClaim": "https://edge226.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 8 + ], + "deviceStorageDisclosureUrl": "https://snatch.adjns.com/cdn_storage/tcf/tcf.json" + }, + "1203": { + "id": 1203, + "name": "Aderize, Inc.", + "purposes": [], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 365, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://aderserve.com/privacy_policy.html", + "legIntClaim": "https://aderserve.com/privacy_policy.html" + } + ], + "dataDeclaration": [ + 6, + 8 + ], + "deviceStorageDisclosureUrl": "https://aderserve.com/.well-known/deviceStorage.json" + }, + "1204": { + "id": 1204, + "name": "fraud0 GmbH", + "purposes": [], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1 + ], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "1": 730 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.fraud0.com/privacy-policy/", + "legIntClaim": "https://www.fraud0.com/privacy-policy/" + }, + { + "langId": "de", + "privacy": "https://www.fraud0.com/de/datenschutz/", + "legIntClaim": "https://www.fraud0.com/de/datenschutz/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 6 + ], + "deviceStorageDisclosureUrl": "https://api.fraud0.com/iab.json" + }, + "1205": { + "id": 1205, + "name": "Adasta Media S.r.l.", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [ + 1 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 34187400, + "usesCookies": true, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 393, + "purposes": { + "10": 30 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.adasta.it/en/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 6, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://adasta.it/vendor-device-storage.json" + }, + "1207": { + "id": 1207, + "name": "Feeltapmedia Limited", + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 2 + ], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 128 + }, + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "purposes": { + "2": 90 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://feeltapmedia.com/Privacy-policy/", + "legIntClaim": "https://feeltapmedia.com/Privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3 + ], + "deviceStorageDisclosureUrl": "https://feeltapmedia.com/ftm.json" + }, + "1208": { + "id": 1208, + "name": "Viomba Oy", + "purposes": [], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 4320, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://pathfinder.viomba.com/privacy-policy", + "legIntClaim": "https://pathfinder.viomba.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 8 + ], + "deviceStorageDisclosureUrl": "https://api-pathfinder.viomba.com/domains-disclosure.json" + }, + "1209": { + "id": 1209, + "name": "Memob Plus FZ LLC", + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 9 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 90, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://memob.com/privacy-policy/", + "legIntClaim": "https://memob.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 7, + 9, + 10 + ], + "deviceStorageDisclosureUrl": "https://gdpr.memob.com/deviceStorage.json" + }, + "1210": { + "id": 1210, + "name": "ADNOW I RENODO MEDIA LTD", + "purposes": [ + 1, + 2 + ], + "legIntPurposes": [ + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "overflow": { + "httpGetLimit": 128 + }, + "cookieMaxAgeSeconds": 1209600, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 30, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://adnow.com/privacy-policy", + "legIntClaim": "https://adnow.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 8 + ], + "deviceStorageDisclosureUrl": "https://adnow.com/vdsod.json" + }, + "1211": { + "id": 1211, + "name": "Momento, Inc.", + "purposes": [ + 1, + 2, + 3, + 4 + ], + "legIntPurposes": [ + 7, + 10 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1, + 2 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 4320, + "purposes": { + "2": 365, + "3": 365, + "4": 365 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://momento.team/privacy-policy", + "legIntClaim": "https://momento.team/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 8, + 9, + 11 + ], + "deviceStorageDisclosureUrl": "https://momento.dev/data_storage_disclosures.json" + }, + "1212": { + "id": 1212, + "name": "Ads Interactive Ltd.", + "purposes": [ + 1, + 2, + 3, + 4, + 7, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 32 + }, + "cookieMaxAgeSeconds": 4838400, + "usesCookies": true, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 60, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://adsinteractive.com/privacy-policy", + "legIntClaim": "https://adsinteractive.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], + "deviceStorageDisclosureUrl": "https://adsinteractive.com/vendor.json" + }, + "1213": { + "id": 1213, + "name": "esome advertising technologies gmbh", + "purposes": [ + 2, + 3, + 4 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 30, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "de", + "privacy": "https://www.esome.com/de/datenschutz/" + }, + { + "langId": "en", + "privacy": "https://www.esome.com/en/data-privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://www.esome.com/wp-content/uploads/2023/05/vendor.json" + }, + "1214": { + "id": 1214, + "name": "Kamino Retail", + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 31536000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 365, + "purposes": {}, + "specialPurposes": { + "2": 0 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.kaminoretail.com/privacy-policy", + "legIntClaim": "https://www.kaminoretail.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 5, + 6, + 8, + 11 + ], + "deviceStorageDisclosureUrl": "https://privacy.kaminoretail.io/privacy/kaminoretaildevicesstoragedisclosures.json" + }, + "1215": { + "id": 1215, + "name": "DrivenIQ Corporation", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 4320, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://app.visitiq.io/privacy-policy.html", + "legIntClaim": "https://app.visitiq.io/privacy-policy.html" + } + ], + "dataDeclaration": [ + 1 + ], + "deviceStorageDisclosureUrl": "https://app.visitiq.io/tcf_vendor_disclosure.json" + }, + "1216": { + "id": 1216, + "name": "Start.io Inc", + "purposes": [ + 1, + 3, + 4 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], + "overflow": { + "httpGetLimit": 128 + }, + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 365, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.start.io/policy/privacy-policy-site/", + "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" + }, + { + "langId": "fr", + "privacy": "https://www.start.io/policy/privacy-policy-site/", + "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" + }, + { + "langId": "es", + "privacy": "https://www.start.io/policy/privacy-policy-site/", + "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" + }, + { + "langId": "de", + "privacy": "https://www.start.io/policy/privacy-policy-site/", + "legIntClaim": "https://www.start.io/policy/privacy-policy-site/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://info.startappservice.com/tcf/start.io_domains.json" + }, + "1217": { + "id": 1217, + "name": "Channel99, Inc.", + "purposes": [], + "legIntPurposes": [ + 7 + ], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [ + 1 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "purposes": { + "7": 0 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.channel99.com/privacy-policy/", + "legIntClaim": "https://www.channel99.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 1, + 2 + ], + "deviceStorageDisclosureUrl": "https://ping.channel99.io/Channel99-DeviceStorageDisclosure.json" + }, + "1218": { + "id": 1218, + "name": "AIDEM Technologies LTD", + "purposes": [ + 1, + 2, + 7, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 32 + }, + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 90, + "purposes": { + "7": 30, + "11": 0 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://kb.aidem.com/privacy/policies/privacy-policy/", + "legIntClaim": "https://kb.aidem.com/privacy/policies/privacy-policy/#4-how-we-use-your-data" + } + ], + "dataDeclaration": [ + 1, + 2, + 6, + 11 + ], + "deviceStorageDisclosureUrl": "https://www.aidem.com/tcf.json" + }, + "1219": { + "id": 1219, + "name": "Videobot Ltd", + "purposes": [], + "legIntPurposes": [ + 7, + 8 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 1800, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.videobot.com/privacy-policy/", + "legIntClaim": "https://www.videobot.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 2, + 3 + ], + "deviceStorageDisclosureUrl": "https://www.videobot.com/device-storage-disclosure.json" + }, + "1220": { + "id": 1220, + "name": "RAyn B.V.", + "purposes": [ + 1, + 3, + 5, + 7, + 9 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [ + 1, + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 30, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 30, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://rayn.io/privacy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://cdn.raynmachine.io/devicestoragedisclosure.json" + }, + "1221": { + "id": 1221, + "name": "Flyads O\u00dc", + "purposes": [ + 3, + 4, + 7, + 8, + 9, + 10 + ], + "legIntPurposes": [ + 2 + ], + "flexiblePurposes": [ + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 2592000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 30, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://flyads.com/privacy-policy", + "legIntClaim": "https://flyads.com/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], + "deviceStorageDisclosureUrl": "https://e.displayfly.com/storage.json" + }, + "1222": { + "id": 1222, + "name": "Clickagy LLC", + "purposes": [ + 1, + 2, + 3, + 4, + 7 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 2 + ], + "features": [ + 1, + 2, + 3 + ], + "specialFeatures": [ + 2 + ], + "cookieMaxAgeSeconds": 34160000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 396, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.clickagy.com/privacy/", + "legIntClaim": "https://www.clickagy.com/privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 8, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://tags.clickagy.com/device-storage-disclosure.json" + }, + "1223": { + "id": 1223, + "name": "Appstock LTD.", + "purposes": [], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [ + 2 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 0, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://app-stock.com/privacy-policy/", + "legIntClaim": "https://app-stock.com/privacy-policy/" + } + ], + "dataDeclaration": [ + 7, + 8 + ], + "deviceStorageDisclosureUrl": "https://app-stock.com/sellers.json" + }, + "1224": { + "id": 1224, + "name": "Exceed Solutions GmbH", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 40, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://recova.ai/privacy-policy" + }, + { + "langId": "de", + "privacy": "https://recova.ai/de/datenschutzerklaerung" + } + ], + "dataDeclaration": [ + 6 + ], + "deviceStorageDisclosureUrl": "https://api.recova.ai/disclosures.json" + }, + "384": { + "id": 384, + "name": "Pixalate, Inc.", + "purposes": [ + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 10 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1, + 2 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "purposes": { + "10": 7 + }, + "specialPurposes": { + "1": 61 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.pixalate.com/privacypolicy", + "legIntClaim": "https://f.hubspotusercontent40.net/hubfs/2364596/Legal/2021-02-16%20Legitimate%20Interests.pdf" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 6, + 8 + ], + "deviceStorageDisclosureUrl": "https://api.pixalate.com/.well-known/disclosures/tcf_disclosures.json" + }, + "4176": { + "id": 4176, + "name": "Advertising.Tech FZ-LLC", + "purposes": [], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "1": 2190 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://advertising.tech/privacy-policy/", + "legIntClaim": "https://advertising.tech/privacy-policy/#legal-basis" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://advertising.tech/tcf/gvl/deviceStorage.json" + }, + "1225": { + "id": 1225, + "name": "Dando online LTD", + "purposes": [], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 0, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://singularads.com/policy/", + "legIntClaim": "https://singularads.com/policy/" + } + ], + "dataDeclaration": [ + 8 + ], + "deviceStorageDisclosureUrl": "https://singularads.com/disc.json" + }, + "1226": { + "id": 1226, + "name": "Digital Brain Nordic AB", + "purposes": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "specialPurposes": [], + "features": [ + 1 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": 31536000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 365, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.audiencealliance.org/gdpr/privacy-policy", + "legIntClaim": "https://www.audiencealliance.org/gdpr/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://cdn.dep-x.com/tcf_vendors/samhub/devicestoragedisclosures.json" + }, + "1228": { + "id": 1228, + "name": "EMBRACE Systems GmbH", + "purposes": [], + "legIntPurposes": [ + 2, + 7, + 9, + 10, + 11 + ], + "flexiblePurposes": [ + 2, + 7, + 9, + 10, + 11 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 30, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "de", + "privacy": "https://www.embrace.systems/datenschutz-embrace-platform", + "legIntClaim": "https://www.embrace.systems/datenschutz/lia" + } + ], + "dataDeclaration": [ + 1, + 5, + 6, + 7 + ], + "deviceStorageDisclosureUrl": "https://docs.prod.aws.embrace.systems/tcf/device-storage.json" + }, + "1229": { + "id": 1229, + "name": "Decentralised Advertising Limited", + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10, + 11 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [ + 1 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 365, + "purposes": { + "3": 60, + "4": 60, + "5": 60, + "6": 60 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://dahq.io/privacy-policy", + "legIntClaim": "https://dahq.io/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 3, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ], + "deviceStorageDisclosureUrl": "https://cdn.gx.dev/disclosure.json" + }, + "1230": { + "id": 1230, + "name": "Audion", + "purposes": [ + 1, + 3, + 4, + 5, + 6 + ], + "legIntPurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "flexiblePurposes": [ + 2, + 7, + 8, + 9, + 10 + ], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 1, + 3 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 100, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "fr", + "privacy": "https://www.audion.fm/fr/privacy/", + "legIntClaim": "https://www.audion.fm/fr/privacy/" + }, + { + "langId": "en", + "privacy": "https://www.audion.fm/en/privacy/", + "legIntClaim": "https://www.audion.fm/en/privacy/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8, + 11 + ], + "deviceStorageDisclosureUrl": "https://www.audion.fm/tcfv2.json" + }, + "1232": { + "id": 1232, + "name": "Greenbids", + "purposes": [ + 7, + 8, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 90, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.greenbids.ai/privacy", + "legIntClaim": "https://www.greenbids.ai/privacy" + } + ], + "dataDeclaration": [ + 1, + 2 + ], + "deviceStorageDisclosureUrl": "https://swipette.fr/vendorjson.json" + }, + "1233": { + "id": 1233, + "name": "NEXTCHANCE ASSETS, S.L.", + "purposes": [ + 2, + 7, + 9, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 2, + 3 + ], + "specialFeatures": [ + 2 + ], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 4320, + "purposes": { + "2": 1 + }, + "specialPurposes": { + "2": 0 + } + }, + "urls": [ + { + "langId": "es", + "privacy": "https://adsviu.com/politica-de-privacidad/", + "legIntClaim": "https://adsviu.com/condiciones-de-uso/" + }, + { + "langId": "en", + "privacy": "https://adsviu.com/en/privacy-policy/", + "legIntClaim": "https://adsviu.com/en/terms-of-use/" + } + ], + "dataDeclaration": [ + 1, + 2, + 3, + 4, + 6, + 8 + ], + "deviceStorageDisclosureUrl": "https://nextchance.github.io/adsviu-IAB-config/vendor.json" + }, + "1234": { + "id": 1234, + "name": "Zuuvi ApS", + "purposes": [], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [ + 2 + ], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "purposes": {}, + "specialPurposes": { + "2": 4320 + } + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.zuuvi.com/privacy-policy", + "legIntClaim": "https://www.zuuvi.com/privacy-policy/legitimate-reasons" + } + ], + "dataDeclaration": [ + 1, + 8 + ], + "deviceStorageDisclosureUrl": "https://static.zuuvicdn.com/info/tcf.json" + }, + "1235": { + "id": 1235, + "name": "R2B2 a.s.", + "purposes": [ + 1, + 2, + 7, + 10 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": 7776000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 0, + "purposes": { + "2": 90 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://r2b2.io/privacy-policy" + } + ], + "dataDeclaration": [ + 1, + 2, + 8, + 11 + ], + "deviceStorageDisclosureUrl": "https://delivery.r2b2.io/cookie_disclosure" + }, + "1236": { + "id": 1236, + "name": "SPP Solutions Ltd.", + "purposes": [ + 1 + ], + "legIntPurposes": [ + 2, + 7, + 10 + ], + "flexiblePurposes": [], + "specialPurposes": [ + 1, + 2 + ], + "features": [ + 3 + ], + "specialFeatures": [], + "overflow": { + "httpGetLimit": 32 + }, + "cookieMaxAgeSeconds": 400, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 4, + "purposes": { + "7": 365, + "10": 365 + }, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://panel.geozo.com/account/privacy", + "legIntClaim": "https://panel.geozo.com/account/legitimate-interest" + } + ], + "dataDeclaration": [ + 1, + 2, + 8 + ], + "deviceStorageDisclosureUrl": "https://cdn.geozo.com/v2/gdpr/tcf.json" + }, + "1237": { + "id": 1237, + "name": "Aryel s.r.l", + "purposes": [ + 8, + 9 + ], + "legIntPurposes": [], + "flexiblePurposes": [], + "specialPurposes": [], + "features": [], + "specialFeatures": [], + "cookieMaxAgeSeconds": null, + "usesCookies": false, + "cookieRefresh": false, + "usesNonCookieAccess": false, + "dataRetention": { + "stdRetention": 4320, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://www.iubenda.com/privacy-policy/58371589", + "legIntClaim": "https://www.iubenda.com/privacy-policy/58371589" + } + ], + "dataDeclaration": [ + 11 + ], + "deviceStorageDisclosureUrl": "https://assets.adv.aryel.io/_iab/iab.json" + }, + "1238": { + "id": 1238, + "name": "Roivenue s.r.o.", + "purposes": [ + 1, + 7, + 8 + ], + "legIntPurposes": [], + "flexiblePurposes": [ + 7, + 8 + ], + "specialPurposes": [ + 1 + ], + "features": [ + 1 + ], + "specialFeatures": [], + "cookieMaxAgeSeconds": 31104000, + "usesCookies": true, + "cookieRefresh": true, + "usesNonCookieAccess": true, + "dataRetention": { + "stdRetention": 360, + "purposes": {}, + "specialPurposes": {} + }, + "urls": [ + { + "langId": "en", + "privacy": "https://roivenue.com/wp-content/uploads/2022/04/Privacy-Policy-Roivenue.pdf", + "legIntClaim": "https://roivenue.com/wp-content/uploads/2022/04/Privacy-Policy-Roivenue.pdf" + } + ], + "dataDeclaration": [ + 1, + 2, + 4, + 6, + 11 + ], + "deviceStorageDisclosureUrl": "https://tr.roivenue.com/device-storage-disclosure/" } } +} diff --git a/tests/fixtures/manual_webhook_fixtures.py b/tests/fixtures/manual_webhook_fixtures.py index 7e7f244285..85f8a6b3ca 100644 --- a/tests/fixtures/manual_webhook_fixtures.py +++ b/tests/fixtures/manual_webhook_fixtures.py @@ -57,8 +57,16 @@ def access_manual_webhook(db, integration_manual_webhook_config) -> ConnectionCo @pytest.fixture(scope="function") -def cached_input(privacy_request_requires_input, access_manual_webhook): - privacy_request_requires_input.cache_manual_webhook_input( +def cached_access_input(privacy_request_requires_input, access_manual_webhook): + privacy_request_requires_input.cache_manual_webhook_access_input( access_manual_webhook, {"email": "customer-1@example.com", "last_name": "McCustomer"}, ) + + +@pytest.fixture(scope="function") +def cached_erasure_input(privacy_request_requires_input, access_manual_webhook): + privacy_request_requires_input.cache_manual_webhook_erasure_input( + access_manual_webhook, + {"email": False, "last_name": True}, + ) diff --git a/tests/ops/api/v1/endpoints/test_privacy_experience_endpoints.py b/tests/ops/api/v1/endpoints/test_privacy_experience_endpoints.py index 66da6b29c9..401df3f2a3 100644 --- a/tests/ops/api/v1/endpoints/test_privacy_experience_endpoints.py +++ b/tests/ops/api/v1/endpoints/test_privacy_experience_endpoints.py @@ -50,7 +50,7 @@ def test_get_privacy_experiences( ): unescape_header = {"Unescape-Safestr": "true"} - resp = api_client.get(url, headers=unescape_header) + resp = api_client.get(url + "?include_gvl=True", headers=unescape_header) assert resp.status_code == 200 data = resp.json() @@ -64,6 +64,9 @@ def test_get_privacy_experiences( assert resp["component"] == "privacy_center" assert resp["region"] == "us_co" assert resp["show_banner"] is False + assert ( + resp["gvl"] == {} + ) # This query param has no affect on a non-TCF experience # Assert experience config is nested experience_config = resp["experience_config"] assert experience_config["title"] == "Control your privacy" @@ -662,11 +665,12 @@ def test_tcf_not_enabled( settings.update(db=db, data={"tcf_enabled": False}) resp = api_client.get( - url + "?region=fr&component=overlay", + url + "?region=fr&component=overlay&include_gvl=True", ) assert resp.status_code == 200 assert len(resp.json()["items"]) == 1 assert resp.json()["items"][0]["id"] == privacy_experience_france_overlay.id + assert resp.json()["items"][0]["gvl"] == {} assert resp.json()["items"][0]["component"] == ComponentType.overlay.value assert len(resp.json()["items"][0]["privacy_notices"]) == 1 assert ( @@ -690,7 +694,7 @@ def test_tcf_enabled_but_no_relevant_systems( settings = ConsentSettings.get_or_create_with_defaults(db) settings.update(db=db, data={"tcf_enabled": True}) resp = api_client.get( - url + "?region=fr&component=overlay", + url + "?region=fr&component=overlay&include_gvl=True", ) assert resp.status_code == 200 assert len(resp.json()["items"]) == 1 @@ -703,6 +707,7 @@ def test_tcf_enabled_but_no_relevant_systems( assert resp.json()["items"][0]["tcf_special_purposes"] == [] assert resp.json()["items"][0]["tcf_special_features"] == [] assert resp.json()["items"][0]["tcf_systems"] == [] + assert resp.json()["items"][0]["gvl"] == {} # Has notices = True flag will keep this experience from appearing altogether resp = api_client.get( @@ -731,7 +736,7 @@ def test_tcf_enabled_with_overlapping_vendors( settings.update(db=db, data={"tcf_enabled": True}) resp = api_client.get( url - + "?region=fr&component=overlay&fides_user_device_id=051b219f-20e4-45df-82f7-5eb68a00889f&has_notices=True", + + "?region=fr&component=overlay&fides_user_device_id=051b219f-20e4-45df-82f7-5eb68a00889f&has_notices=True&include_gvl=True", ) assert resp.status_code == 200 assert len(resp.json()["items"]) == 1 @@ -775,6 +780,7 @@ def test_tcf_enabled_with_overlapping_vendors( is None ) assert resp.json()["items"][0]["tcf_systems"] == [] + assert resp.json()["items"][0]["gvl"]["gvlSpecificationVersion"] == 3 @pytest.mark.usefixtures( "privacy_experience_france_overlay", diff --git a/tests/ops/api/v1/endpoints/test_privacy_request_endpoints.py b/tests/ops/api/v1/endpoints/test_privacy_request_endpoints.py index bd6e2ef868..316d102dcc 100644 --- a/tests/ops/api/v1/endpoints/test_privacy_request_endpoints.py +++ b/tests/ops/api/v1/endpoints/test_privacy_request_endpoints.py @@ -53,7 +53,7 @@ SubjectIdentityVerificationBodyParams, ) from fides.api.schemas.policy import ActionType, PolicyResponse -from fides.api.schemas.redis_cache import CustomPrivacyRequestField, Identity +from fides.api.schemas.redis_cache import Identity from fides.api.task import graph_task from fides.api.tasks import MESSAGING_QUEUE_NAME from fides.api.util.cache import ( @@ -76,13 +76,14 @@ ) from fides.common.api.v1.urn_registry import ( CONNECTION_DATASETS, - PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT, PRIVACY_REQUEST_APPROVE, PRIVACY_REQUEST_AUTHENTICATED, PRIVACY_REQUEST_BULK_RETRY, PRIVACY_REQUEST_DENY, PRIVACY_REQUEST_MANUAL_ERASURE, PRIVACY_REQUEST_MANUAL_INPUT, + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT, + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT, PRIVACY_REQUEST_NOTIFICATIONS, PRIVACY_REQUEST_RESUME, PRIVACY_REQUEST_RESUME_FROM_REQUIRES_INPUT, @@ -3573,7 +3574,7 @@ def test_create_privacy_request_with_email_config( pr.delete(db=db) -class TestUploadManualWebhookInputs: +class TestUploadManualWebhookAccessInputs: @pytest.fixture(scope="function") def url( self, @@ -3582,7 +3583,7 @@ def url( access_manual_webhook, integration_manual_webhook_config, ): - return V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + return V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request_requires_input.id, connection_key=integration_manual_webhook_config.key, ) @@ -3610,7 +3611,7 @@ def test_patch_inputs_privacy_request_does_not_exist( access_manual_webhook, integration_manual_webhook_config, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id="bad_privacy_request", connection_key=integration_manual_webhook_config.key, ) @@ -3629,7 +3630,7 @@ def test_patch_inputs_connection_config_does_not_exist( payload, privacy_request_requires_input, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request_requires_input.id, connection_key="bad_connection_key", ) @@ -3649,7 +3650,7 @@ def test_patch_inputs_manual_webhook_does_not_exist( privacy_request_requires_input, integration_manual_webhook_config, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request_requires_input.id, connection_key=integration_manual_webhook_config.key, ) @@ -3688,7 +3689,7 @@ def test_patch_inputs_bad_privacy_request_status( integration_manual_webhook_config, access_manual_webhook, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request.id, connection_key=integration_manual_webhook_config.key, ) @@ -3696,7 +3697,7 @@ def test_patch_inputs_bad_privacy_request_status( response = api_client.patch(url, headers=auth_header, json=payload) assert ( response.json()["detail"] - == f"Invalid access manual webhook upload request: privacy request '{privacy_request.id}' status = in_processing." + == f"Invalid manual webhook access upload request: privacy request '{privacy_request.id}' status = in_processing." ) def test_patch_inputs_for_manual_webhook( @@ -3716,14 +3717,14 @@ def test_patch_inputs_for_manual_webhook( assert response.json() is None assert ( - privacy_request_requires_input.get_manual_webhook_input_strict( + privacy_request_requires_input.get_manual_webhook_access_input_strict( access_manual_webhook ) == payload ) -class TestGetManualWebhookInputs: +class TestUploadManualWebhookErasureInputs: @pytest.fixture(scope="function") def url( self, @@ -3732,7 +3733,157 @@ def url( access_manual_webhook, integration_manual_webhook_config, ): - return V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + return V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT.format( + privacy_request_id=privacy_request_requires_input.id, + connection_key=integration_manual_webhook_config.key, + ) + + @pytest.fixture(scope="function") + def payload(self): + return {"email": False, "last_name": True} + + def test_patch_inputs_not_authenticated(self, api_client: TestClient, url): + response = api_client.patch(url, headers={}) + assert 401 == response.status_code + + def test_patch_inputs_wrong_scopes( + self, api_client: TestClient, url, generate_auth_header, payload + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_READ]) + response = api_client.patch(url, headers=auth_header) + assert 403 == response.status_code + + def test_patch_inputs_privacy_request_does_not_exist( + self, + api_client: TestClient, + generate_auth_header, + payload, + access_manual_webhook, + integration_manual_webhook_config, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( + privacy_request_id="bad_privacy_request", + connection_key=integration_manual_webhook_config.key, + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_UPLOAD_DATA]) + response = api_client.patch(url, headers=auth_header, json=payload) + assert 404 == response.status_code + assert ( + response.json()["detail"] + == "No privacy request found with id 'bad_privacy_request'." + ) + + def test_patch_inputs_connection_config_does_not_exist( + self, + api_client: TestClient, + generate_auth_header, + payload, + privacy_request_requires_input, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( + privacy_request_id=privacy_request_requires_input.id, + connection_key="bad_connection_key", + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_UPLOAD_DATA]) + response = api_client.patch(url, headers=auth_header, json=payload) + assert 404 == response.status_code + assert ( + response.json()["detail"] + == "No connection config with key 'bad_connection_key'" + ) + + def test_patch_inputs_manual_webhook_does_not_exist( + self, + api_client: TestClient, + generate_auth_header, + payload, + privacy_request_requires_input, + integration_manual_webhook_config, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( + privacy_request_id=privacy_request_requires_input.id, + connection_key=integration_manual_webhook_config.key, + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_UPLOAD_DATA]) + response = api_client.patch(url, headers=auth_header, json=payload) + assert 404 == response.status_code + assert ( + response.json()["detail"] + == "No access manual webhook exists for connection config with key 'manual_webhook_example'" + ) + + def test_supply_invalid_fields( + self, + api_client: TestClient, + db, + url, + generate_auth_header, + access_manual_webhook, + integration_manual_webhook_config, + payload, + privacy_request_requires_input, + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_UPLOAD_DATA]) + response = api_client.patch( + url, headers=auth_header, json={"bad_field": "value"} + ) + assert 422 == response.status_code + assert response.json()["detail"][0]["msg"] == "extra fields not permitted" + + def test_patch_inputs_bad_privacy_request_status( + self, + api_client, + payload, + generate_auth_header, + privacy_request, + integration_manual_webhook_config, + access_manual_webhook, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( + privacy_request_id=privacy_request.id, + connection_key=integration_manual_webhook_config.key, + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_UPLOAD_DATA]) + response = api_client.patch(url, headers=auth_header, json=payload) + assert ( + response.json()["detail"] + == f"Invalid manual webhook access upload request: privacy request '{privacy_request.id}' status = in_processing." + ) + + def test_patch_inputs_for_manual_webhook( + self, + api_client: TestClient, + db, + url, + generate_auth_header, + access_manual_webhook, + integration_manual_webhook_config, + payload, + privacy_request_requires_input, + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_UPLOAD_DATA]) + response = api_client.patch(url, headers=auth_header, json=payload) + assert 200 == response.status_code + assert response.json() is None + + assert ( + privacy_request_requires_input.get_manual_webhook_erasure_input_strict( + access_manual_webhook + ) + == payload + ) + + +class TestGetManualWebhookAccessInputs: + @pytest.fixture(scope="function") + def url( + self, + db, + privacy_request_requires_input, + access_manual_webhook, + integration_manual_webhook_config, + ): + return V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request_requires_input.id, connection_key=integration_manual_webhook_config.key, ) @@ -3758,7 +3909,7 @@ def test_get_inputs_privacy_request_does_not_exist( access_manual_webhook, integration_manual_webhook_config, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id="bad_privacy_request", connection_key=integration_manual_webhook_config.key, ) @@ -3776,7 +3927,7 @@ def test_get_inputs_connection_config_does_not_exist( generate_auth_header, privacy_request_requires_input, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request_requires_input.id, connection_key="bad_connection_key", ) @@ -3795,7 +3946,7 @@ def test_get_inputs_manual_webhook_does_not_exist( privacy_request_requires_input, integration_manual_webhook_config, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request_requires_input.id, connection_key=integration_manual_webhook_config.key, ) @@ -3815,7 +3966,7 @@ def test_get_inputs_bad_privacy_request_status( integration_manual_webhook_config, access_manual_webhook, ): - url = V1_URL_PREFIX + PRIVACY_REQUEST_ACCESS_MANUAL_WEBHOOK_INPUT.format( + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ACCESS_INPUT.format( privacy_request_id=privacy_request.id, connection_key=integration_manual_webhook_config.key, ) @@ -3823,7 +3974,7 @@ def test_get_inputs_bad_privacy_request_status( response = api_client.get(url, headers=auth_header) assert ( response.json()["detail"] - == f"Invalid access manual webhook upload request: privacy request '{privacy_request.id}' status = in_processing." + == f"Invalid manual webhook access upload request: privacy request '{privacy_request.id}' status = in_processing." ) def test_no_manual_webhook_data_exists( @@ -3852,7 +4003,7 @@ def test_cached_data_extra_saved_webhook_field( access_manual_webhook, integration_manual_webhook_config, privacy_request_requires_input, - cached_input, + cached_access_input, ): auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) @@ -3876,7 +4027,7 @@ def test_cached_data_missing_saved_webhook_field( access_manual_webhook, integration_manual_webhook_config, privacy_request_requires_input, - cached_input, + cached_access_input, ): auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) @@ -3905,7 +4056,7 @@ def test_get_inputs_for_manual_webhook( access_manual_webhook, integration_manual_webhook_config, privacy_request_requires_input, - cached_input, + cached_access_input, ): auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) response = api_client.get(url, headers=auth_header) @@ -3919,6 +4070,202 @@ def test_get_inputs_for_manual_webhook( } +class TestGetManualWebhookErasureInputs: + @pytest.fixture(scope="function") + def url( + self, + db, + privacy_request_requires_input, + access_manual_webhook, + integration_manual_webhook_config, + ): + return V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT.format( + privacy_request_id=privacy_request_requires_input.id, + connection_key=integration_manual_webhook_config.key, + ) + + def test_get_inputs_not_authenticated(self, api_client: TestClient, url): + response = api_client.get(url, headers={}) + assert 401 == response.status_code + + def test_get_inputs_wrong_scopes( + self, + api_client: TestClient, + url, + generate_auth_header, + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_READ]) + response = api_client.get(url, headers=auth_header) + assert 403 == response.status_code + + def test_get_inputs_privacy_request_does_not_exist( + self, + api_client: TestClient, + generate_auth_header, + access_manual_webhook, + integration_manual_webhook_config, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT.format( + privacy_request_id="bad_privacy_request", + connection_key=integration_manual_webhook_config.key, + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + response = api_client.get(url, headers=auth_header) + assert 404 == response.status_code + assert ( + response.json()["detail"] + == "No privacy request found with id 'bad_privacy_request'." + ) + + def test_get_inputs_connection_config_does_not_exist( + self, + api_client: TestClient, + generate_auth_header, + privacy_request_requires_input, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT.format( + privacy_request_id=privacy_request_requires_input.id, + connection_key="bad_connection_key", + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + response = api_client.get(url, headers=auth_header) + assert 404 == response.status_code + assert ( + response.json()["detail"] + == "No connection config with key 'bad_connection_key'" + ) + + def test_get_inputs_manual_webhook_does_not_exist( + self, + api_client: TestClient, + generate_auth_header, + privacy_request_requires_input, + integration_manual_webhook_config, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT.format( + privacy_request_id=privacy_request_requires_input.id, + connection_key=integration_manual_webhook_config.key, + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + response = api_client.get(url, headers=auth_header) + assert 404 == response.status_code + assert ( + response.json()["detail"] + == "No access manual webhook exists for connection config with key 'manual_webhook_example'" + ) + + def test_get_inputs_bad_privacy_request_status( + self, + api_client, + generate_auth_header, + privacy_request, + integration_manual_webhook_config, + access_manual_webhook, + ): + url = V1_URL_PREFIX + PRIVACY_REQUEST_MANUAL_WEBHOOK_ERASURE_INPUT.format( + privacy_request_id=privacy_request.id, + connection_key=integration_manual_webhook_config.key, + ) + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + response = api_client.get(url, headers=auth_header) + assert ( + response.json()["detail"] + == f"Invalid manual webhook erasure upload request: privacy request '{privacy_request.id}' status = in_processing." + ) + + def test_no_manual_webhook_data_exists( + self, + api_client, + url, + generate_auth_header, + access_manual_webhook, + integration_manual_webhook_config, + privacy_request_requires_input, + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + response = api_client.get(url, headers=auth_header) + assert 200 == response.status_code + assert response.json() == { + "checked": False, + "fields": {"email": None, "last_name": None}, + } + + def test_cached_data_extra_saved_webhook_field( + self, + api_client: TestClient, + db, + url, + generate_auth_header, + access_manual_webhook, + integration_manual_webhook_config, + privacy_request_requires_input, + cached_erasure_input, + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + + access_manual_webhook.fields = [ + {"pii_field": "id_no", "dsr_package_label": "id_number"} + ] + access_manual_webhook.save(db) + response = api_client.get(url, headers=auth_header) + assert response.status_code == 200 + assert response.json() == { + "checked": False, + "fields": {"id_number": None}, + }, "Response has checked=False, so this data needs to be re-uploaded before we can run the privacy request." + + def test_cached_data_missing_saved_webhook_field( + self, + api_client: TestClient, + db, + url, + generate_auth_header, + access_manual_webhook, + integration_manual_webhook_config, + privacy_request_requires_input, + cached_erasure_input, + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + + access_manual_webhook.fields.append( + {"pii_field": "id_no", "dsr_package_label": "id_number"} + ) + access_manual_webhook.save(db) + response = api_client.get(url, headers=auth_header) + + assert response.status_code == 200 + assert response.json() == { + "checked": False, + "fields": { + "id_number": None, + "email": False, + "last_name": True, + }, + }, "Response has checked=False. A new field has been defined on the webhook, so we should re-examine to see if that is more data we need to retrieve." + + def test_get_inputs_for_manual_webhook( + self, + api_client: TestClient, + db, + url, + generate_auth_header, + access_manual_webhook, + integration_manual_webhook_config, + privacy_request_requires_input, + cached_erasure_input, + ): + auth_header = generate_auth_header([PRIVACY_REQUEST_VIEW_DATA]) + response = api_client.get(url, headers=auth_header) + assert 200 == response.status_code + assert response.json() == { + "checked": True, + "fields": { + "email": False, + "last_name": True, + }, + } + + class TestResumePrivacyRequestFromRequiresInput: @pytest.fixture(scope="function") def url( @@ -3989,7 +4336,7 @@ def test_resume_from_requires_input_status_data_empty_but_confirmed( privacy_request_requires_input, ): auth_header = generate_auth_header([PRIVACY_REQUEST_CALLBACK_RESUME]) - privacy_request_requires_input.cache_manual_webhook_input( + privacy_request_requires_input.cache_manual_webhook_access_input( access_manual_webhook, {}, ) @@ -4017,7 +4364,7 @@ def test_resume_from_requires_input_status( access_manual_webhook, integration_manual_webhook_config, privacy_request_requires_input, - cached_input, + cached_access_input, ): auth_header = generate_auth_header([PRIVACY_REQUEST_CALLBACK_RESUME]) response = api_client.post(url, headers=auth_header) diff --git a/tests/ops/integration_tests/test_manual_task.py b/tests/ops/integration_tests/test_manual_task.py index c7f2c3e811..6367476d55 100644 --- a/tests/ops/integration_tests/test_manual_task.py +++ b/tests/ops/integration_tests/test_manual_task.py @@ -58,7 +58,7 @@ async def test_postgres_with_manual_input_access_request_task( assert paused_details.action_needed[0].update is None # Mock user retrieving storage unit data by adding manual data to cache - privacy_request.cache_manual_input( + privacy_request.cache_manual_access_input( CollectionAddress.from_string("manual_example:storage_unit"), [{"box_id": 5, "email": "customer-1@example.com"}], ) @@ -91,7 +91,7 @@ async def test_postgres_with_manual_input_access_request_task( assert paused_details.action_needed[0].update is None # Add manual filing cabinet data from the user - privacy_request.cache_manual_input( + privacy_request.cache_manual_access_input( CollectionAddress.from_string("manual_example:filing_cabinet"), [{"id": 1, "authorized_user": "Jane Doe", "payment_card_id": "pay_bbb-bbb"}], ) @@ -250,7 +250,7 @@ async def test_no_manual_input_found( # Mock user retrieving storage unit data by adding manual data to cache, # In this case, no data was found in the storage unit, so we pass in an empty list. - privacy_request.cache_manual_input( + privacy_request.cache_manual_access_input( CollectionAddress.from_string("manual_example:storage_unit"), [], ) @@ -273,7 +273,7 @@ async def test_no_manual_input_found( assert paused_details.step == CurrentStep.access # No filing cabinet input found - privacy_request.cache_manual_input( + privacy_request.cache_manual_access_input( CollectionAddress.from_string("manual_example:filing_cabinet"), [], ) diff --git a/tests/ops/models/test_privacy_request.py b/tests/ops/models/test_privacy_request.py index 5a003fbc03..2d18f698ad 100644 --- a/tests/ops/models/test_privacy_request.py +++ b/tests/ops/models/test_privacy_request.py @@ -476,12 +476,12 @@ def test_privacy_request_unpause(self, privacy_request): class TestCacheManualInput: - def test_cache_manual_input(self, privacy_request): + def test_cache_manual_access_input(self, privacy_request): manual_data = [{"id": 1, "name": "Jane"}, {"id": 2, "name": "Hank"}] - privacy_request.cache_manual_input(paused_location, manual_data) + privacy_request.cache_manual_access_input(paused_location, manual_data) assert ( - privacy_request.get_manual_input( + privacy_request.get_manual_access_input( paused_location, ) == manual_data @@ -489,10 +489,10 @@ def test_cache_manual_input(self, privacy_request): def test_cache_empty_manual_input(self, privacy_request): manual_data = [] - privacy_request.cache_manual_input(paused_location, manual_data) + privacy_request.cache_manual_access_input(paused_location, manual_data) assert ( - privacy_request.get_manual_input( + privacy_request.get_manual_access_input( paused_location, ) == [] @@ -500,7 +500,7 @@ def test_cache_empty_manual_input(self, privacy_request): def test_no_manual_data_in_cache(self, privacy_request): assert ( - privacy_request.get_manual_input( + privacy_request.get_manual_access_input( paused_location, ) is None @@ -610,17 +610,21 @@ def test_cache_template_contents(self, privacy_request): ] -class TestCacheManualWebhookInput: - def test_cache_manual_webhook_input(self, privacy_request, access_manual_webhook): +class TestCacheManualWebhookAccessInput: + def test_cache_manual_webhook_access_input( + self, privacy_request, access_manual_webhook + ): with pytest.raises(NoCachedManualWebhookEntry): - privacy_request.get_manual_webhook_input_strict(access_manual_webhook) + privacy_request.get_manual_webhook_access_input_strict( + access_manual_webhook + ) - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={"email": "customer-1@example.com", "last_name": "Customer"}, ) - assert privacy_request.get_manual_webhook_input_strict( + assert privacy_request.get_manual_webhook_access_input_strict( access_manual_webhook ) == { "email": "customer-1@example.com", @@ -628,12 +632,12 @@ def test_cache_manual_webhook_input(self, privacy_request, access_manual_webhook } def test_cache_no_fields_supplied(self, privacy_request, access_manual_webhook): - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={}, ) - assert privacy_request.get_manual_webhook_input_strict( + assert privacy_request.get_manual_webhook_access_input_strict( access_manual_webhook ) == { "email": None, @@ -641,14 +645,14 @@ def test_cache_no_fields_supplied(self, privacy_request, access_manual_webhook): }, "Missing fields persisted as None" def test_cache_some_fields_supplied(self, privacy_request, access_manual_webhook): - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={ "email": "customer-1@example.com", }, ) - assert privacy_request.get_manual_webhook_input_strict( + assert privacy_request.get_manual_webhook_access_input_strict( access_manual_webhook ) == { "email": "customer-1@example.com", @@ -659,7 +663,7 @@ def test_cache_extra_fields_not_in_webhook_specs( self, privacy_request, access_manual_webhook ): with pytest.raises(ValidationError): - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={ "email": "customer-1@example.com", @@ -676,7 +680,7 @@ def test_cache_manual_webhook_no_fields_defined( access_manual_webhook.save(db) with pytest.raises(ValidationError): - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={"email": "customer-1@example.com", "last_name": "Customer"}, ) @@ -686,7 +690,7 @@ def test_fields_added_to_webhook_definition( ): """Test the use case where new fields have been added to the webhook definition since the webhook data was saved to the privacy request""" - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={"last_name": "Customer", "email": "jane@example.com"}, ) @@ -697,14 +701,16 @@ def test_fields_added_to_webhook_definition( access_manual_webhook.save(db) with pytest.raises(ManualWebhookFieldsUnset): - privacy_request.get_manual_webhook_input_strict(access_manual_webhook) + privacy_request.get_manual_webhook_access_input_strict( + access_manual_webhook + ) def test_fields_removed_from_webhook_definition( self, db, privacy_request, access_manual_webhook ): """Test the use case where fields have been removed from the webhook definition since the webhook data was saved to the privacy request""" - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={"last_name": "Customer", "email": "jane@example.com"}, ) @@ -715,13 +721,15 @@ def test_fields_removed_from_webhook_definition( access_manual_webhook.save(db) with pytest.raises(ValidationError): - privacy_request.get_manual_webhook_input_strict(access_manual_webhook) + privacy_request.get_manual_webhook_access_input_strict( + access_manual_webhook + ) def test_non_strict_retrieval_from_cache( self, db, privacy_request, access_manual_webhook ): """Test non-strict retrieval, we ignore extra fields saved and serialize missing fields as None""" - privacy_request.cache_manual_webhook_input( + privacy_request.cache_manual_webhook_access_input( manual_webhook=access_manual_webhook, input_data={"email": "customer-1@example.com", "last_name": "Customer"}, ) @@ -736,7 +744,7 @@ def test_non_strict_retrieval_from_cache( ] access_manual_webhook.save(db) - overlap_input = privacy_request.get_manual_webhook_input_non_strict( + overlap_input = privacy_request.get_manual_webhook_access_input_non_strict( access_manual_webhook ) assert overlap_input == { @@ -746,6 +754,150 @@ def test_non_strict_retrieval_from_cache( }, "Ignores 'email' field saved to privacy request" +class TestCacheManualWebhookErasureInput: + def test_cache_manual_webhook_erasure_input( + self, privacy_request, access_manual_webhook + ): + with pytest.raises(NoCachedManualWebhookEntry): + privacy_request.get_manual_webhook_erasure_input_strict( + access_manual_webhook + ) + + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={"email": False, "last_name": True}, + ) + + assert privacy_request.get_manual_webhook_erasure_input_strict( + access_manual_webhook + ) == { + "email": False, + "last_name": True, + } + + def test_cache_no_fields_supplied(self, privacy_request, access_manual_webhook): + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={}, + ) + + assert privacy_request.get_manual_webhook_erasure_input_strict( + access_manual_webhook + ) == { + "email": None, + "last_name": None, + }, "Missing fields persisted as None" + + def test_cache_some_fields_supplied(self, privacy_request, access_manual_webhook): + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={ + "email": False, + }, + ) + + assert privacy_request.get_manual_webhook_erasure_input_strict( + access_manual_webhook + ) == { + "email": False, + "last_name": None, + }, "Missing fields saved as None" + + def test_cache_extra_fields_not_in_webhook_specs( + self, privacy_request, access_manual_webhook + ): + with pytest.raises(ValidationError): + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={ + "email": False, + "bad_field": "not_specified", + }, + ) + + def test_cache_manual_webhook_no_fields_defined( + self, db, privacy_request, access_manual_webhook + ): + access_manual_webhook.fields = ( + None # Specifically testing the None case to cover our bases + ) + access_manual_webhook.save(db) + + with pytest.raises(ValidationError): + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={"email": False, "last_name": True}, + ) + + def test_fields_added_to_webhook_definition( + self, db, privacy_request, access_manual_webhook + ): + """Test the use case where new fields have been added to the webhook definition + since the webhook data was saved to the privacy request""" + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={"last_name": True, "email": False}, + ) + + access_manual_webhook.fields.append( + {"pii_field": "Phone", "dsr_package_label": "phone"} + ) + access_manual_webhook.save(db) + + with pytest.raises(ManualWebhookFieldsUnset): + privacy_request.get_manual_webhook_erasure_input_strict( + access_manual_webhook + ) + + def test_fields_removed_from_webhook_definition( + self, db, privacy_request, access_manual_webhook + ): + """Test the use case where fields have been removed from the webhook definition + since the webhook data was saved to the privacy request""" + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={"last_name": True, "email": False}, + ) + + access_manual_webhook.fields = [ + {"pii_field": "last_name", "dsr_package_label": "last_name"} + ] + access_manual_webhook.save(db) + + with pytest.raises(ValidationError): + privacy_request.get_manual_webhook_erasure_input_strict( + access_manual_webhook + ) + + def test_non_strict_retrieval_from_cache( + self, db, privacy_request, access_manual_webhook + ): + """Test non-strict retrieval, we ignore extra fields saved and serialize missing fields as None""" + privacy_request.cache_manual_webhook_erasure_input( + manual_webhook=access_manual_webhook, + input_data={"email": False, "last_name": True}, + ) + + access_manual_webhook.fields = [ # email field deleted + {"pii_field": "First Name", "dsr_package_label": "first_name"}, # New Field + { + "pii_field": "Last Name", + "dsr_package_label": "last_name", + }, # Existing Field + {"pii_field": "Phone", "dsr_package_label": "phone"}, # New Field + ] + access_manual_webhook.save(db) + + overlap_input = privacy_request.get_manual_webhook_erasure_input_non_strict( + access_manual_webhook + ) + assert overlap_input == { + "first_name": None, + "last_name": True, + "phone": None, + }, "Ignores 'email' field saved to privacy request" + + class TestCanRunFromCheckpoint: def test_can_run_from_checkpoint(self): assert ( diff --git a/tests/ops/service/privacy_request/test_request_runner_service.py b/tests/ops/service/privacy_request/test_request_runner_service.py index a080a04622..1fd5ce5f72 100644 --- a/tests/ops/service/privacy_request/test_request_runner_service.py +++ b/tests/ops/service/privacy_request/test_request_runner_service.py @@ -2072,7 +2072,7 @@ def test_privacy_request_needs_manual_input_key_in_cache( @mock.patch("fides.api.service.privacy_request.request_runner_service.upload") @mock.patch("fides.api.service.privacy_request.request_runner_service.run_erasure") - def test_manual_input_not_required_for_erasure_only_policies( + def test_manual_input_required_for_erasure_only_policies( self, mock_erasure, mock_upload, @@ -2082,7 +2082,7 @@ def test_manual_input_not_required_for_erasure_only_policies( run_privacy_request_task, db, ): - """Manual inputs are not tied to policies, but shouldn't hold up request if only erasures are requested""" + """Manual inputs are not tied to policies, but should still hold up a request even for erasure requests.""" customer_email = "customer-1@example.com" data = { "requested_at": "2021-08-30T16:09:37.359Z", @@ -2097,11 +2097,9 @@ def test_manual_input_not_required_for_erasure_only_policies( data, ) db.refresh(pr) - assert ( - pr.status == PrivacyRequestStatus.complete - ) # Privacy request not put in "requires_input" state + assert pr.status == PrivacyRequestStatus.requires_input assert not mock_upload.called # erasure only request, no data uploaded - assert mock_erasure.called + assert not mock_erasure.called @mock.patch("fides.api.service.privacy_request.request_runner_service.upload") def test_pass_on_manually_added_input( @@ -2113,7 +2111,7 @@ def test_pass_on_manually_added_input( run_privacy_request_task, privacy_request_requires_input: PrivacyRequest, db, - cached_input, + cached_access_input, ): run_privacy_request_task.delay(privacy_request_requires_input.id).get( timeout=PRIVACY_REQUEST_TASK_TIMEOUT @@ -2138,7 +2136,7 @@ def test_pass_on_partial_manually_added_input( privacy_request_requires_input: PrivacyRequest, db, ): - privacy_request_requires_input.cache_manual_webhook_input( + privacy_request_requires_input.cache_manual_webhook_access_input( access_manual_webhook, {"email": "customer-1@example.com"}, ) @@ -2167,7 +2165,7 @@ def test_pass_on_empty_confirmed_input( privacy_request_requires_input: PrivacyRequest, db, ): - privacy_request_requires_input.cache_manual_webhook_input( + privacy_request_requires_input.cache_manual_webhook_access_input( access_manual_webhook, {}, )