# Dlaczego password.es nigdzie nie wysyła twojego hasła

> Strona, która prosi cię o hasło, żeby je sprawdzić, ma problem z zaufaniem, którego żadna obietnica nie rozwiąże. Nasza odpowiedź to nie obietnica: to niepotrzebowanie tych danych — i możliwość sprawdzenia tego samemu w trzydzieści sekund.

2026-07-15 · David Carrero · password.es
Original: https://password.es/pl/blog/dlaczego-nie-wysylamy-twojego-hasla/

---

Napisanie na stronie „nie zapisujemy twojego hasła” kosztuje dokładnie tyle samo,
co napisanie czegokolwiek innego: nic. **To zdanie, nie gwarancja.** Tak samo
napisze je ten, kto mówi prawdę, jak ten, kto nie — a z twojej strony ekranu
wyglądają identycznie.

To właśnie jest sedno problemu każdej strony, która prosi o hasło, żeby je
„przeanalizować”. Nawet jeśli usługa jest nienaganna — czysty kod, dobre
intencje, uczciwi ludzie — ty nie masz jak się o tym przekonać. Serwer to
zamknięte pudełko. Wysyłasz mu najwrażliwszą rzecz, jaką masz, i ufasz, że po
drugiej stronie dzieje się to, co ci obiecano.

I jest jeszcze szczegół, który zwykle umyka: **obietnica niezapisywania nie
chroni też przed tym, co nie zależy od obiecującego.** Uczciwy serwer może mieć
logi, których nikt nie przejrzał, pośredniczące proxy, automatyczną kopię
zapasową, nowego pracownika albo po prostu gorszy dzień. Hasło już wyszło z
twojego komputera. To, co stanie się dalej, jest poza twoim zasięgiem — a często
i poza ich.

## Jedyna odpowiedź, która nie wymaga wiary w nic

Rozwiązaniem nie jest lepsze obiecywanie. Jest nim **niepotrzebowanie tych
danych**.

Jeśli twoje hasło nigdy nie opuszcza przeglądarki, pytanie „co oni z nim robią?”
przestaje mieć sens. Nie ma żadnych „onych”. Nie ma serwera, który je odbiera,
ani logów, w których się pojawia, ani kopii zapasowej, która je zawiera, ani
pracownika, który mógłby je przeczytać. Zaufaniem nie zarządza się lepiej: usuwa
się je z równania.

Właśnie to robi [password.es](/pl/). [Sprawdzanie](/pl/sprawdzanie/) analizuje
to, co wpisujesz, w twojej własnej przeglądarce, na twoim własnym procesorze.
Tekst, który wystukujesz na klawiaturze, nigdzie nie podróżuje, bo nie ma dokąd.

## Skąd bierze się losowość

[Generator](/pl/) działa na tej samej zasadzie. Żeby zrobić losowe hasło,
potrzeba losowości, a zdobyć ją można na dwa sposoby: poprosić o nią serwer albo
poprosić przeglądarkę. **Proszenie serwera byłoby absurdem: serwer znałby hasło
wcześniej niż ty.**

Więc prosimy przeglądarkę, przez `crypto.getRandomValues()`. To standardowe API
platformy webowej do losowości kryptograficznej — to, które istnieje dokładnie po
to, w odróżnieniu od `Math.random()`, które nadaje się do tasowania kart w grze,
a nie do czegokolwiek, co ma się oprzeć komuś zainteresowanemu. Losowość
produkuje sama przeglądarka, na twoim sprzęcie. My w tym nie uczestniczymy:
wynik pojawia się na twoim ekranie i tam zostaje.

## Jak to sprawdzić, nie wierząc mi na słowo

Wszystko powyższe jest na razie akapitem napisanym przez tych samych ludzi,
którzy zrobili tę stronę. Czyli: dokładnie tym, wobec czego kazałem ci być
nieufnym. Więc mi nie wierz. **Zobacz.**

Otwórz narzędzia deweloperskie przeglądarki — `F12` albo `Cmd+Option+I` na Macu
— przejdź na zakładkę *Sieć* (*Network*), zostaw ją otwartą i wejdź do
sprawdzania. Zobaczysz, jak ładuje się strona. Teraz wyczyść listę, kliknij w
pole hasła i pisz.

Oto co zobaczysz — i tu wypada być precyzyjnym, a nie sprzedawcą:

- **Po kliknięciu w pole leci jedno żądanie.** To nie twoje hasło — jeszcze nic
  nie wpisałeś — tylko biblioteka, która wykonuje analizę: plik (w wersji
  hiszpańskiej nazywa się `zxcvbn-es-es.min.js`) niosący w środku listy słów,
  imion, wzorców klawiaturowych i znanych haseł, z którymi porównywany jest
  wpis. Pobiera się z password.es w chwili, gdy dotkniesz pola, żeby zdążył
  dojechać, zanim skończysz pisać. Wychodzi z tej samej domeny, jest plikiem
  statycznym i jest taki sam dla każdego, kto otworzy tę stronę — serwis ma po
  jednej wersji na język i każda strona ładuje swoją.
- **Od tego momentu, cokolwiek napiszesz, lista stoi w miejscu.** Jedna litera,
  dwadzieścia, skasuj, zacznij od nowa, wklej długi tekst. Zero żądań. Licznik
  się nie rusza. Słownik jest już w twojej przeglądarce, a wyszukiwanie odbywa
  się w pamięci twojego komputera.

Cała różnica leży w tym rozróżnieniu. **Nie chodzi o to, żebyś ufał, że żądanie
nie niesie twojego hasła: chodzi o to, że żądania nie ma.** Nie trzeba niczego
interpretować ani rozumieć kodu; wystarczy patrzeć na licznik, który nie rośnie.

## Pełny inwentarz, razem z wadami

Skoro argumentem jest „sprawdź sam”, dziwnie byłoby ukrywać to, co przy
sprawdzaniu byś znalazł. Uczciwy inwentarz password.es:

**Nie ma analityki.** Ani Google Analytics, ani dyskretnej alternatywy, ani
piksela. Był jeden i został usunięty ze wszystkich stron. **Nie ma ciasteczek.**
Serwis nie zapisuje żadnego. Jedna rzecz jest jednak zapisana w twojej
przeglądarce: to, czy wolisz motyw jasny czy ciemny — w pamięci lokalnej twojego
własnego urządzenia. Nigdy nigdzie nie jest wysyłana i możesz ją skasować z tego
samego inspektora. **Nie ma rejestracji, kont ani formularzy**: nie ma gdzie
zostawić danych, nawet gdybyś chciał.

I wada, bo jest: **strona przy ładowaniu prosi serwery Google o dwa kroje
pisma.** To znaczy, że Google widzi, iż ktoś z twoim IP załadował stronę z tej
domeny — jak na przeogromnej liczbie innych serwisów. Nie widzi tego, co piszesz
— tamto żądanie dzieje się wcześniej i już się nie powtarza — ale jest to żądanie
do strony trzeciej, zobaczysz je w tej samej zakładce *Sieć* i nie miałoby
żadnego sensu mówić ci, żebyś otworzył inspektora, a jednocześnie o tym nie
wspomnieć. Jest na liście rzeczy do naprawienia.

## Dlaczego o tym mówimy

Moglibyśmy napisać „zero żądań, pełna prywatność” i spać spokojnie. Brzmiałoby
lepiej i byłoby fałszywe w szczegółach: jest jedno żądanie po słownik i są kroje
pisma. **Argument, który sypie się, gdy ktoś go sprawdzi, nie był argumentem:
był reklamą.**

Wersja precyzyjna jest mniej okrągła i wytrzymuje kontrolę: to, co piszesz, nie
wychodzi z twojej przeglądarki, i widać to w trzydzieści sekund narzędziem,
które już masz zainstalowane.

I uwaga, bo to wraca do ciebie jako reguła ogólna. **Następnym razem, gdy jakaś
strona poprosi cię o hasło, obojętnie po co, otwórz tę zakładkę i zobacz, czy po
naciśnięciu klawisza pojawia się żądanie.** Jeśli się pojawia, twoje hasło
pojechało. Nieważne, co mówi informacja o prywatności, jak ładna jest kłódeczka
przy formularzu ani jak poważnie wygląda firma. A jeśli strona pokazuje ci już
przeanalizowane hasło po obrocie kółeczka, to już wiesz, którędy ono przeszło.

Zasada, o której w bezpieczeństwie mówi się najmniej, nie dotyczy haseł: dotyczy
weryfikacji. Ufać jest dobrze. **Sprawdzić jest lepiej, a tutaj to nic nie
kosztuje.**

---

*Źródła: architektura samego password.es, weryfikowalna inspektorem dowolnej
przeglądarki — sprawdzanie pobiera z własnej domeny, przy zaznaczeniu pola,
bibliotekę analizy wraz z jej listami (`zxcvbn-es-es.min.js`) i nie wysyła
żadnego żądania w trakcie pisania ·
`crypto.getRandomValues()`, standardowe API z Web Crypto API do losowości
kryptograficznej · kod serwisu nie zawiera analityki, pikseli ani ciasteczek;
jedyną daną przechowywaną lokalnie jest preferencja motywu · kroje pisma są
serwowane z Google Fonts.*
