From ee19fbb93795c51e90a260d5c57c53eabd6633a2 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 4 Sep 2026 11:11:11 +0100 Subject: [PATCH 1/2] DF-1181: Update cookies policy to include Google Analytics information --- src/server/i18n/translations/cy.json | 14 +++++++++++++ src/server/i18n/translations/en-GB.json | 14 +++++++++++++ src/server/views/help/cookies.html | 26 +++++++++++++++++++------ 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/server/i18n/translations/cy.json b/src/server/i18n/translations/cy.json index 49320cd8d..018044e8f 100644 --- a/src/server/i18n/translations/cy.json +++ b/src/server/i18n/translations/cy.json @@ -53,6 +53,20 @@ "purpose": "Defnyddir gan Google Analytics i ddod o hyd i sesiwn unigol gyda'ch dyfais a'i holrhain", "expires": "2 flynedd" } + }, + "googleAnalytics": { + "lede": "Mae Google Analytics yn prosesu gwybodaeth am:", + "items": [ + "eich cyfeiriad IP", + "y tudalennau rydych yn ymweld â nhw ar [[serviceName]]", + "faint o amser rydych yn ei dreulio ar bob tudalen o [[serviceName]]", + "sut y gwnaethoch gyrraedd y wefan", + "beth rydych yn ei ddewis wrth ymweld â'r wefan" + ], + "body1": "Bydd Defra yn sicrhau na ellir eich adnabod yn uniongyrchol gan ddata Google Analytics. Rydym yn gwneud hyn drwy ddefnyddio nodwedd anonymeiddio cyfeiriad IP Google Analytics a thrwy ddileu unrhyw ddata personol arall o deitlau neu URLau'r tudalennau rydych yn ymweld â nhw.", + "body2": "Ni fydd Defra yn cyfuno gwybodaeth ddadansoddeg â setiau data eraill mewn ffordd a fyddai'n nodi pwy ydych chi yn uniongyrchol.", + "body3": "Rydym yn defnyddio logiau system i gasglu gwybodaeth am y defnydd o ffurflenni.", + "body4": "Rydym yn defnyddio'r logiau system a data Google Analytics i greu adroddiadau dienw am berfformiad ffurflenni sy'n defnyddio [[serviceName]]. Rydym yn defnyddio'r data hyn i wella ffurflenni, er enghraifft, os byddwn yn darganfod nifer uchel o ffurflenni anghyflawn." } }, "cookiePreferences": { diff --git a/src/server/i18n/translations/en-GB.json b/src/server/i18n/translations/en-GB.json index cbe4bb3e1..a7b039896 100644 --- a/src/server/i18n/translations/en-GB.json +++ b/src/server/i18n/translations/en-GB.json @@ -55,6 +55,20 @@ "purpose": "Used by Google Analytics to find and track an individual session with your device", "expires": "2 years" } + }, + "googleAnalytics": { + "lede": "Google Analytics processes information about:", + "items": [ + "your IP address", + "the pages you visit on [[serviceName]]", + "how long you spend on each [[serviceName]] page", + "how you got to the site", + "what you select while you’re visiting the site" + ], + "body1": "Defra will make sure you cannot be directly identified by Google Analytics data. We do this by using Google Analytics’ IP address anonymisation feature and by removing any other personal data from the titles or URLs of the pages you visit.", + "body2": "Defra will not combine analytics information with other data sets in a way that would directly identify who you are.", + "body3": "We use system logs to collect information about the usage of forms.", + "body4": "We use the system logs and Google Analytics data to create anonymised reports about the performance of forms that use [[serviceName]]. We use this data to improve forms, for example, if we discover a high number of incomplete forms." } }, "cookiePreferences": { diff --git a/src/server/views/help/cookies.html b/src/server/views/help/cookies.html index b6f4b7cfd..85abe8330 100644 --- a/src/server/views/help/cookies.html +++ b/src/server/views/help/cookies.html @@ -25,14 +25,16 @@

{{ tR('help.cookies.essentialHeading') }}

{ text: tR('help.cookies.cookies.crumb.expires') } ] ] %} + {% if config.googleTagManagerContainerId %} - {% set essentialTableRows = (essentialTableRows.unshift([ - { text: "cookieConsent" }, - { text: tR('help.cookies.cookies.cookieConsent.purpose') }, - { text: tR('help.cookies.cookies.cookieConsent.expires') } - ]), essentialTableRows) - %} + {% set essentialTableRows = (essentialTableRows.unshift([ + { text: "cookieConsent" }, + { text: tR('help.cookies.cookies.cookieConsent.purpose') }, + { text: tR('help.cookies.cookies.cookieConsent.expires') } + ]), essentialTableRows) + %} {% endif %} + {{ govukTable({ firstCellIsHeader: true, caption: tR('help.cookies.tableCaption.essential'), @@ -47,6 +49,7 @@

{{ tR('help.cookies.essentialHeading') }}

{% if config.googleTagManagerContainerId %}

{{ tR('help.cookies.analyticsHeading') }}

{{ tR('help.cookies.analyticsBody') }}

+ {{ govukTable({ firstCellIsHeader: true, caption: tR('help.cookies.tableCaption.analytics'), @@ -69,6 +72,17 @@

{{ tR('help.cookies.analyticsHeading') }}

] }) }} +

{{ tR('help.cookies.googleAnalytics.lede') }}

+ +

{{ tR('help.cookies.googleAnalytics.body1') | safe }}

+

{{ tR('help.cookies.googleAnalytics.body2') }}

+

{{ tR('help.cookies.googleAnalytics.body3') }}

+

{{ tR('help.cookies.googleAnalytics.body4', { serviceName: config.serviceName }) | safe }}

+

{{ tR('help.cookies.changeSettingsHeading') }}

{{ tR('help.cookies.changeSettingsBody', { slug: slug }) | safe }}

{% endif %} From 77885d453ca13f65b5e77330d377528f880fe5f5 Mon Sep 17 00:00:00 2001 From: David Stone Date: Fri, 4 Sep 2026 11:22:55 +0100 Subject: [PATCH 2/2] Update editorconfig-checker to version 6.2.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4d4c8da14..af5b6d9d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -80,7 +80,7 @@ "copy-webpack-plugin": "^14.0.0", "cssnano": "^8.0.2", "cssnano-preset-default": "^8.0.2", - "editorconfig-checker": "^6.1.1", + "editorconfig-checker": "^6.2.0", "eslint": "^9.39.4", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import-x": "^4.17.1", @@ -10193,9 +10193,9 @@ } }, "node_modules/editorconfig-checker": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/editorconfig-checker/-/editorconfig-checker-6.1.1.tgz", - "integrity": "sha512-kiOb6qaWpMNt7Z/43ba0Pa1Inhr2/t9nKbvEKtCeXJ5AesztoM9AgLOOQVB4QUv/nGjgz3xkbx4pcogVRD2NWw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/editorconfig-checker/-/editorconfig-checker-6.2.0.tgz", + "integrity": "sha512-5zrNwlxUWyOvAcrSK4mPIGNYrf1KK5pH2D3VXDB1AcDsDdBfLNPOjBL5jHgYh+JykOIuXlQHMeYvXPrZwGNmHA==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index 3bd460389..8f5cde531 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "copy-webpack-plugin": "^14.0.0", "cssnano": "^8.0.2", "cssnano-preset-default": "^8.0.2", - "editorconfig-checker": "^6.1.1", + "editorconfig-checker": "^6.2.0", "eslint": "^9.39.4", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import-x": "^4.17.1",