Bachelor's Thesis

Towards Privacy By Design Algorithm for Adaptive Browser Bookmark Organisation Based on Browsing Patterns

Final Thesis 852.22 kB

Author of thesis: Bc. Dominik Sajko

Acad. year: 2024/2025

Supervisor: Ing. Libor Polčák, Ph.D.

Reviewer: Ing. Daniel Dolejška

Abstract:

This thesis focuses on the design and implementation of an algorithm that can adaptively adjust the structure of bookmarks in web browsers based on the Chrome browser core according to the changing needs of the user. The algorithm is designed in accordance with the principles of Privacy by Design in order to increase the security of the user's personal data. The implementation of the algorithm is carried out as a Chrome extension, which also uses a local language model for processing the necessary data.

Keywords:

Chrome extensions, Privacy by Design, bookmarks, personal data protection, privacy, GDPR

Date of defence

20.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaDznamka

Grading

D

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm D.

Topics for thesis defence

  1. Dochází skutečně při vytváření/aplikaci organizační struktury pro záložky k řazení záložek na základě frekvence návštěvnosti? (jak tvrdíte v textu práce na stránce 16 v sekci "Automatická organizácia záložiek")
  2. Považujete akce rozšíření za automatické, když pro jakoukoliv změnu, přidání nové záložky či odstranění staré vyžadují explicitní souhlas uživatele?
  3. Co má v kontextu vašeho řešení garantovaně negativní dopad na rychlost a spolehlivost zpracování dotazu prostřednictvím LLM? Jedná se o počet zpracovaných záložek?
  4. Má existence předdefinovaných složek pro organizaci záložek pozitivní vliv na rychlost zpracování dotazu prostřednictvím LLM? Ať už tak, či tak, proč?
  5. Má existence předdefinovaných složek pro organizaci záložek garantovaně pozitivní vliv na spolehlivost výsledků? Ať už tak, či tak, proč?

Language of thesis

Slovak

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Vítězslav Beran, Ph.D. (předseda)
Ing. Radek Hranický, Ph.D. (člen)
doc. Ing. Tomáš Martínek, Ph.D. (člen)
Ing. Petr Veigend, Ph.D. (člen)
Ing. Filip Orság, Ph.D. (člen)

Supervisor’s report
Ing. Libor Polčák, Ph.D.

Vyjádření Gen Digital:


"Téma, které si pan Sajko vybral, považuji za oblast, která není jednoduše uchopitelná. Využití stávajících možností AI nabízí velký potenciál, ovšem problém je vždy nutné správně uchopit, včetně často nepředvídatelného výstupu, který LLM systémy nabízejí. Přístup k řešení problému a dotažení práce k funkčnímu výsledku tak beru jako viditelný úspěch. Po technické stránce to vyžadovalo skloubit práci hned z několika oblastí (Chromium ekosystém/API, problematika LLM včetně práce s lokálním modelem, vývoj rozšíření), což se panu Sajkovi i přes kumulovanou složitost podařilo dotáhnout k výsledku a jistě mu to přineslo znalosti z více oblastí."


S ohledem na mé výtky uvedené výše a velmi kladný posudek Gen Digital navrhuji práci hodnotit jako dobrou.

Evaluation criteria Verbal classification
Informace k zadání

Práce byla řešena v rámci spolupráce s firmou Gen Digital, která studenta primárně vedla. Jak uvádím níže, ta je s výsledky práce spokojená. Já jsem si od práce představoval více, např. mohla být propracovanější oblast privacy-by-design a testování implementace.

Práce s literaturou

Student využíval výhradně zdroje vlastní, případně doporučené Gen Digital. To je škoda, protože v rámci doporučených zdrojů byl dokument vytvořený Sborem pro ochranu osobních údajů, což je správní instituce spadající pod Evropskou komisi a informace obsažené v tomto dokumentu jsou nanejvýš relevantní.

Aktivita během řešení, konzultace, komunikace

Konzultace probíhaly podle plánu, primárně byl student odborně vedený Gen Digital. I tak jsem se zhruba každé 2 měsíce se studentem viděl.

Aktivita při dokončování

Práci jsem viděl v předstihu, ale neúplnou. Mé poznámky nebyly reflektovány. To je způsobené tím, že textová část vznikala na poslední chvíli.

Publikační činnost, ocenění
Points proposed by supervisor: 75

Grade proposed by supervisor: C

Reviewer’s report
Ing. Daniel Dolejška

Komplexita a hloubka předloženého řešení v této bakalářské práci dle názoru oponenta nedosahuje na úroveň, která je od bakalářské práce tohoto směru očekávána. Nicméně nějaké řešení předloženo bylo a může sloužit jako podklad pro návrh skutečného rozšíření prohlížeče poskytující požadovanou funkcionalitu v kompletním rozsahu a jako ukázka pro ostatní programátory "jak to nedělat."


Na základě výše zmíněných faktů navrhuji hodnocení stupněm E.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: méně obtížné zadání

Zadání a způsob jeho zpracování autorem práce je z pohledu oponenta klasifikováno spíše jako méně obtížné a to především z důvodů:

  1. využití moderních technologií a dokumentovaných programovacích rozhraní prohlížeče,
  2. autor do hloubky neprozkoumává chování AI ani se nesnaží o zcela vlastní řešení (které by potenciálně bylo relativně komplexní),
  3. autor nevyužívá pokročilejších technologií k zajištění bezpečnosti dat výsledného řešení (šifrování apod.),
  4. autor detailne neřeší problematiku uchovávání či zpracování citlivých dat v kontextu principů Privacy by Design (PbD), protože citlivé informace z důvodu PbD "raději vůbec nepoužívá."

Prezentační úroveň technické zprávy

Autor rozvádí teoretický úvod do problematiky v několika úvodních kapitolách. Dle názoru oponenta by se mělo spíše jednat o podsekce jedné kapitoly a ne o individuální kapitoly samotné.

Některé sekce technické zprávy dále nejsou dle názoru oponenta korektně umístěny - podsekce sekce 5.1 na str. 19 by měly spíše být součástí kapitoly návrhu řešení, spíše než samotné implementace výsledného řešení.

Vybrané sekce by někdy mohly zacházet do větších podrobností navrženého/implementovaného chování aplikace ovšem všeobecně platí, že text technické zprávy je až na výjimky celkem čtivý a kompletní.

62
Formální úprava technické zprávy

Autor v samotném textu technické zprávy často používá ich-formu. Práce dále obsahuje spíše jen drobné typografické chyby či překlepy:

  • chybí seznam obrázků práce (nicméně práce obsahuje pouze 4 - to je problém sám o sobě),
  • chybné rozdělení slov "Enabled BypassPerfRe- quirement", str. 21, sekce "ChromeAI a Gemini Nano", odstavec 4,
  • několik dalších drobných překlepů.

Gramatickou stránku práce ve slovenském jazyce není oponent schopen kvalitativně posoudit.

60
Realizační výstup

Výsledné řešení (kód v jazyce JavaScript) nemá ani 1 200 řádků, a to včetně všech komentářů i řádků prázdných. Programové skripty neobsahují žádné dokumentační komentáře v běžně používaném formátu JSDoc - to oponent považuje za naprosté minimum v kontextu programové dokumentace pro další programátory. Implementační řešení dále také nevyužívá TypeScript pro zajištění vyšší typové bezpečnosti či snazšímu objektovému návrhu. Celé řešení je procedurálního modelu. Řešení také nedisponuje ani jednotkovými či integračními testy jakéhokoliv rázu.

Praktické užití vytvořeného nástroje na uživatelské úrovni není téměř možné. Přidávání, organizace či odstraňování nepoužívaných záložek sice funguje "na pozadí," nicméně vždy vyžaduje explicitní potvrzení jakékoliv akce od uživatele. Tím se rozšíření stává víceméně nepoužitelným, protože vyžaduje schválení přidání jakékoliv nové záložky, potvrzení odstranění jakékoliv existující záložky a i potvrzení nově navržené struktury pro dané záložky. V takové chvíli je zkrátka lepší si záložky spravovat sám.

Řešení je dále tvrdě zalimitováno na použití maximálně 7 různých kategorií a to pouze v jediné úrovni. Hlubší stromová struktura nebude programem nikdy navržena a použita. Dále v případě, že záložek je více, než 80, program nebude s největší pravděpodobností schopen korektně pracovat. To sice je autorem v práci zdokumentováno, nicméně aplikace se proti této situaci nijak aktivně nechrání a uživateli není nikde limit na počet záložek explicitně sdělen.

Implementace stěžejní části práce - analýza chování uživatele a optimalizace struktury záložek na základě nasbíraných dat je kompletně "vyřešena" dotazem do LLM dostupném přímo v prohlížeči.

Dále pak na stránce 16 autor v sekci "Automatická organizácia záložiek" v poslední větě 2. odstavce uvádí "Pridávanie záložiek do nových priečinkov prebieha postupne od najpouživanejších záložiek k tým najmenej používaným, [...]" - toto je kompletní lež, protože ve zdrojovém kódu programu se žádná takováto funkcionalita nenachází. Metoda sortBookmarks, která se ve zdrojovém kódu nachází, provádí organizaci záložek do adresářů pomocí volání LLM bez poskytnutí jakéhokoliv kontextu pro řazení či prioritizaci jednotlivých záložek. To ostatně lze vidět i v kódu 5.1 na str. 24. Proměnná bookmarkArray obsahuje pouze položky "id", "title" a "url".

38
Využitelnost výsledků

Výsledek je využitelný maximálně jako "proof of concept." Skutečné využití na uživatelské úrovni nemá příliš smysl, protože implementované rozšíření prohlížeče nepřináší uživateli žádný skutečný benefit a často bude efektivnější a zkrátka lepší, když se o záložky bude uživatel starat sám. Správa záložek tímto rozšířením není ani efektivnější, ani rychlejší, není ani adaptivní a ani automatická. Nastavení chování programu pro případné uživatele je jen velmi strohé a zcela jistě nepokrývá chtěnou funkcionalitu "[...] automaticky uspořádá záložky webového prohlížece tak, aby reflektovaly měnící se zájmy a potřeby uživatele."

Výsledné řešení základní uživatelské cíle dle názoru oponenta nesplňuje.

Rozsah splnění požadavků zadání

Evaluation level: zadání téměř splněno s vážnějšími výhradami

Oponent má k míře splnění jednotlivých bodů zadání určité výhrady:

  1. Tento bod je splněn v plném rozsahu.
  2. Autor se sice seznámil s principy Privacy by Design (PbD), nicméně rozbor možností analýzy uživatelských vzorců chování není v textu technické zprávy k nalezení.
  3. Autor na základě PbD navrhl "algoritmus," pro výběr stránek, které navrhne pro přidání mezi záložky - "algoritmus" není nikterak chytrý a jedná se prakticky o uživatelem konfigurovatelnou podmínku "stránku jsem navštívil alespon X-krát za posledních Y dní." Zde se autor rozhodl nesbírat další data pro možný větší benefit procesu uspořádávání záložek odkazujíc se na pravidla PbD (minimalizace sbíraných dat). Nicméně v kapitole 3.2 v sekci "Úplná funkcionalita" autor také hned v první větě uvádí "Začlenenie ochrany súkromia do vyvíjanej aplikácie by nemalo ovplyvniť jej plnú funkčnosť." s čímž souhlasím, ale v práci to následně autorem respektováno nebylo.
    Část "[...] na základě analýzy uživatelských vzorců chování automaticky uspořádá záložky webového prohlížeče tak, aby reflektovaly měnící se zájmy a potřeby uživatele." tohoto bodu zádání nepovažuji za dostatečně splněnou.
  4. Tento bod je splněn.
  5. Autor provedl dotazníkový průzkum s 9 respondenty, kde analyzoval spokojenost uživatelů s navrženými názvy pro nově uložené záložky. Hodnocení návrhu struktury či pořadí nebylo součástí průzkumu (i přes to že se jedná o stěžejní část práce).
    K testování implementace došlo autorem pouze ručně a ve velmi omezeném rozsahu. Ve chvíli kdy autor uznal za vhodné, program víceméně 7x spustil, zapsal délku trvání procesu, zhodnotil výsledek a kapitolu tak uzavřel.
    V rámci testování autor dále v sekci 6.1 na str. 28 v 2. odstavci od konce při popisu výsledků "čtvrtého experimentu" k době zpracování (121 sekund) uvádí: "[...] čo naznačuje nárast časovej náročnosti pri väčšej množine vstupných dat." Nicméně to v kontextu v předcházejícího odstavce k "třetímu experimentu," kde trvání bylo 85 sekund a množina vstupních dat identická, nedává žádný logický smysl.
    Navržené testování nepovažuji za dostatečné.
  6. Tento bod je splněn.

Rozsah technické zprávy

Evaluation level: splňuje pouze minimální požadavky

Na základě měření z https://app.fit.vut.cz/theses-checker má odevzdaná technická zpráva zhruba 42 normostran čímž splňuje pouze minimální požadavky na rozsah technické zprávy.

Práce s literaturou

Autor v technické zprávě uvádí citace z 48 zdrojů, nicméně toto číslo je zavádějící. Citace zdroje privacypatterns.org je uvedena 3x, vždy pouze s jinou stránkou daného webu, dále dokumentace Google Chrome pro programátory je ve zdrojích uvedena 18x, opět s různými stránkami. Autor necituje žádný z vedoucím doporučených základních literárních pramenů, z 28 unikátních zdrojů je 6 odborná literatura a knižní publikace a ve zbytku se jedná o online zdroje.

64
Topics for thesis defence:
  1. Považujete akce rozšíření za automatické, když pro jakoukoliv změnu, přidání nové záložky či odstranění staré vyžadují explicitní souhlas uživatele?
  2. Dochází skutečně při vytváření/aplikaci organizační struktury pro záložky k řazení záložek na základě frekvence návštěvnosti? (jak tvrdíte v textu práce na stránce 16 v sekci "Automatická organizácia záložiek")
  3. Má existence předdefinovaných složek pro organizaci záložek pozitivní vliv na rychlost zpracování dotazu prostřednictvím LLM? Ať už tak, či tak, proč?
  4. Co má v kontextu vašeho řešení garantovaně negativní dopad na rychlost a spolehlivost zpracování dotazu prostřednictvím LLM? Jedná se o počet zpracovaných záložek?
  5. Má existence předdefinovaných složek pro organizaci záložek garantovaně pozitivní vliv na spolehlivost výsledků? Ať už tak, či tak, proč?
Points proposed by reviewer: 50

Grade proposed by reviewer: E

Responsibility: Mgr. et Mgr. Hana Odstrčilová