<!DOCTYPE html><html lang="pl" data-color-scheme="dark"> <head><script>(function(){const defaultTheme = "dark";
const allowThemeToggle = false;

        (function () {
            let theme = defaultTheme;
            if (allowThemeToggle) {
                const savedTheme = localStorage.getItem('theme');
                if (savedTheme === 'light' || savedTheme === 'dark' || savedTheme === 'auto') {
                    theme = savedTheme;
                }
            }
            document.documentElement.setAttribute('data-theme-preference', theme);
            if (theme === 'auto') {
                theme = window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';
            }
            document.documentElement.setAttribute('data-color-scheme', theme);
        })();
    })();</script><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="color-scheme" content="dark"><title>Zaufana Trzecia Strona</title><link rel="canonical" href="https://zaufanatrzeciastrona.pl/"><meta property="og:type" content="website"><meta property="og:url" content="https://zaufanatrzeciastrona.pl/"><meta property="og:title" content="Zaufana Trzecia Strona"><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://zaufanatrzeciastrona.pl/"><meta property="twitter:title" content="Zaufana Trzecia Strona"><style>
      :root {
        --accent-primary-color: #00CBEA;
        --accent-secondary-color: #FC455B;
        --main-logo: url('https://stefan.zaufanatrzeciastrona.pl/z3s-logo (1)-2.svg');
        --symbol-bg: url('https://stefan.zaufanatrzeciastrona.pl/17097f22-e3d5-44ab-a2e2-3dabde8fa8cc.svg');
        --heading-font: 'Borda', sans-serif;
      }
      .theme-toggle__sun,
      .theme-toggle__moon,
      .theme-toggle__auto {
        display: none;
      }
      html[data-theme-preference="dark"] .theme-toggle__sun {
        display: block;
      }
      html[data-theme-preference="light"] .theme-toggle__moon {
        display: block;
      }
      html[data-theme-preference="auto"] .theme-toggle__auto {
        display: block;
      }
      /* Fallback if preference is not set yet */
      html:not([data-theme-preference]) .theme-toggle__sun {
        display: block;
      }
    </style><style>
      
      
      
      
    </style><link rel="stylesheet" href="/css/prism.css"><link rel="icon" href="https://stefan.zaufanatrzeciastrona.pl/53158ae0-24d5-4eb0-8d4e-ea2316075928.ico" type="image/x-icon"><link rel="alternate" type="application/rss+xml" title="Zaufana Trzecia Strona" href="/feed/"><meta name="glue-comments-api" content="/publicapi"><meta name="glue-version" content="v0.33.1"><script src="/js/retire-service-workers.js?v=1"></script><script type="module" src="/_astro/Layout.astro_astro_type_script_index_0_lang.eg6Hn6ef.js"></script><link rel="stylesheet" href="/_astro/Layout.C72xl_ew.css"></head> <body class data-is-page="false">   <header class="header"> <div class="centralize header__inner"> <a href="/" class="header__logo"> <img alt="Zaufana Trzecia Strona" src="https://stefan.zaufanatrzeciastrona.pl/z3s-logo (1)-2.svg"> </a> <nav class="header__nav nav"> <a href="#" class="header__search-toggle header__search-toggle--mobile header__search__trigger"> szukaj </a>  <a href="#" class="nav__menu-toggle nav__trigger"> <span class="nav__trigger__line"></span> <span class="nav__trigger__line"></span> <span class="nav__trigger__line"></span> </a> <div class="nav__inner"> <div class="nav__main"> <ul id="menu-1"> <li><a href="/wideo">Szkolenia</a></li><li><a href="/kontakt">Kontakt</a></li><li><a href="/wspolpraca">Współpraca</a></li><li><a href="/wideo">Wideo</a></li> </ul> </div> <a href="#" class="header__search-toggle header__search__trigger"> szukaj </a>  <div class="nav__channels glue-channels"> <span>Dołącz do nas:</span> <ul> <li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://www.facebook.com/ZaufanaTrzeciaStrona" title="Facebook"> <img src="https://stefan.zaufanatrzeciastrona.pl/5956e3aa-c705-475f-9182-cbe1e3b63552.svg" alt="Facebook" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://discord.gg/zaufana" title="Discord"> <img src="https://stefan.zaufanatrzeciastrona.pl/a25f29a6-a76e-43e9-9721-8bf735861470.svg" alt="Discord" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://twitter.com/zaufana3strona" title="Twitter"> <img src="https://stefan.zaufanatrzeciastrona.pl/039006cb-b6da-4b6d-bfab-bfeeddb98231.svg" alt="Twitter" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://infosec.exchange/@zaufanatrzeciastrona" title="Mastodon"> <img src="https://stefan.zaufanatrzeciastrona.pl/caf1f774-2d4f-445c-843f-ad63cbd64231.svg" alt="Mastodon" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://bsky.app/profile/zaufana3strona.bsky.social" title="Bluesky"> <img src="https://stefan.zaufanatrzeciastrona.pl/e0193a40-d9b2-4a66-b169-4df33e1324a2.svg" alt="Bluesky" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="/kanaly-rss" title="RSS"> <img src="https://stefan.zaufanatrzeciastrona.pl/1ca47a23-f53e-4395-8722-e1ad6262bf72.svg" alt="RSS" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li> </ul> </div> </div> </nav> </div> <div class="header__search"> <form method="get" action="/search/"> <input type="text" name="s" id="search" class="header__search__input" placeholder="Szukaj..." autocomplete="off"> <button type="submit" class="header__search__submit">szukaj</button> <a href="#" class="header__search-toggle header__search-toggle--close header__search__close"> zamknij wyszukiwanie </a> </form> </div>  </header>   <main class="main">  <section class="lead-article"> <div class="lead-article__inner"> <a href="/post/najwiekszy-wyciek-danych-osobowych-w-historii-polski-i-co-mozemy-z-nim-zrobic/" aria-label="Największy wyciek danych osobowych w historii Polski i co możemy z nim zrobić"> <img src="https://stefan.zaufanatrzeciastrona.pl/734de468-02f5-4bb8-80c4-48128eec156c.png" alt="Największy wyciek danych osobowych w historii Polski i co możemy z nim zrobić" loading="eager" width="1978" height="932"> </a> <div> <div> <div class="lead-article__info"> <div> <img src="https://stefan.zaufanatrzeciastrona.pl/5393c712-6f4f-463a-b6d3-f444e205462a.png" alt="Adam Haertle"> <p> <a href="/post/author/adam/" style="color: inherit"> Adam Haertle </a> </p> </div> <p>13.08.2026</p> </div> <h1> <a href="/post/najwiekszy-wyciek-danych-osobowych-w-historii-polski-i-co-mozemy-z-nim-zrobic/">Największy wyciek danych osobowych w historii Polski i co możemy z nim zrobić</a> </h1> <div class="lead-article__comments"> <p> <a href="/post/najwiekszy-wyciek-danych-osobowych-w-historii-polski-i-co-mozemy-z-nim-zrobic/#comments" style="color: inherit"> <span class="comments-badge"><glue-comment-count post-id="6a7cd9f85d759b4f7ba88ec4" placeholder="0">0</glue-comment-count></span> komentarzy </a> </p> </div> </div> </div> </div> </section>  <section class="lead-articles"> <div class="centralize"> <div class="lead-articles__inner"> <ul> <li> <div class="lead-articles__info"> <p>14.08.2026</p> </div> <a href="/post/weekendowa-lektura-odcinek-689-2026-08-14-bierzcie-i-czytajcie/" class="lead-articles__box"> <figure> <div class="comments-badge"> <glue-comment-count post-id="6a7eb961cd3193ccfe8739f7" placeholder="0">0
</glue-comment-count> </div> <img src="https://stefan.zaufanatrzeciastrona.pl/4a9f31b1-c714-40b9-bf85-1d8a052601c5.jpg" alt="Weekendowa Lektura: odcinek 689 [2026-08-14]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> </figure> <div> <h2>Weekendowa Lektura: odcinek 689 [2026-08-14]. Bierzcie i czytajcie</h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Przestępcy – jak można się było spodziewać – ani myślą o wakacyjnej przerwie, stąd całkiem sporo artykułów, które mieliśmy okazję przejrzeć i dla Was wybrać. Miłego klikania!</p> </div> </a> </li><li> <div class="lead-articles__info"> <p>10.08.2026</p> </div> <a href="/post/hakerzy-twierdza-ze-ukradli-dane-ponad-18-milionow-polek-i-polakow-z-firmy-mydr/" class="lead-articles__box"> <figure> <div class="comments-badge"> <glue-comment-count post-id="6a79fd1e2d3e1566423b8edc" placeholder="0">0
</glue-comment-count> </div> <img src="https://stefan.zaufanatrzeciastrona.pl/32a4a0f1-ee8d-4c73-a9e2-203622c6111e.png" alt="Hakerzy twierdzą, że ukradli dane ponad 18 milionów Polek i Polaków z firmy MyDr" loading="lazy" width="674" height="530"> </figure> <div> <h2>Hakerzy twierdzą, że ukradli dane ponad 18 milionów Polek i Polaków z firmy MyDr</h2> <p>Firma MyDr ogłosiła właśnie, że bada poważny incydent bezpieczeństwa w swojej sieci. Rzekomi sprawcy tego incydentu wcześniej skontaktowali się z nami i twierdzą, że są w posiadaniu danych pacjentów wielu polskich przychodni. Według włamywaczy w ich rękach znalazło się 18 814 422 unikatowych numeró....</p> </div> </a> </li><li> <div class="lead-articles__info"> <p>08.08.2026</p> </div> <a href="/post/nowa-ofiara-grudniowego-ataku-na-polska-energetyke/" class="lead-articles__box"> <figure> <div class="comments-badge"> <glue-comment-count post-id="6a7614342d3e1566422e493f" placeholder="0">0
</glue-comment-count> </div> <img src="https://stefan.zaufanatrzeciastrona.pl/4525ee4d-6364-4dd6-87c0-f3fe5a95a354.png" alt="Nowa ofiara grudniowego ataku na polską energetykę" loading="lazy" width="960" height="1093"> </figure> <div> <h2>Nowa ofiara grudniowego ataku na polską energetykę</h2> <p>Kiedy w styczniu opisywaliśmy skoordynowany atak na polską infrastrukturę energetyczną, nie spodziewaliśmy się, że w sierpniu będziemy dodawać kolejne klocki do tej układanki. Jest to jednak niezbędne, ponieważ okazało się, że ofiar było więcej, podobnie jak i metod ataku użytych przez sprytnych nap...</p> </div> </a> </li> </ul> </div> </div> </section>  <section class="columns columns--home"> <div class="centralize"> <div class="columns__left"> <section class="list-articles" id="posts-list-start"> <div class="list-articles__inner"> <ul> <li> <a href="/post/weekendowa-lektura-odcinek-688-2026-08-07-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/4a9f31b1-c714-40b9-bf85-1d8a052601c5.jpg" alt="Weekendowa Lektura: odcinek 688 [2026-08-07]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>07.08.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 688 [2026-08-07]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a7321782d3e15664224dbb7" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Urlopy urlopami, ale przestępcy działają nadal. Poniżej kolejna porcja informacji o najnowszych atakach, świeżo odkrytych podatnościach i grasujących w sieci szkodnikach. Miłego klikania!</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-687-2026-07-31-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/4a9f31b1-c714-40b9-bf85-1d8a052601c5.jpg" alt="Weekendowa Lektura: odcinek 687 [2026-07-31]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>31.07.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 687 [2026-07-31]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a6c6adba43f480dc1b052c1" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Tym razem także nie zabrakło materiału do analizy - poniżej znajdziecie kilkadziesiąt linków, które mogą zapewnić wam zajęcie na resztę weekendu. Miłego klikania!</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-686-2026-07-26-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 686 [2026-07-26]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>26.07.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 686 [2026-07-26]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a691b19fe74b906330e3e90" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Jest już wprawdzie niedziela, ale przy odrobinie determinacji zdążycie przejrzeć wszystkie linki, które dla Was uzbieraliśmy, a zatem miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej wyniki dziennikarskiego śledztwa pok...</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-685-2026-07-18-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 685 [2026-07-18]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>18.07.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 685 [2026-07-18]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a691b19fe74b906330e3e83" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Przestępcy ani myślą o urlopie, dlatego poniżej przeczytacie to, co udało się nam znaleźć i wyselekcjonować z najciekawszych tematów w tym tygodniu. Miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej poradnik, jak rozpoznać fałszywe sklepy o</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-684-2026-07-10-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 684 [2026-07-10]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>10.07.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 684 [2026-07-10]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a691b19fe74b906330e3e76" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury, a w nim kilkadziesiąt linków pokazujących, co się wydarzyło w mijającym tygodniu. Staraliśmy się, aby były ciekawe, różnorodne i istotne. Miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej wideo tłumaczące, jak działa nielegalny rynek tokenó</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-683-2026-07-05-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 683 [2026-07-05]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>05.07.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 683 [2026-07-05]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a691b19fe74b906330e3e69" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Jak zawsze szukaliśmy tematów, które pomagają lepiej zrozumieć aktualny krajobraz zagrożeń. Miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej raport „Internet dzieci 2026”, z którego wynika, że algorytmy i AI szkodzą już kilkulatkom (pkt 11</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-682-2026-06-26-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 682 [2026-06-26]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>27.06.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 682 [2026-06-26]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a3c293e7927b2746c0f8caa" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Staraliśmy się, aby zebrane przez nas linki były ciekawe i różnorodne oraz dotyczyły spraw istotnych. Miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej obszerny materiał, z którego wynika, że rosyjskie służby wciąż korzystają z narzędzi Cel</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-681-2026-06-19-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 681 [2026-06-19]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>20.06.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 681 [2026-06-19]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a3c293d7927b2746c0f8c9e" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Znajdziecie w nim - jak zwykle - istotne informacje z obszaru cyberbezpieczeństwa obejmujące miniony tydzień. Dajcie znać w komentarzach, które tematy najbardziej Was zaciekawiły. Miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej materiał p</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-680-2026-06-12-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 680 [2026-06-12]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>13.06.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 680 [2026-06-12]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a3c293d7927b2746c0f8c92" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Opisy nowych zmagań badaczy z cyberprzestępcami, szczegóły świeżo odkrytych luk, analizy nowych kampanii – każdy znajdzie coś dla siebie. Miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej materiał poświęcony tajnej Katedrze nr 4, pokazujący</p> </div> </a> </li><li> <a href="/post/weekendowa-lektura-odcinek-679-2026-06-07-bierzcie-i-czytajcie/" class="list-articles__box"> <figure> <img src="https://stefan.zaufanatrzeciastrona.pl/8d9fb236-e5b5-4ea0-8053-bfad1fb79bff.jpg" alt="Weekendowa Lektura: odcinek 679 [2026-06-07]. Bierzcie i czytajcie" loading="lazy" width="1200" height="750"> <p>08.06.2026</p> </figure> <div> <h2> Weekendowa Lektura: odcinek 679 [2026-06-07]. Bierzcie i czytajcie <span class="comments-badge"> <glue-comment-count post-id="6a3c293d7927b2746c0f8c86" placeholder="0">0</glue-comment-count> </span> </h2> <p>Zapraszamy do nowego wydania Weekendowej Lektury. Jest już wprawdzie niedziela, ale przy odrobinie determinacji zdążycie przejrzeć wszystkie linki, które dla Was uzbieraliśmy, a zatem miłego klikania! W dzisiejszym wydaniu szczególnie polecamy w części fabularnej kolejny odcinek Retro-podcastu Infor...</p> </div> </a> </li> </ul> </div> <div class="list-articles__more"> <a href="/page/2/">Starsze wpisy</a> </div> </section> </div>  <aside class="sidebar columns__right" data-pagefind-ignore> <ul> <li class="widget widget_glue_feature"> <div class="bootcamp-widget"> <a href="https://z3s.pl/spowiedz" class="bootcamp-widget__box1"> <div> <div class="bootcamp-widget__logo" style="margin-bottom: 15px;"> <img src="https://stefan.zaufanatrzeciastrona.pl/5e32af4b-4db0-487d-ba28-9a46beb85042.svg" alt="" style="max-height: 30px; width: auto; display: block;"> </div> <h2 style="padding-top: 5px;">Spowiedź bezpieczeństwa AD 2026 - poznaj sekrety moich zabezpieczeń</h2> <p><img src="https://stefan.zaufanatrzeciastrona.pl/2e34d056-9b6d-4065-ab63-0baec478f100.png" alt="" class="aligncenter"></p> <span class="bootcamp-widget__box1__badge"> Zobacz! </span> </div> </a> </div> </li>  <li class="widget widget_hits_z3s_widget"> <div class="hits-widget"> <h3>Hity miesiąca</h3> <ul aria-live="polite" class="hits-widget__list" id="hits-container"></ul> <script>
                    document.addEventListener('DOMContentLoaded', function () {
                        const hitsContainer = document.getElementById('hits-container');
                        if (!hitsContainer) return;

                        fetch('/publicapi/hits')
                            .then(res => res.json())
                            .then(data => {
                                hitsContainer.replaceChildren();
                                if (!Array.isArray(data) || data.length === 0) return;

                                data.forEach(hit => {
                                    let path = String(hit.path || '').trim();
                                    if (path && !path.startsWith('/')) path = '/' + path;
                                    const li = document.createElement('li');
                                    const a = document.createElement('a');
                                    a.href = path || '#';
                                    a.className = 'hits-widget__box';
                                    const p = document.createElement('p');
                                    p.textContent = hit.title != null ? String(hit.title) : '';
                                    const badge = document.createElement('div');
                                    badge.className = 'comments-badge';
                                    badge.textContent = hit.count != null ? String(hit.count) : '';
                                    a.appendChild(p);
                                    a.appendChild(badge);
                                    li.appendChild(a);
                                    hitsContainer.appendChild(li);
                                });
                            })
                            .catch(err => console.error('Error fetching hits:', err));
                    });
                </script></div> </li>    <li class="widget widget_social_z3s_widget"> <div class="join-widget"> <h3>Dołącz do nas:</h3> <ul> <li> <a target="_blank" href="https://www.facebook.com/ZaufanaTrzeciaStrona" class="join-widget__item" title="Facebook"> <img src="https://stefan.zaufanatrzeciastrona.pl/7dc15e2e-1eff-439b-a4e3-c2c9ae6890d6.svg" alt="Facebook"> </a> </li><li> <a target="_blank" href="https://discord.gg/zaufana" class="join-widget__item" title="Discord"> <img src="https://stefan.zaufanatrzeciastrona.pl/1b59e806-f13b-44c6-be96-5f52048d9507.svg" alt="Discord"> </a> </li><li> <a target="_blank" href="https://www.youtube.com/@ZaufanaTrzeciaStronaYT" class="join-widget__item" title="YouTube"> <img src="https://stefan.zaufanatrzeciastrona.pl/91b0c04a-751e-4eb2-bc55-17a76c0c3f5d.svg" alt="YouTube"> </a> </li><li> <a target="_blank" href="https://twitter.com/zaufana3strona" class="join-widget__item" title="Twitter"> <img src="https://stefan.zaufanatrzeciastrona.pl/daf67de2-23f0-4266-ae57-1b2dc73e8bbf.svg" alt="Twitter"> </a> </li><li> <a target="_blank" href="https://wykop.pl/ludzie/ZaufanaTrzeciaStrona" class="join-widget__item" title="Wykop"> <img src="https://stefan.zaufanatrzeciastrona.pl/4db8ea1f-5ce4-494f-960b-fad01090ee23.svg" alt="Wykop"> </a> </li><li> <a target="_blank" href="https://www.linkedin.com/company/zaufanatrzeciastrona.pl" class="join-widget__item" title="LinkedIn"> <img src="https://stefan.zaufanatrzeciastrona.pl/1e425118-6eff-490b-8865-09ff4ded1f5d.svg" alt="LinkedIn"> </a> </li><li> <a rel="me" target="_blank" href="https://infosec.exchange/@zaufanatrzeciastrona" class="join-widget__item" title="Mastodon"> <img src="https://stefan.zaufanatrzeciastrona.pl/db1330ce-1b0a-409d-9cb6-303f799877a2.svg" alt="Mastodon"> </a> </li><li> <a target="_blank" href="https://bsky.app/profile/zaufana3strona.bsky.social" class="join-widget__item" title="Bluesky"> <img src="https://stefan.zaufanatrzeciastrona.pl/9995a684-85bc-4995-8368-9428b152eb7d.svg" alt="Bluesky"> </a> </li><li> <a target="_blank" href="https://zaufanatrzeciastrona.pl/kanaly-rss/" class="join-widget__item" title="RSS"> <img src="https://stefan.zaufanatrzeciastrona.pl/3a132613-9fb9-40cc-b2ed-7d5544fb4f33.svg" alt="RSS"> </a> </li> </ul> </div> </li> </ul> </aside> </div> </section>  <section class="media-boxes"> <div class="centralize"> <div class="media-boxes__inner"> <h3>Może nie najbezpieczniej, ale jako tako...</h3> <ul> <li> <a href="https://youtube.com/live/o744vVoNuv8" class="media-boxes__box media-boxes__box--video" target="_blank"> <figure> <img alt="RK 159 - Hardware hacker, Sergiusz Bazański" src="https://stefan.zaufanatrzeciastrona.pl/image-3.png"> </figure> <div> <h4>RK 159 - Hardware hacker, Sergiusz Bazański</h4> <div class="media-boxes__info"> <p> 22.12.2024 | YouTube </p> </div> </div> </a> </li><li> <a href="https://youtube.com/live/h7YwYM9Pgqg" class="media-boxes__box media-boxes__box--video" target="_blank"> <figure> <img alt="RK 158 - twórca Not The Hidden Wiki, Michał Błaszczak" src="https://stefan.zaufanatrzeciastrona.pl/eef33f3f-3c56-4ed1-b29f-bd01164d149a.png"> </figure> <div> <h4>RK 158 - twórca Not The Hidden Wiki, Michał Błaszczak</h4> <div class="media-boxes__info"> <p> 15.12.2024 | YouTube </p> </div> </div> </a> </li><li> <a href="https://www.youtube.com/watch?v=RVk9TLK7wVQ" class="media-boxes__box media-boxes__box--video" target="_blank"> <figure> <img alt="RK 157 - ekspert cyberbezpieczeństwa, Michał Rosiak" src="https://stefan.zaufanatrzeciastrona.pl/7c4c27dc-2a5f-4ea9-9497-8cae3dd7f864.png"> </figure> <div> <h4>RK 157 - ekspert cyberbezpieczeństwa, Michał Rosiak</h4> <div class="media-boxes__info"> <p> 08.12.2024 | YouTube </p> </div> </div> </a> </li> </ul> </div> </div> </section>  <section class="weekend-read" style="--weekend-background-desktop: url(&quot;https://stefan.zaufanatrzeciastrona.pl/2cf6e37a-c7fc-4441-96e6-14e1d88dbdb4.png&quot;);--weekend-background-mobile: url(&quot;https://stefan.zaufanatrzeciastrona.pl/f34a9a4e-d3c1-431c-9b59-d3cb1b3fe3ca.png&quot;)"> <div class="centralize"> <a href="https://zaufanatrzeciastrona.pl/post/tag/weekendowa-lektura/" class="weekend-read__inner"> <h3>Weekendowa Lektura</h3> <p>Najciekawsze treści w zasięgu ręki!</p> </a> </div> </section> </main>   <footer class="footer" data-pagefind-ignore> <div class="centralize"> <div class="footer__inner"> <div class="footer__logo"> <a href="/"> <img src="https://stefan.zaufanatrzeciastrona.pl/5cf9035b-e091-4894-bed9-da1cd40749f0.svg" alt="Zaufana Trzecia Strona"> </a> </div> <div class="footer__copyright"> <p class="footer__info">© 2026 Zaufana Trzecia Strona</p> <ul id="menu-footer-polityka"> <li><a href="/polityka-prywatnosci">Polityka prywatności</a></li> </ul> </div> <div class="footer__channels glue-channels"> <span>Dołącz do nas:</span> <ul> <li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://www.facebook.com/ZaufanaTrzeciaStrona" title="Facebook"> <img src="https://stefan.zaufanatrzeciastrona.pl/5956e3aa-c705-475f-9182-cbe1e3b63552.svg" alt="Facebook" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://discord.gg/zaufana" title="Discord"> <img src="https://stefan.zaufanatrzeciastrona.pl/a25f29a6-a76e-43e9-9721-8bf735861470.svg" alt="Discord" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://twitter.com/zaufana3strona" title="Twitter"> <img src="https://stefan.zaufanatrzeciastrona.pl/039006cb-b6da-4b6d-bfab-bfeeddb98231.svg" alt="Twitter" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://infosec.exchange/@zaufanatrzeciastrona" title="Mastodon"> <img src="https://stefan.zaufanatrzeciastrona.pl/caf1f774-2d4f-445c-843f-ad63cbd64231.svg" alt="Mastodon" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="https://bsky.app/profile/zaufana3strona.bsky.social" title="Bluesky"> <img src="https://stefan.zaufanatrzeciastrona.pl/e0193a40-d9b2-4a66-b169-4df33e1324a2.svg" alt="Bluesky" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li><li class="glue-channel"> <a rel="nofollow" target="_blank" href="/kanaly-rss" title="RSS"> <img src="https://stefan.zaufanatrzeciastrona.pl/1ca47a23-f53e-4395-8722-e1ad6262bf72.svg" alt="RSS" style="width: 1.25em; height: 1.25em; object-fit: contain; vertical-align: middle;"> </a> </li> </ul> </div> </div> </div> </footer>  <script>(function(){const themeLabels = {"toggle":"Przełącz motyw","light":"Lightufana","dark":"Darkufana","auto":"auto"};

        window.onscroll = function () {
            const isPage = document.body.getAttribute('data-is-page') === 'true';
            if (isPage) {
                const winScroll = document.body.scrollTop || document.documentElement.scrollTop;
                const article = document.querySelector('article.article') || document.querySelector('.article');

                let scrolled;
                if (article) {
                    const rect = article.getBoundingClientRect();
                    const articleHeight = rect.height;
                    const articleTop = rect.top + winScroll;
                    const viewportHeight = window.innerHeight;
                    const start = articleTop;
                    const end = articleTop + articleHeight - viewportHeight;

                    const totalScrollable = end - start;
                    if (totalScrollable > 0) {
                        scrolled = ((winScroll - start) / totalScrollable) * 100;
                        scrolled = Math.min(Math.max(scrolled, 0), 100);
                    } else {
                        scrolled = winScroll > start ? 100 : 0;
                    }
                } else {
                    const height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
                    scrolled = height > 0 ? (winScroll / height) * 100 : 0;
                }

                const bar = document.getElementById("reading-progress");
                if (bar) {
                    bar.style.width = scrolled + "%";
                }

                const progressBar = document.getElementById("reading-progress-bar");
                if (progressBar) {
                    progressBar.style.width = scrolled + "%";
                }

                const headerEl = document.querySelector('.header');
                const headerThreshold = headerEl ? headerEl.offsetHeight : 350;

                const nav = document.getElementById("article-progress");
                if (nav) {
                    if (winScroll > headerThreshold) {
                        nav.classList.add("article-progress--open");
                    } else {
                        nav.classList.remove("article-progress--open");
                    }
                }
            }
        };

        window.onresize = function () {
            if (window.innerWidth > 760) {
                document.body.classList.remove('menu--open');
                document.body.classList.remove('search--open');
            }
        };

        document.addEventListener('DOMContentLoaded', function () {
            const toggleBtn = document.getElementById('theme-toggle');
            const toggleBtnMobile = document.getElementById('theme-toggle-mobile');

            function initNavWrapCheck() {
                const headerInner = document.querySelector('.header__inner');
                const navItems = document.querySelectorAll('.nav__main ul li');

                if (!headerInner || navItems.length === 0) return;

                let unwrapWidth = 0;

                function check() {
                    if (window.innerWidth <= 760) {
                        document.body.classList.remove('nav--force-mobile');
                        return;
                    }

                    const isForced = document.body.classList.contains('nav--force-mobile');

                    if (isForced) {
                        // If we are already forced mobile, and window is narrower than the width where we wrap, do nothing
                        if (unwrapWidth && window.innerWidth <= unwrapWidth) {
                            return;
                        }

                        // Otherwise, temporarily remove class to check if it now fits in desktop layout
                        document.body.classList.remove('nav--force-mobile');

                        let wrapped = false;
                        if (navItems.length > 1) {
                            if (navItems[navItems.length - 1].offsetTop > navItems[0].offsetTop) {
                                wrapped = true;
                            }
                        }

                        if (headerInner.scrollWidth > headerInner.clientWidth) {
                            wrapped = true;
                        }

                        if (wrapped) {
                            document.body.classList.add('nav--force-mobile');
                            unwrapWidth = Math.max(unwrapWidth, window.innerWidth);
                        }
                    } else {
                        // Currently desktop layout, check if it wrapped
                        let wrapped = false;
                        if (navItems.length > 1) {
                            if (navItems[navItems.length - 1].offsetTop > navItems[0].offsetTop) {
                                wrapped = true;
                            }
                        }

                        if (headerInner.scrollWidth > headerInner.clientWidth) {
                            wrapped = true;
                        }

                        if (wrapped) {
                            document.body.classList.add('nav--force-mobile');
                            unwrapWidth = window.innerWidth + 20; // 20px padding buffer
                        }
                    }
                }

                window.addEventListener('resize', check);
                check();
            }

            initNavWrapCheck();

            function getThemePreference() {
                return localStorage.getItem('theme') || 'auto';
            }

            function setThemePreference(pref) {
                localStorage.setItem('theme', pref);
                document.documentElement.setAttribute('data-theme-preference', pref);

                let resolvedTheme = pref;
                if (pref === 'auto') {
                    resolvedTheme = window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';
                }
                document.documentElement.setAttribute('data-color-scheme', resolvedTheme);

                const label = themeLabels[pref] || themeLabels.toggle;
                if (toggleBtn) {
                    toggleBtn.setAttribute('title', label);
                    toggleBtn.setAttribute('aria-label', label);
                }
                if (toggleBtnMobile) {
                    toggleBtnMobile.setAttribute('title', label);
                    toggleBtnMobile.setAttribute('aria-label', label);
                }
            }

            function handleToggle(e) {
                e.preventDefault();
                const currentPref = getThemePreference();
                let nextPref = 'light';
                if (currentPref === 'light') {
                    nextPref = 'dark';
                } else if (currentPref === 'dark') {
                    nextPref = 'auto';
                }
                setThemePreference(nextPref);
            }

            if (toggleBtn || toggleBtnMobile) {
                // Set initial titles based on preference
                setThemePreference(getThemePreference());
            }

            if (toggleBtn) {
                toggleBtn.addEventListener('click', handleToggle);
            }
            if (toggleBtnMobile) {
                toggleBtnMobile.addEventListener('click', handleToggle);
            }
            document.addEventListener('click', function (event) {
                const searchControl = event.target.closest('.header__search-toggle');
                if (searchControl) {
                    event.preventDefault();
                    if (searchControl.classList.contains('header__search-toggle--close')) {
                        document.body.classList.remove('search--open');
                        return;
                    }
                    document.body.classList.toggle('search--open');
                    if (document.body.classList.contains('search--open')) {
                        window.requestAnimationFrame(function () {
                            window.requestAnimationFrame(function () {
                                const input = document.getElementById('search');
                                if (input) {
                                    input.focus();
                                    input.select();
                                }
                            });
                        });
                    }
                    return;
                }

                const menuControl = event.target.closest('.nav__menu-toggle');
                if (menuControl) {
                    event.preventDefault();
                    document.body.classList.toggle('menu--open');
                }
            });

            const paginationLinks = document.querySelectorAll('.pagination a, .list-articles__more a');
            paginationLinks.forEach(function (link) {
                let targetUrl;
                try {
                    targetUrl = new URL(link.href, window.location.href);
                } catch (error) {
                    return;
                }

                if (targetUrl.origin !== window.location.origin) {
                    return;
                }

                if (targetUrl.hash && targetUrl.hash.length > 1) {
                    return;
                }

                targetUrl.hash = 'posts-list-start';
                link.href = targetUrl.toString();
            });
        });
    })();</script><script src="/js/forms.js?v=5"></script><script src="/js/lightbox.js"></script><script src="/js/embed-privacy.js"></script><script src="/js/prism.js"></script>  </body> </html>