Bris-kampanj slarvar med barnens personliga uppgifter

Jag hamnar i ett virrvarr av länkar när jag skannar QR-koden i Bris kampanj på mjölkpaketen – och häpnar över den burdusa hanteringen. Är den ens laglig?

Bris-kampanj slarvar med barnens personliga uppgifter

Jag sitter vid frukostbordet, blicken vandrar och jag kan förstås inte låta bli att läsa texterna på alla förpackningar. Jag ser att paketet med Coops mellanmjölk viskar något åt mig: "Pssst! Du som är under 18. Vill du se något kul?"

Ja, precis så står det på mjölkpaketets baksida. Och kul är kanske precis vad min morgonhjärna behöver. Eller åtminstone vill jag förstå vad människor under 18 tycker är kul.

För vad detta "kuliga" är berättar inte texten. Istället uppmanas barn och ungdomar att öppna kameran på sin telefon och rikta den mot QR-koden på paketet. Det finns ingen webbadress jag kan skriva in. Det enda alternativet för att stilla min nyfikenhet är alltså att skanna den där intetsägande krumeluren.

Redan här ringer det förstås varningsklockor för mig. Varför lär man barnen att skanna QR-koder utan att kunna verifiera vart QR-koden är tänkt att leda. Budskapet från Bris och Coop tycks insinuera att det ska räcka med "Pssst! Vill du se något kul?"

Jag håller upp min kamera för att bekräfta mina misstankar. Bris använder inte sitt eget domännamn. I kamera-sökaren, innan man följer en QR-kod, kan man nämligen se vilken domän som länken pekar till.

Jag blir smått häpen när jag läser på skärmen… Bitly? 2008 ringde och vill ha tillbaka sitt dåliga omdöme.

Bild som visar mjölkpaketet med QR-koden och en telefon där kortlänken bit.ly syns på skärmen när koden scannas.

Redan här har vi ett antal problem:

  1. Bitly ingjuter inte en känsla av trygghet. Det är en tjänst som kan användas gratis för att förkorta webbadresser och kan leda precis vart som helst, inklusive till exempelvis våldsamt eller bedrägligt innehåll. Jag tänker: ska Bris lära barnen att lita på Bitly-länkar?
  2. Vem äger omdirigeringen, undrar jag också. Har Bris ett betalkonto hos Bitly eller är det deras byrå som har det? Eller Coop? Vilka beroenden har skapats till den här länken, inklusive beroendet till företaget Bitly?
  3. Jag vet fortfarande inte vart länken leder. Jag ser också bara domännamnet, inte hela webbadressen, och tanken med Bitly är ju att bara bara peka vidare till något annat.
  4. Brist på transparens. Bitly är ett amerikanskt företag som har som affärsidé att erbjuda information om webb-besökare och deras beteenden till betalande kunder. Dataunderlaget för att tjänsten ska ge värde är alla dessa klick på kortlänkar och QR-koder. Statistiken ska ge underlag för att följa upp kampanjer och förstå vad som skapar intresse, för att kunna mäta och revidera olika åtgärder online.

    Enligt egen utsago samlar Bitly information från användarnas webbläsare även när de bara klickar på en länk. Nu kanske Bris och Coop inte kan styra över hur Bitlys tjänst fungerar, men de har valt att använda den och kan nu välja att vara mer eller mindre öppna med att alla barn som skannar koden – som de uppmanar till att skanna – måste passera Bitlys tjänst.

    Och vad det innebär.

Personliga uppgifter på villovägar

Enligt deras egen integritetspolicy så samlar Bitly automatiskt in personlig information om interaktioner med deras produkter (såsom klick eller visningar). Den personliga information de samlar in inkluderar, men är inte begränsad till:

  • Ip-adress och platsen som ip-adressen är associerad med,
  • tid och datum för varje interaktion,
  • information om enheten du använder, som typ av webbläsare, operativsystem och språk,
  • samt cookies och mobila identifierare för marknadsföring.

Allt det (och mer som man inte berättar i policyn) samlas alltså in så fort man följer en QR-kod som öppnar en Bitly-länk. En Bitly-länk som Bris uppmanar barn att följa.

Notera att Bitly själva säger att de inte samlar in personlig information om man inte har ett registrerat konto hos dem, utan endast läser informationen som finns i http-headern vid klick och sedan anonymiserar den informationen. De skickar också helt regelrätt en 301-kod (som innebär att sidan flyttat permanent). Då hamnar vi i en diskussion om vad som är personlig information, om det är en berättigad insamling, och hur vi uppfattar att Bitly använder informationen. För i en http-header finns ju ip-adress och information om klienten (webbläsaren).

I en intervju från 2017 beskrev Bitlys dåvarande vd Mark Josephson hur många människor de får koll på tack vare sina kortlänkar:

Varje gång du klickar på en Bitly-länk, oavsett om du ser den eller inte, är det en 301-omdirigering via vår produkt och vår server, så vi släpper en förstaparts-cookie. Vi ser ungefär fyra miljarder människor i månaden. Så vi ser faktiskt det mesta av världen, fyra miljarder webbläsare… så vi ser det mesta av världen på månadsbasis. Och det ger många möjligheter och vi kan ägna en hel del intressant brainstorming åt vad vi skulle kunna göra med den synligheten.
How Bitly Reaches and Collects Data on Billions of People Each Month
While you probably recognize Bitly as those short links you see on Twitter, the company’s most valuable service revolves around data. In addition to its free link shortening tool, Bitly serves thousands of paying brand customers by managing their links and providing analytics. In this interview, CEO Mark Josephson explores how Bitly helps customers track their links […]

Bitlys affärsidé bygger på att samla in information om alla som klickar på deras länkar. Ju mer de vet, desto högre värde har deras tjänst.

Dock försvårar många webbläsare idag möjligheten att sätta cookies, kanske särskilt vid en omdirigering. Jag fick hjälp via sociala medier av seniora webbutvecklaren Pelle Wessman som själv stegade igenom flödet – han kunde visa att inga cookies sätts av Bitly i hans fall när de skickar honom vidare. Wessman ser inga större problem med hur det här funkar rent tekniskt, och menar att datainsamlingen som sker kan ses som berättigad.

Integritetsskyddsmyndigheten beskriver samtidigt hur ip-adresser och cookies räknas som personliga uppgifter när de direkt, eller indirekt, kan kopplas till en levande person. Övrig information som nämns av Bitly kan användas tillsammans med information från andra ägda domäner och samarbeten för att med hög säkerhet spåra hur individer rör sig mellan olika webbplatser inom olika ämnesområden. Ofta med syfte att bygga profiler för riktad reklam. Hur rimligt det är att en ip-adress ska ses som en personuppgift är föremål för debatt, men hur den används bör kanske spela störst roll.

Ju fler datapunker du har om en person, desto mer sannolikt att du kan utröna vem personen är. Ofta behövs oerhört lite information för att identifiera någon.

Nämnde jag också att den här kampanjen riktar sig direkt till alla som är under 18? Så vitt jag kan se så uppmanar Bris att barn ska skanna länken, men ger inget stöd för att förstå vad bitly-kopplingen innebär. Jag vill hävda att det finns starka skäl för att visa extra hänsyn och vara extra försiktig när man för statistik över besökare till en Bris-kampanj.

❣️
Innan jag går vidare med granskningen vill jag poängtera att Bris är en enormt viktig organisation som jag länge beundrat och som gör ovärderliga insatser för att hjälpa barn och ungdomar. Det kanske är därför det grämer mig lite extra när de hamnar snett.

Vart leder länken?

Jag är nu oerhört nyfiken och vill veta vart koden leder innan jag följer den. Och det är för mig en tvåstegsprocess.

Först tar jag reda på hur hela Bitly-länken ser ut. För det använder jag en särskild app på min telefon (i mitt fall från Lionic) som visar hela länken och inte bara domännamnet. Jag ser då att hela länken är http://bit.ly/briscoop.

Skärmdump från appen som visar länken i QR-koden: http://bit.ly/briscoop

Jag noterar att man inte använder "https" vilket är kutym för säkra länkar, men det är en parentes just nu. Jag har nu kunskap om hela Bitly-länken, man jag vet fortfarande inte vart den leder.

Bitly erbjuder en möjlighet att ta reda på vart deras korta adresser leder, som kan vara värd att lägga på minnet. Man lägger helt enkelt till ett plus-tecken i slutet av länken, så att den i det här fallet blir: http://bit.ly/briscoop+. När man går till den webbadressen så skickas man inte vidare, utan får se länken och en förhandsgranskning av vart den leder.

Men vad betyder det här?

Skärmdump som visar vilken länk som bit.ly/briscoop pekar på. Det är https://brisar.page.link/coop

Destinationen för kortlänken hos Bitly är https://brisar.page.link/coop. Och den länken går inte att förhandsgranska för det är ytterligare en typ av kortlänk(!)

Så här ser alltså resan ut hittills och vi vet fortfarande inte var vi är tänkta att landa.

Scanna QR-kod leder till Bitly-länken som leder till Firebase-länken. Men vart leder den sedan?

Vad innebär då domännamnet page.link? Ja det visste jag själv inte på rak arm men jag fick återigen snabb hjälp av mitt nätverk och utvecklaren Jérôme Gomez i Tyskland.

Min översättning av Jérômes svar:

"[page.link] används av Firebase för att tillhandahålla så kallade dynamiska länkar. Som exempel kan du uppge en dynamisk länk som, beroende på plattform, länkar till en webbplats, öppnar en app på telefonen, eller öppnar en app-butik om du inte har appen installerad. Tjänsten har fasats och länkar kommer sluta fungera nästa sommar.

Mer information finns på Firebase webbplats.

Jag nämnde tidigare att det innebär en risk att skapa ett beroende till en tredjepartslänk eftersom man inte vet vad som händer med länken i framtiden. Här framgår tydligt på Firebase webbplats att alla länkar kommer sluta fungera 25 augusti 2025, och att man inte bör använda tjänsten. Den här informationen har varit publicerad i ett år.

Skärmdump som visar varningen om att tjänsten för dynamiska länkar upphör och att man inte bör använda tjänsten.

Hur som helst. Jag förstår tanken. Nästa år ska kampanjen troligen inte vara aktiv längre. Men vad händer sedan? Ska Bris räkna iskallt med att ingen kommer försöka komma åt kampanjen i framtiden? Om något ska återanvändas, ska man börja om med flödet då? Hade det kanske varit mer genomtänkt att kunna peka eventuella framtida besökare vidare till en relevant webbplats istället för att få ett felmeddelande?

⚠️
Uppdatering november 2024: Efter min granskning har bitly-länken nu ändrats så att den går direkt till kampanjsidan.
🍅
Som en sedelärande anekdot drar jag mig till minnes hur en ketchup-älskare för många år sedan skannade QR-koden på en Heinz-flaska och hamnade på en porrsajt. I det fallet hade Heinz helt enkelt glömt att förnya domännamnet som sedan tagits över av ivriga entreprenörer. Många oväntade saker kan hända när en organisation förlitar sig på en eller flera externa parter.
Heinz says sorry for ketchup QR code that links to porn site
Ketchup buyer mistakenly exposed to porn after Heinz allows a competition domain to lapse, allowing adult entertainment firm to buy it

Uppdaterat flöde för QR-koden

För att det ska bli lättare att hänga med kan jag avslöja hur den där dynamiska länken är tänkt att fungera. Efter att ungdomen som skannat QR-koden skickats till bit.ly och sedan vidare till page.link så är tanken att det sker en förgrening. Om hen har Snapchat installerat så öppnas Snapchat. Om hen inte har Snapchat installerat så hamnar hen på en webbplats.

Åtminstone tror jag att det är så Bris och Coop skulle vilja att det fungerar, eftersom det är så dynamiska länkar hos Firebase är tänkta att fungera. För egen del hamnar jag på en webbplats även när jag installerat och aktiverat min Snapchat-app.

Det som får mig att grimasera mest är dock att jag efter detta fortfarande inte hamnar på Bris egen webbplats som jag förväntar mig, alltså bris.se. Jag hamnar i stället på en subdomän som tillhör den webbyrå som jag förmodar har byggt allt det här.

Adressen som syns i webbläsaren efter alla dessa hopp är nu bris.frankfam.co. Notera att jag kallar det "alla dessa hopp" men att ompekningarna har skett på någon sekund eller två, och många besökare kommer inte ha märkt det.

Bris tycks vilja att barnen ska känna sig trygga med den här webbadressen trots att kampanjen inte kommunicerat att någon annan organisation än Coop och Bris själva är inblandade? För min del blir problemet här att Bris förmedlar budskapet till sin målgrupp att det inte behöver vara så noga vilket domännamn som används.

Så här ser webbplatsen ut som jag kommer till. Notera webbadressen längst ner.

Byrån spårar friskt utan samtycke

Bris har nu gjort sig beroende av inte en, och inte två, utan tre av varandra oberoende domännamn som de inte själva har kontroll över (bit.ly, page.link och frankfam.co). Det krävs att alla dessa funkar för att till slut komma fram till det utlovade roliga.

När jag kollar sidans kod märker jag också att Frankfam-sidan använder Google Tag Manager. Det får mig att vilja förstå vilken spårning som sker på den här landningssidan.

Jag låter återigen seniora webbutvecklaren Pelle Wessman få ordet. Han såg inte något principiellt fel med själva användningen av Bitly och Firebase – "Så långt är allt okej och berättigat intresse skulle jag säga." Men när Frankfam-sidan laddades fanns skäl att reagera. Wessman skrev:

De har Google Tag Manager på kampanjsidan, som försöker ladda in såväl Google Analytics som LinkedIn annonsgrejs.

Och de sätter cookies, utan att cookie-banner visats och accepterats.

Det är inte rätt gjort.

Det Wessman såg bekräftades även av min podd-kollega och seniora digitala rådgivaren James Royal-Lawson: "Google Tag Manager på Frankfam-sidan infogar ett skript för LinkedIn Insights Pixel samt skript för Google Analytics 4. Dessa skript gör att flertalet cookies skapas och läses av, samt att de skickar ping till Google Analytics och LinkedIn Ads Analytics."

Samtycke har inte begärts alls för detta, vilket får ses som en ett rejält övertramp. Royal-Lawson kollar för säkerhets skull om samtycket kan ha skett någon annanstans:

Jag har kollat och det har inte satts något "(Google) default consent mode", vilket betyder att GTM inte kan använda sig av det när det avgörs vilka taggar som ska aktiveras.

Kort sagt: nej. Här valde Frankfam att helt ignorera samtycke.

⚠️
Uppdatering i november 2024: Frankfam har efter denna artikels publicering tagit bort sin Google Tag Manager från Bris-sidan.

Flödet hela vägen in i mål

Knappen på Frankfam-sidan heter "Se något kul". När jag klickar på den länkas jag till Snapchats hemsida. Där har Snapchat själva byggt en förgrening likt den jag pratade om förut. Om jag har Snapchat på min telefon så öppnas appen, om jag inte har Snapchat så öppnas Snapchats webbsida.

Men om jag inte har Snapchat så vill Bris (eller Frankfam?) att jag ska klicka på en särskild länk under knappen.

Så här ser i alla fall det reviderade flödet ut nu:

Jag skannar en kod som följer en Bitly-länk som leder till page.link som leder till bris.frankfam.co. Därifrån kan jag klicka och hamna i Snapchat-appen eller på Snapchat-webben. Eller så klickar jag för att hamna på Bris egen webb.

Om jag har Snapchat

Jag klickar på länken för Snapchat och det öppnar den så kallade "lins" som byggts med Bris som avsändare. När man då riktar kameran mot mjölkpaketet så dyker det upp en illustrerad person inuti mjölkpaketet, och pratbubblor fyllda med budskap från Bris. Runtom mjölkpaketet så faller det ner grafik med hälsningar och meddelanden.

Det här är något som kan kallas för AR, eller augmented reality, där man lägger på grafiska element som ser ut att interagera med verkligheten. Den som är alert inser varför en av länkarna vi tittat på börjar med brisar. Alltså Bris AR.

Om det blir mycket roligare än så vet jag faktiskt inte... jag kan för lite om Snapchat. På mitt eget sätt har jag förstås haft lite kul i det här detektivarbetet. Och samtidigt blivit lite omskakad.

Om jag inte har Snapchat

Jag klickar nu istället på länken under knappen på Frankfam-sidan för att tala om att jag inte har Snapchat och äntligen hamnar jag på Bris egen webbplats. Nu vill Bris förstås ge även barn utan Snapchat en kul upplevelse, så de har gjort en film som de lagt på YouTube och bäddat in i sidan.

Men för att se filmen måste jag såklart godkänna cookies från YouTube. Och markeringen för att godkänna dessa är förmarkerad. Men jag ser inte mycket till förklaring av vad dessa cookies innebär. Det informerade samtycket blir alltså inte mer än så och det är naturligtvis bekvämt för Bris att helt skjuta ifrån sig det ansvaret.

Personuppgifter om barn anses särskilt skyddsvärda enligt Dataskyddsförordningen och så här skriver IMY om barnens rättigheter:

Personuppgifter får behandlas om personen ifråga har samtyckt till det. Samtycket måste vara frivilligt och avse just det särskilda syfte som uppgifterna samlas in för. Det får inte råda någon tvekan om att personen samtycker till att uppgifterna behandlas. Den som samtycker måste också först ha fått information om behandlingen och förstå vad samtycket gäller. I fråga om barn måste ni vara extra uppmärksamma på att barnet har förmåga att förstå och samtycka till behandlingen.
💡
För dig som sitter och tänker att även vårdnadshavares samtycke krävs så gäller det inte sådana onlinetjänster som erbjuder hjälp och stöd direkt riktat till barn och ungdomar. Eller så här: jo, det gäller faktiskt fortfarande om barnet är under 13 år.
Bild som visar cookie-godkännande för Bris.se. "Kakor för YouTube och inställningar" är förmarkerat.

Den största risken för Bris just nu

Om man läser Bitlys integritetspolicy så framgår att de verkligen inte vill samla in uppgifter om barn under 13 år. Det har ett samband till vad som i USA är känt som regelverket COPPA (Children’s Online Privacy Protection Rule), men också insikten om att många andra länder har särskilt skyddande regelverk för barn under 13. Så här skriver de (min översättning):

Vi samlar inte medvetet in personuppgifter från barn. Om vi ​​får reda på att vi har samlat in personuppgifter om ett barn under 13 år (eller äldre enligt gällande lag), kommer vi att vidta åtgärder för att radera sådan information från våra system så snart som möjligt. Om du tror att vi kan ha några personuppgifter från eller om ett barn under 13 år, vänligen kontakta oss på privacy@bit.ly.

Nu vänder sig den här Bris-kampanjen till barn, och vi får anta att det är en hel del av barnen som läser på mjölkpaketen som är under 13 år. Om någon anmäler till Bitly att en av deras länkar marknadsförs till barn så finns en risk att länken helt stängs av. Och eftersom kampanjen är byggd som den är byggd så skulle det innebära att den helt slutar fungera utan att Bris kan göra något åt det.

Det är sådant som kan hända när man bygger in beroenden till externa aktörer.

Problemen jag ser

Du har säkert hunnit se ytterligare problem som jag inte fångat, och kanske har jag missuppfattat vad som sker i vissa steg. Kanske går det att stänga av den loggning Bitly genomför i samband med klick till exempel.

Tycker du kanske att Bris/Coop gör helt rätt? Att det inte är några konstigheter med att lägga upp en kampanj för barn på det här sättet? Alla inspel är välkomna i kommentarerna.

Men tre ämnen vill jag själv särskilt lyfta fram:

  • Jag förväntar mig mer av Bris när det gäller att hjälpa barn och ungdomar att förstå riskerna med att till exempel skanna QR-koder och följa länkar. QR-koder med kortlänkar gör det jättesvårt att agera på ett tryggt sätt.
  • Jag förväntar mig mer av Bris när det gäller att skydda barns och ungdomars personuppgifter från att andra använder dem inom ramarna för orelaterade tjänster.
  • Jag förväntar mig mer av Bris när det gäller att tydligt förklara för barn och ungdomar vad det är de ger samtycke till när de använder tjänster och tar del av material från Bris.

På olika ställen på webbplatsen och i Snapchat-kampanjen möts jag av budskapet 'Du behöver inte säga vem du är'. Det fick mig att tänka "jag förstår det, eftersom ni förmodligen redan vet vem jag är". Men det är såklart inte riktigt så enkelt, för ofta innebär det förstås främst en indirekt identifikation som kan användas av andra för att presentera personaliserad, eller riktad, information med syfte att påverka mig – inte att min hemadress syns för de anställda.

Jag vet att anonymitet är viktigt för Bris. För att det ska bli trovärdigt anser jag att de måste ta detta ett steg längre. Det ska inte bara handla om att personen själv inte behöver säga något. Det ska också handla om att ingen sparar något av det som oundvikligen dyker upp i loggar på olika ställen, även när man själv är tyst och inte säger vem man är. Och att Bris inte samarbetar med aktörer som livnär sig på att samla in uppgifter om enheter, geografi och beteenden.

Illustrerat klistermärke med mörka solglasögon och budskapet "Du behöver inte säga vem du är".
Behöver jag inte säga vem jag är för att ni redan vet det?
Visste du att Sverige är särskilt känsligt för personinformation som kan avslöja individer? Det har att göra med att vi är en liten befolkning på en stor yta. När man till exempel för statistik över sjukdomar så vill man helst inte göra det publikt för vissa ovanliga sjukdomstyper.

Om det visas en siffra på en drabbad personen plats med lågt invånarantal så blir det väldigt lätt att lista ut vem personen är. Då krävs det alltså bara två datapunkter. Tänk om du har 20. Eller hundra.

Möjligheterna jag ser

Men Per, hur skulle de ha gjort? Det snabba svaret: En rimlig kortlänk för QR-koden kunde ha varit coop.bris.se. Det är 12 tecken. bit.ly/briscoop är 15 tecken. Bris hade behållt kontrollen, kommunicerat trygghet och haft en framtidssäker lösning. Och om organisationen nödvändigtvis vill styra trafiken via en extern statistik-tjänst (på ett transparent sätt) så går det fortfarande att göra det. Eller ha den sidan som den faktiska landningssidan.

Jag skulle också ha tryckt den webbadressen på mjölkpaketet. Kanske skulle jag ha struntat i koden helt och hållet, eller försett landningssidan med lärdomar om riskerna med QR-koder 😜

Att det startas spårningstjänster på Frankfam-sidan utan samtycke är ett separat problem. Gör helt enkelt inte så.

Omtänksam digitalisering innebär bland annat

  • att vi undviker att samla in information som vi inte behöver och inte heller låter våra leverantörer göra det,
  • att vi skapar lösningar som är trovärdiga och funkar över tid,
  • och gör oss mindre beroende av externa parter vars hantering av våra besökares uppgifter vi inte kan gå i god för.

Jag förväntar mig att organisationer med barn som målgrupp ägnar mer tanke- och arbetskraft än andra till att bygga tjänster som är hållbara, etiska och måna om att besökarna är välinformerade om sina rättigheter.

Det går att bygga digitalt innehåll som inte tvingar in besökare i labyrinter av aktörer som bygger profiler av människor och deras beteenden. Jag tänker att det här var några klavertramp som det finns mycket att lära sig av. Jag ser fram emot att både Bris och Coop demonstrerar att de är organisationer som på ett tydligare sätt vill visa vägen för hur man skapar tillit.

Men jag vet inte om jag kommer våga läsa på ett mjölkpaket igen.

⚠️
Uppdatering november 2024: Notera att efter denna granskning har Bris/Frankfam gjort vissa ändringar i kampanj-lösningen.

1) Bitly-länken går inte längre via Firebase utan direkt till sidan hos Frankfam.
2) Frankfam har tagit bort sin Google Tag Manager som laddade flertalet spårnings-skript (det var för övrigt samma skript som laddas på deras egen hemsida).

Även om de inte hört av sig till mig får jag anta att dessa två handlingar pekar på att de är överens med mig om kritiken.

Det understryker förstås också hur dumt det är att QR-koden går via Bitly, när den lika gärna skulla kunna ha gått direkt till Frankfam-sidan, eller ännu hellre förstås till en sida på Bris egen webbplats.

QR-koden i sig kan de självklart inte ändra i efterhand, den sitter vackert kvar där på mjölkpaketet.

Missade du min reklamfilm?

Jag spelade in en kort teaser för det här inlägget som jag publicerade på LinkedIn. Du kan se klippet här nedan.

Bonus-insikt

En av mina kontakter uppmärksammade mig om denna viktiga insikt: Toppdomänen i bit.ly (.ly) ägs av Libyen. Landet kan förstås när som helst dra tillbaka domännamnet om de finner skäl för det.