Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Förändring av hantering av cookies #939

Closed
maan002 opened this issue Nov 30, 2021 · 2 comments
Closed

Förändring av hantering av cookies #939

maan002 opened this issue Nov 30, 2021 · 2 comments
Assignees
Milestone

Comments

@maan002
Copy link
Contributor

maan002 commented Nov 30, 2021

Inledning

Denna issue har öppnats för att diskutera hur Hajks hantering av cookies kan förändras.

Idag hanterar inte Hajk cookies på ett sätt som fullt ut följer kraven som ställs i "The Cookie Law" [2].

Exempelvis:

  1. Användaren kan inte välja vilken typ av cookies hen accepterar. Det är allt eller inget som gäller och det enda sättet att slippa cookies är att stänga ner sidan.
  2. Hajk förändrar inte beteende beroende på de val användaren har gjort (eftersom det inte finns några val idag).
  3. Det finns ingen dokumentation över de cookies som används i Hajk.

Då lagring av data i LocalStorage också inkluderas av "The Cookie Law", se referens [3] och [4], används i denna issue benämningen cookie för att beskriva lagring av data både som cookies och i LocalStorage.

Referenser

[1] https://intranat.goteborg.se/wps/portal/int?uri=gbglnk:2020101214261803
[2] https://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32002L0058:en:HTML
[3] https://www.pts.se/sv/om-pts/om-webbplatsen/kakor-cookies-pa-pts-webbplats/kakor-pa-pts.se/
[4] http://web.archive.org/web/20130326235146/http://www.theeucookielaw.com/
[5] https://www.resultify.se/tjanster/webb-utveckling/cookie-information
[6] https://raidboxes.io/sv/blog/it-law/cookie-banner-tipps/

Förslag på förbättringar

För att bättre följa "The Cookie Law" kan man förslagsvis:

  1. Ändra innehållet i kakbannern (cookie banner) så att användaren kan välja vilken typ av cookies hen accepterar.
  2. Ändra funktionaliteten i plugins och komponenter så att de följer användarens val.
  3. Dokumentera de cookies som varje plugin och komponent använder.

Med komponent ovan avses någon del i Hajk som inte är en plugin, t ex Drawer (kartverktyg).

Olika typer av cookies

En vanlig indelning av cookies som görs är, se referens [1] och [5]:

  1. Nödvändiga
    Krävs för att applikationen ska fungera överhuvudtaget, t ex inloggningsuppgifter.
  2. Funktionella
    Används för att höja funktionaliteten på en sida, t ex att man sparar inställningar.
  3. Statistik / Analys
    Används t ex för att se hur många gånger en sida har besökts av olika användare.
  4. Marknadsföring
    Reklam mm

För Hajks del anser jag att vi även bör ha en typ "3:e part", då vi har vissa plugins som kräver detta.

I dagsläget har Hajk ingen funktionalitet som kräver typ 3 eller 4 ovan, varför ett förslag är att Hajk ska stöda typerna 1, 2 och "3:e part"

Val av cookies (kakbannern)

För att låta användaren välja olika typer av cookies föreslås att kakbannern förändras. Nedan visas en version som låter användaren välja typerna "Nödvändiga", "Funktionella" och "3:e part".

cookie1

Då många kommuner och andra organisationer inte tillåter innehåll med "3:e part" cookies bör man kunna stänga av detta alternativ i Hajk Admin. Utseende på kakbannern blir då:

cookie2

OBS! Texten som visas är endast ett exempel och är fortsatt konfigurerbar i Admin

Observera också att man enligt [6] inte får ha valen för ”Funktionella” eller ”3:e part” ikryssade vid start. Användaren måste aktivt kryssa i dessa för att göra de valen.

Förändra beteende i Hajk beroende på val av cookies

De val som användaren har gjort i kakbannern ska påverka den funktionalitet man får i Hajk.

För att stöda detta föreslås att ett globalt objekt införs som olika plugin och komponenter kan fråga om vilken typ av cookies som användaren tillåter. Objektet kan t ex läggas i AppModel.

Det är sedan upp till varje komponent och plugin att följa användarens val. T ex så ska sökverktyget inte spara användarens val om användaren endast tillåter nödvändiga cookies. Sökverktyget kommer då att återfå standardvärden nästa gång användaren återkommer till kartan.

Om en komponent eller plugin inte kan utföra något meningsfullt med aktuella inställningar för cookies ska användaren upplysas om detta.

Funktionalitet för att manuellt öppna kakbannern för att ändra inställningarna måste läggas till i Hajk.

Dokumentation av cookies

Ett förslag är att man på Wikin i GitHub för Hajk-samarbetet har en sida som dokumenterar alla nycklar som sparas som cookies.

Det som bör ingå är:

  1. Namn på komponent / plugin.
  2. Vanligt namn.
  3. Namn på nyckel som sparas.
  4. Om nyckeln lagras som cookie eller LocalStorage.
  5. Typ av cookie.
    a. Nödvändig
    b. Funktionell
    c. 3:e part
  6. Kommentar.

Exempel:

Component / Plugin Ordinary Name Key Name Storage Type Comment
CookieNotice Kakbanner cookieNoticeShown LocalStorage Nödvändig
Search Sök map_options_[map_1] LocalStorage Funktionell

Vad som ska stå i engelska kontra svenska får vi diskutera.

@maan002 maan002 self-assigned this Nov 30, 2021
@maan002 maan002 added this to the 3.x milestone Nov 30, 2021
@Hallbergs
Copy link
Member

Sounds good! Maybe we can discuss it on the code-meeting on Wednesday?

@maan002
Copy link
Contributor Author

maan002 commented Dec 21, 2021

Added a page where cookies should be documented, see https://github.com/hajkmap/Hajk/wiki/Cookies-in-Hajk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants