Options
All
  • Public
  • Public/Protected
  • All
Menu

Module "wordpress-plugins/real-cookie-banner/src/public/ts/components/config/settings/tcf"

Index

Variables

Variables

Const SettingsFormTCF

SettingsFormTCF: FC<{}> = observer(() => {const {optionStore: {allCookieCount,others: { isPro, isLicensed, iso3166OneAlpha2 },tcf: tcfOption,tcfAcceptedTime,tcfGvlDownloadTime},tcfStore} = useStores();const { busyGvl: tcfBusy } = tcfStore;const handleUpdateGvl = useCallback(async () => {try {await tcfStore.updateGvl();message.success(__("You successfully updated the GVL."));} catch (e) {message.error(e.responseJSON.message);throw e;}}, [tcfStore]);return (<><Form.Itemlabel={__("Transparency and Consent Framework (TCF) Compatibility")}style={{ marginBottom: 10 }}><Form.Item name="tcf" noStyle><Radio.Group><Radio.Button disabled={!isPro || !isLicensed} value={true}>{__("Enabled")}</Radio.Button><Radio.Button disabled={!isPro || !isLicensed} value={false}>{__("Disabled")}</Radio.Button></Radio.Group></Form.Item>{isPro && !isLicensed && (<div className="notice notice-error inline below-h2 notice-alt" style={{ margin: "10px 0" }}><p>{__("This functionality is only available with a valid license, as the TCF Global Vendor List (GVL) must be downloaded regularly from our cloud service.")}{" "}&bull; <a href="#/licensing">{__("Activate license")}</a></p></div>)}<div style={{ margin: "5px 0px 0px" }}><LearnMoreTag url={__("https://devowl.io/knowledge-base/real-cookie-banner-tcf-setup/")} /><ProTagtitle={__("Enable TCF compatibility?")}testDrivefeature="tcf"assetName={__("pro-modal/tcf-compatibility.png")}description={__("TCF (Transparency & Consent Framework) is an industry standard for obtaining consent that is recognized in the EU. You must obtain consent in this form to fully use services such as Google Adsense and to increase your advertising revenue.")}/></div><p className="description">{_i(__(`The {{a}}Transparency and Consent Framework (TCF){{/a}} is a standard of the European digital marketing industry association {{aIab}}IAB Europe{{/aIab}}. It allows users to consent to data collection and processing in accordance with applicable EU law and to share it with third-party services (e.g. advertising networks) in a standardized format. Some services require TCF standard consent to be used on your website. We recommend that you only enable TCF compatibility if you know you need it, as it limits the functionality of Real Cookie Banner. We support TCF v2.0 and newer versions.`),{a: (<ahref={__("https://iabeurope.eu/transparency-consent-framework/")}target="_blank"rel="noreferrer"/>),aIab: <a href={__("https://iabeurope.eu/")} target="_blank" rel="noreferrer" />})}</p></Form.Item><Form.Item noStyle shouldUpdate={(prevValues, curValues) => prevValues.tcf !== curValues.tcf}>{({ getFieldValue }) => {const tcf = getFieldValue("tcf") as boolean;return (isPro &&tcf && (<>{tcfAcceptedTime && (<Form.Item wrapperCol={{ offset: 6 }} style={{ marginBottom: 10 }}><p style={{ margin: 0 }}><strong>{__("You last agreed to the following on %s",new Date(tcfAcceptedTime).toLocaleString(document.documentElement.lang))}</strong></p></Form.Item>)}{(!tcfAcceptedTime || !tcfOption) && (<Form.Item wrapperCol={{ offset: 6 }}><divclassName="notice notice-error inline below-h2 notice-alt"style={{ margin: "10px 0" }}><p>{_i(__("{{strong}}Consents obtained via TCF illegal:{{/strong}} We need to inform you that on Feb. 02, 2022, the Belgian Data Protection Authority (APD) declared the collection of consents under the Transparency & Consent Framework (TCF) to be invalid. The decision is effective across the EU as it was issued in a one-stop-shop procedure."),{ strong: <strong /> })}</p><p>{__("Briefly summarized, consents according to TCF are considered too non-transparent, not understandable for the website visitor and therefore invalid. IAB Europe, publisher of TCF, is required to redesign the standard within six months so that it collects legally effective consents. At the same time, IAB Europe is taking legal action against the decision of the data protection authority.")}</p><p>{_i(__("Real Cookie Banner is obliged to implement mandatory requirements of the IAB Europe. {{strong}}We point out that with the current version of Real Cookie Banner it is not possible to obtain lawful consents with the version of TCF integrated in it.{{/strong}} Therefore, we strongly recommend that you do not use the TCF integration until the IAB Europe has made the necessary changes (this will be implemented in Real Cookie Banner via an update)."),{ strong: <strong /> })}</p><p>{__("If you have previously obtained consents under the Transparency & Consent Framework, be sure to read the following additional information and consult a legal advisor to clarify the further procedure for your individual case.")}</p><ul><li><ahref={__("https://devowl.io/go/real-cookie-banner/tcf/2020-02/apd-decision")}target="_blank"rel="noreferrer">{__("Decision of the Belgian Data Protection Authority (APD)")}</a></li><li><ahref={__("https://devowl.io/go/real-cookie-banner/tcf/2020-02/iab-europe-statement")}target="_blank"rel="noreferrer">{__("Statement of the IAB Europe (English)")}</a></li><li><ahref={__("https://devowl.io/go/real-cookie-banner/tcf/2020-02/evaluation-ra-schwenke")}target="_blank"rel="noreferrer">{__("Legal assessment by RA Dr. Schwenke (German)")}</a></li></ul><p><Form.ItemnoStylename="tcfCheckboxIllegal"valuePropName="checked"rules={[{type: "boolean",required: true,transform: (value) => value || undefined,message: __("Please confirm that you know that this is not likely to result in effective consents!")}]}><Checkbox disabled={tcfOption}>{__("I want to use TCF even though I know that this is not likely to result in effective consents (known since 02 February 2022).")}</Checkbox></Form.Item></p></div></Form.Item>)}<Form.ItemwrapperCol={{ offset: 6 }}name="tcfCheckboxTerms"valuePropName="checked"style={{ marginBottom: 15 }}rules={[{type: "boolean",required: true,transform: (value) => value || undefined,message: __("Please confirm that you have read the terms!")}]}><Checkbox disabled={tcfOption}>{_i(__("I have read, agree to, and will fully comply with the {{aPolicies}}IAB Europe Transparency & Consent Framework Policies{{/aPolicies}} and {{aTerms}}Terms and Conditions for the IAB Europe Transparency & Consent Framework{{/aTerms}}."),{aPolicies: (<ahref={__("https://iabeurope.eu/iab-europe-transparency-consent-framework-policies/")}target="_blank"rel="noreferrer"/>),aTerms: (<ahref={__("https://iabeurope.eu/wp-content/uploads/2019/08/IABEurope_TransparencyConsentFramework_TermsConditions_21August2019.pdf")}target="_blank"rel="noreferrer"/>)})}</Checkbox></Form.Item><Form.ItemwrapperCol={{ offset: 6 }}name="tcfCheckboxVisually"valuePropName="checked"rules={[{type: "boolean",required: true,transform: (value) => value || undefined,message: __("Please confirm that you agree to the visual changes!")}]}><Checkbox disabled={tcfOption}>{__("I know that enabling TCF mode will change my consent management (cookie banner) visually as well as functionally. Some options of Real Cookie Banner may be limited to be compliant with the guidelines of the TCF standard.")}</Checkbox></Form.Item><Form.Item label={__("Country of the website operator")} required><Form.ItemnoStylename="tcfPublisherCc"rules={[{required: true,transform: (value) => value || undefined,message: __("Please choose the country of origin of your company!")}]}><SelectshowSearchfilterOption={(input, option) =>option.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}>{Object.keys(iso3166OneAlpha2).map((code) => (<Select.Option value={code} key={code}>{iso3166OneAlpha2[code]}</Select.Option>))}</Select></Form.Item><p className="description">{__("The country whose law applies to the operation of your website. Commonly, this corresponds to the country in which your business is established.")}</p></Form.Item>{tcfOption && (<><Form.Item label={__("Global Vendor List (GVL)")}><Spin spinning={tcfBusy}><button type="button" className="button" onClick={handleUpdateGvl}>{__("Update now")}</button></Spin>{tcfGvlDownloadTime ? (<p style={{ margin: "10px 0 0 0" }}><strong>{__("You have downloaded the GVL the last time on %s",new Date(tcfGvlDownloadTime).toLocaleString(document.documentElement.lang))}</strong></p>) : (<divclassName="notice notice-error inline below-h2 notice-alt"style={{ margin: "10px 0 0 0" }}><p>{__("Something seems to have gone wrong when downloading the GVL. Please check if your server has a firewall configured and is blocking the download accordingly, or contact our support!")}</p></div>)}<p className="description">{_i(__("The {{a}}Global Vendor List (GVL){{/a}} contains all vendors registered with IAB Europe that can receive consents via TCF standard. This list is downloaded to your database so that technical and legal data about the vendors is known and you can select from it. The GVL will be automatically updated every week on Thursdays at 5:00 PM (CET) (published once a week by IAB Europe). {{strong}}In case of any changes in the texts or information of the activated vendors, Real Cookie Banner will automatically obtain new consent from all your visitors.{{/strong}}"),{strong: <strong />,a: (<ahref={__("https://iabeurope.eu/vendor-list/")}rel="noreferrer"target="_blank"/>)})}</p></Form.Item>{/* Currently, we do not support this. <Form.Item label={__("Scope of TCF consent")}><Form.Item name="tcfScopeOfConsent" noStyle><Radio.Group><Radio.Button value="service-specific">{__("Service-specific")}</Radio.Button><Radio.Button value="global">{__("Global")}</Radio.Button></Radio.Group></Form.Item><p className="description">{__('Consents given via TCF v2.0 or later can have different scopes. Service-specific means that the consent given is valid only for this website (and websites connected via Consent Forwarding). Global means that the consent should be valid for any website and can also be used by other Consent Management Platforms (CMPs). You should use "Global" only when you are operating websites where you want to use another TCP-compatible CMP that is not Real Cookie Banner.')}</p><Form.ItemnoStyleshouldUpdate={(prevValues, curValues) =>prevValues.tcfScopeOfConsent !== curValues.tcfScopeOfConsent}>{({ getFieldValue }) => {const tcfScopeOfConsent = getFieldValue("tcfScopeOfConsent") as OptionStore["tcfScopeOfConsent"];return (tcfScopeOfConsent === "global" && (<>{window.location.protocol === "http:" ? (<divclassName="notice notice-warning inline below-h2 notice-alt"style={{ margin: 0 }}><p>{_i(__('The "Global" scope only works if your website runs with a validated TLS/SSL certificate ({{code}}https://{{/code}} in the browser), as consent must be stored in a 3rd-party-cookie. For more details, please read the {{a}}TCF documentation{{/a}}.'),{code: <code />,a: (<ahref="https://git.io/JttDO"rel="noreferrer"target="_blank"/>)})}</p></div>) : null}<divclassName="notice notice-info inline below-h2 notice-alt"style={{ margin: "10px 0 0 0" }}><p>{__('Please note that in the scope "Global", according to the TCF specification, purposes can no longer be restricted. All restrictions that have been defined so far will therefore be ignored.')}</p></div></>));}}</Form.Item></Form.Item>*/}</>)}{allCookieCount > 0 && (<Form.Item wrapperCol={{ offset: 6 }} style={{ marginBottom: 10 }}><divclassName="notice notice-info inline below-h2 notice-alt"style={{ margin: 0 }}><p><strong>{__("How to use TCF and non-TCF Services")}</strong></p><p>{__("You have already set up services (cookies) for your cookie banner for which consent is obtained outside the TCF standard. You may also have created content blockers for this purpose.")}</p><p>{__("If you want to obtain consent for the same services via the TCF standard, you must delete the existing non-TCF services. This is the only way to ensure that both types of consent do not interfere with each other.")}</p><p><strong>{__("Example")}: </strong>{__('You had created a "Google Adsense" service and content blocker. Please delete the service before you add "Google Advertising Products" as a vendor under Services > TCF Vendors and thereby obtain consent for Google Adsense via TCF standard. Afterwards, edit the content blocker and define the created TCF vendors as connected to the content blocker.')}</p></div></Form.Item>)}</>));}}</Form.Item></>);})

Generated using TypeDoc