bakalářská práce

Vývoj algoritmu zachovávajícího soukromí uživatele pro adaptivní organizaci záložek v prohlížeči na základě uživatelských vzorců chování

Text práce 852.22 kB

Autor práce: Bc. Dominik Sajko

Ak. rok: 2024/2025

Vedoucí: Ing. Libor Polčák, Ph.D.

Oponent: Ing. Daniel Dolejška

Abstrakt:

Táto práca sa zameriava na návrh a implementáciu algoritmu, ktorý dokáže adaptívne upravovať štruktúru záložiek vo webových prehliadačoch založených na jadre prehliadača Chrome podľa meniacich sa potrieb užívateľa. Algoritmus je navrhnutý v súlade s princípmi Privacy by Design za účelom zvýšenia bezpečnosti používaných osobných údajov užívateľa. Implementácia algoritmu je realizovaná prostredníctvom rozšírenia pre Chrome, ktoré zároveň využíva lokálny jazykový model pre spracovanie potrebných dát.

Klíčová slova:

Rozšírenia pre Chrome, Privacy by Design, záložky, ochrana osobných údajov, súkromie, GDPR

Termín obhajoby

20.06.2025

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaDznamka

Klasifikace

D

Průběh obhajoby

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.

Otázky k obhajobě

  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č?

Jazyk práce

slovenština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

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)

Posudek vedoucího
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.

Kritérium hodnocení Slovní hodnocení
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í
Výsledný počet bodů navržený vedoucím: 75

Známka navržená vedoucím: C

Posudek oponenta
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.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: 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í

Stupeň hodnocení: 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

Stupeň hodnocení: 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
Otázky k obhajobě:
  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č?
Výsledný počet bodů navržený oponentem: 50

Známka navržená oponentem: E

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová