Jak si ověřit, že se vaše soubory nikam nenahrávají
Každý takový web tvrdí, že je soukromý. Jak si to můžu doopravdy ověřit?
Vyjděte ze správného předpokladu
Tvrzení o soukromí na marketingové stránce není důkaz. Není jím ani ikona zámku, odznáček nebo věta v zásadách ochrany soukromí — ty popisují úmysl, a vy chcete vědět, jak se věc chová. Naštěstí je chování pozorovatelné: každý prohlížeč má nástroje, které vám přesně ukážou, co stránka odesílá, a ke čtení nemusíte být vývojář.
Udělejte tyhle kontroly na tomhle webu. Udělejte je i na tom, který jste používali předtím. Nejde o to uvěřit jinému tvrzení; jde o to přestat nějaké tvrzení potřebovat.
Kontrola první: sledujte panel Network
- Otevřete vývojářské nástroje. Ve většině prohlížečů na počítači je to F12, Ctrl+Shift+I nebo Cmd+Option+I.
- Přepněte se na kartu Network a ujistěte se, že je zapnuté zaznamenávání.
- Načtěte stránku znovu a pak seznam vymažte, ať začínáte s prázdným záznamem.
- Vyberte svůj soubor a spusťte operaci.
- Seřaďte podle velikosti nebo hledejte ve sloupci Method požadavky POST a PUT.
Hledáte jakýkoli požadavek, jehož obsah je řádově velký jako váš soubor, a vůbec jakýkoli požadavek na jiný host, než na kterém právě jste. Lokální nástroj ukáže požadavky na vlastní kód — skripty, styly, moduly WebAssembly, možná soubor s modelem — a pak během práce už nic. Nahrávač ukáže požadavek nesoucí několik megabajtů v okamžiku, kdy zmáčknete tlačítko.
Kontrola druhá: vezměte mu síť
Tohle je nejsilnější kontrola a nevyžaduje vůbec žádnou odbornost. Načtěte stránku normálně, jednou nástroj použijte, aby se potřebný engine uložil do mezipaměti, a pak se odpojte: zapněte režim letadlo, vypněte Wi-Fi nebo použijte přepínač offline ve vývojářských nástrojích. Teď zpracujte soubor.
Pokud to proběhne, zpracování se nemohlo odehrát nikde jinde než na vašem stroji. Není o čem se dohadovat. Pokud to selže nebo se zasekne, něco v řetězci potřebovalo server — což může být legitimní, třeba soubor s modelem, který ještě nebyl v mezipaměti, ale teď víte, že se máte zeptat, co to bylo.
Kontrola třetí: přečtěte si content security policy
Content security policy je hlavička, kterou web posílá a kterou vynucuje prohlížeč. Její direktiva connect-src vypisuje cíle, ke kterým se stránka smí připojit. Pokud je connect-src omezená na vlastní origin webu, prohlížeč sám zablokuje pokus poslat cokoli jinam, ať už se kód stránky snaží o cokoli.
Přečtete si ji tak, že otevřete kartu Network, kliknete na požadavek dokumentu — obvykle první řádek — a v odpovědních hlavičkách najdete Content-Security-Policy. Politika obsahující connect-src 'self' bez externích hostů je smysluplné omezení vynucené prohlížečem, ne slib.
Co která kontrola dokazuje
| Kontrola | Co dokazuje | Co nepokrývá |
|---|---|---|
| Panel Network | Co tato stránka odeslala během této návštěvy | Jinou větev kódu, pozdější verzi webu nebo požadavek odeslaný poté, co jste přestali sledovat |
| Test offline | Že samotné zpracování běží lokálně | Jestli se něco neuloží do fronty a neodešle, až se znovu připojíte |
| Content security policy | Kam prohlížeč připojení vůbec povolí | Cokoli, co politika povoluje, včetně vlastního originu webu |
| Čtení zdrojového kódu | Co obsahuje nasazený kód | Námahu; a musí se opakovat pokaždé, když se web změní |
Dohromady jsou silné. Každá z nich má ale sama o sobě mezeru a kdo vám tvrdí, že otázku vyřeší jediná kontrola, věc zjednodušuje.
Signály, že nástroj lokální není
- Ukazatel průběhu, který se hýbe rychlostí nesouvisející s vaším zařízením — plynule a stejně na rychlém notebooku i na starém telefonu.
- Výsledek doručený jako odkaz na stahovací URL na jejich doméně místo jako soubor, který už váš prohlížeč má.
- Zpráva o tom, že se soubory po několika hodinách z jejich serverů mažou. Ta věta je přiznáním, že tam ty soubory byly.
- Fronta nebo omezení počtu operací. Váš vlastní procesor nemá frontu sdílenou s dalšími lidmi.
- Nástroj funguje s odpojenou sítí jen u prvního malého souboru a pak přestane.
Meze ověřování
Ověření vám řekne něco o té verzi webu, kterou jste testovali, v den, kdy jste ji testovali. Web se zítra může změnit. Právě proto jsou nejdůležitější ty strukturální kontroly: přísná content security policy a fungující test offline jsou vlastnosti toho, jak je aplikace postavená, ne sliby o konkrétním vydání.
Dvě věci zůstávají mimo dosah všech kontrol z tohoto seznamu. Rozšíření prohlížeče umí číst obsah libovolné stránky včetně souboru, který jste do ní načetli, a žádný web tomu nezabrání. Váš operační systém vidí každý soubor, který otevřete. Pokud je dokument natolik citlivý, že tohle hraje roli, zpracujte ho v offline programu na stroji, který ovládáte, a k jakémukoli webu — tenhle nevyjímaje — přistupujte jako k nevhodnému nástroji pro takovou práci.
Nástroje k tomuto tématu
Zdroje
- W3C — Content Security Policy Level 3
- MDN — Content-Security-Policy connect-src
- Chrome DevTools — inspect network activity
- MDN — Firefox Network Monitor