Wróć do bazy wiedzy

Jak zbudowaliśmy Tempy.email z myślą o prywatności

Większość usług e-mail przechowuje Twoje wiadomości w bazach danych, indeksuje je do wyszukiwania, tworzy kopie zapasowe i przechowuje bezterminowo.

My robimy odwrotnie: Wszystko istnieje w pamięci. Gdy Twój timer wygaśnie, dane znikają.

Problem prywatności w tradycyjnym e-mailu

Gdy używasz Gmail, Outlook lub dowolnej tradycyjnej usługi e-mail:

  1. E-maile zapisywane na dysku → Mogą być objęte nakazem sądowym, wyciekiem lub sprzedażą
  2. Indeksowane do wyszukiwania → Tworzą metadane o Twojej komunikacji
  3. Kopie zapasowe → Istnieje wiele kopii, zwiększając narażenie
  4. Przechowywane bezterminowo → Twoje 10-letnie e-maile nadal istnieją
  5. Skanowane pod kątem reklam → Treść analizowana do targetowania reklam
  6. Logi przechowywane → Adresy IP, znaczniki czasu, wzorce dostępu śledzone

Nigdy tak naprawdę niczego nie usuwasz.

Nawet jeśli klikniesz "usuń", dane mogą istnieć w:

  • Taśmach z kopiami zapasowymi
  • Indeksach wyszukiwania
  • Logach serwera
  • Archiwach zgodności
  • Systemach przechowywania prawnego

Nasze podejście: Architektura oparta wyłącznie na pamięci

tempy.email zbudowane jest na jednej zasadzie: Jeśli nie ma tego w RAM, to nie istnieje.

Tradycyjny e-mail:
Użytkownik → Serwer WWW → Baza danych → Dysk → Kopie zapasowe → Archiwa
(Dane żyją wiecznie)

tempy.email:
Użytkownik → Serwer WWW → Redis (tylko RAM) → Wygasa → Znika
(Dane żyją 10 minut)

Brak trwałego przechowywania

Czego NIE mamy:

  • ❌ Brak PostgreSQL, MySQL ani żadnej dyskowej bazy danych
  • ❌ Brak przechowywania plików (S3, dysk, NAS)
  • ❌ Brak kopii zapasowych
  • ❌ Brak archiwów
  • ❌ Brak logów treści e-maili
  • ❌ Brak "miękkiego usuwania" (oznaczanie jako usunięte przy zachowaniu danych)

Co MAMY:

  • ✅ Redis (przechowywanie klucz-wartość w pamięci)
  • ✅ TTL (Time-To-Live) na każdym kluczu
  • ✅ Automatyczne wygasanie

Jak działa przechowywanie e-maili

Gdy e-mail przychodzi:

// Przechowywanie e-maila w Redis z TTL
await redis.set(
  `mailbox:${address}:emails`,
  JSON.stringify(email),
  'EX', 600  // Wygasa po 600 sekundach (10 min)
);

Po 10 minutach:

  • Redis automatycznie usuwa klucz
  • Pamięć zostaje zwolniona
  • Dane całkowicie znikają (nie oznaczone jako usunięte, naprawdę znikają)

Nie ma procesu "odzyskiwania", ponieważ nie ma z czego odzyskiwać.

A co z logami serwera?

Minimalizujemy logowanie:

Tradycyjne logi serwera:

2026-02-12 10:15:23 User [email protected] logged in from 203.0.113.5
2026-02-12 10:15:45 [email protected] opened email "Password Reset"
2026-02-12 10:16:12 [email protected] deleted 3 emails

Logi tempy.email:

2026-02-12 10:15:23 Mailbox created (no email address logged)
2026-02-12 10:15:45 Email received (no content logged)
2026-02-12 10:25:23 Mailbox expired

Logujemy zdarzenia, a nie dane identyfikujące.

Funkcje prywatności

1. Brak kont użytkowników

Nie możesz założyć konta, nawet gdybyś chciał:

  • Brak formularza rejestracji
  • Brak haseł
  • Brak strony "Moje konto"
  • Brak bazy danych użytkowników

Dlaczego: Konta tworzą tożsamość. Nie chcemy wiedzieć, kim jesteś.

2. Brak śledzenia i analityki

Wiele "usług stawiających prywatność na pierwszym miejscu" nadal używa:

  • Google Analytics
  • Facebook Pixel
  • Mixpanel
  • Hotjar

My używamy: Żadnego z powyższych.

Śledzimy jedynie:

  • Łączną liczbę utworzonych skrzynek (licznik)
  • Łączną liczbę przetworzonych e-maili (licznik)

Nie śledzimy:

  • Kto je utworzył
  • Kiedy zostały utworzone
  • Z jakiego IP przyszły
  • Jakiej przeglądarki użyto

3. Brak skanowania treści e-maili

Nigdy nie analizujemy treści e-maili pod kątem:

  • Reklam
  • Trenowania uczenia maszynowego
  • Wykrywania wzorców
  • Klasyfikacji treści

E-maile przechodzą przez nasz system nieczytane przez ludzi ani algorytmy.

4. Brak logowania IP

Nie logujemy:

  • Twojego adresu IP
  • Twojej geolokalizacji
  • Twojego ISP
  • Odcisku palca urządzenia

Dlaczego: Nawet "zanonimizowane" logi IP mogą być często odanonimizowane przez ataki korelacyjne.

5. Brak usług firm trzecich

Nie używamy:

  • CDN-ów ze śledzeniem (tylko Cloudflare w trybie prywatności)
  • Platform analitycznych
  • Sieci reklamowych
  • Widgetów mediów społecznościowych
  • Czcionek firm trzecich (Google Fonts serwowane lokalnie)

Dlaczego: Każda usługa firmy trzeciej to potencjalny wyciek danych.

Implementacja techniczna

Konfiguracja Redis

// Wszystkie klucze mają domyślnie TTL
const DEFAULT_TTL = 600; // 10 minut

// Klucz skrzynki
await redis.setex(
  `mailbox:${address}`,
  DEFAULT_TTL,
  JSON.stringify({ created: Date.now() })
);

// Klucz e-maila
await redis.rpush(`mailbox:${address}:emails`, emailJson);
await redis.expire(`mailbox:${address}:emails`, DEFAULT_TTL);

Automatyczne czyszczenie

Redis obsługuje wygasanie automatycznie:

T+0: E-mail przychodzi → Przechowywany w Redis
T+600s: TTL wygasa → Redis usuwa klucz → Pamięć zwolniona

Brak zadań cron. Brak ręcznego czyszczenia. Brak "miękkiego usuwania".

Sanityzacja e-maili

Przed przechowywaniem e-maili oczyszczamy HTML, aby zapobiec:

  • Atakom XSS
  • Pikselom śledzącym
  • Złośliwym skryptom
  • Wyciekom prywatności
var sanitizer = new HtmlSanitizer();
sanitizer.AllowedTags = ["p", "a", "b", "i", "ul", "ol", "li"];
// Brak <img>, brak <script>, brak śledzenia
var cleanHtml = sanitizer.Sanitize(rawHtml);

Do czego nie mamy dostępu

Nawet gdybyśmy chcieli (nie chcemy), fizycznie nie możemy:

  1. Odzyskać usuniętych e-maili → Kopie zapasowe nie istnieją
  2. Zobaczyć historycznych danych → TTL usuwa wszystko
  3. Śledzić zachowania użytkowników → Brak logów do analizy
  4. Identyfikować użytkowników → Brak kont, brak logowanych IP
  5. Spełniać żądań danych → Brak danych do przekazania

To nie jest decyzja polityczna. To jest architektura.

Kompromisy, które akceptujemy

Projektowanie z myślą o prywatności oznacza akceptację ograniczeń:

NIE możemy oferować:

  • ❌ Wyszukiwania e-maili (brak indeksowania)
  • ❌ Długoterminowego przechowywania (domyślnie 10 min)
  • ❌ Odzyskiwania e-maili (po wygaśnięciu znikają)
  • ❌ Kont użytkowników (nie można "zapisać" skrzynek)
  • ❌ Przekierowania e-maili do prawdziwej skrzynki

Możemy oferować:

  • ✅ Pełną prywatność
  • ✅ Zero śledzenia
  • ✅ Natychmiastowe usuwanie
  • ✅ Brak ryzyka wycieku danych (nie ma danych do wycieku)
  • ✅ Spokój ducha

Porównanie z "prywatnym" e-mailem

Funkcja ProtonMail Tutanota tempy.email
Szyfrowanie ✅ E2E ✅ E2E ⚠️ Tylko w tranzycie
Trwałe przechowywanie ✅ Tak ✅ Tak ❌ Nie (10 min TTL)
Konta użytkowników ✅ Tak ✅ Tak ❌ Brak kont
Ryzyko nakazu sądowego ⚠️ Zaszyfrowane dane istnieją ⚠️ Zaszyfrowane dane istnieją ✅ Brak danych do zajęcia
Logowanie IP ⚠️ Opcjonalne ⚠️ Opcjonalne ❌ Nigdy
Zastosowanie Trwały prywatny e-mail Trwały prywatny e-mail Jednorazowy/testowy

ProtonMail i Tutanota są doskonałe do trwałego prywatnego e-maila.

tempy.email jest do jednorazowego użytku, gdy chcesz, aby dane w ogóle nie istniały.

Podsumowanie

Większość usług mówi: "Nie będziemy patrzeć na Twoje dane" My mówimy: "Nie możemy patrzeć na Twoje dane (nie istnieją wystarczająco długo)"

Większość usług mówi: "Usuniemy je, jeśli poprosisz" My mówimy: "Automatycznie się usuwają po 10 minutach, niezależnie czy poprosisz"

Większość usług mówi: "Stawiamy prywatność na pierwszym miejscu" My mówimy: "Prywatność jest naszą architekturą"

To prywatność przez projektowanie, nie prywatność przez politykę.

Wypróbuj: Wygeneruj tymczasowy adres i przekonaj się sam. Za 10 minut ten e-mail zniknie na zawsze. Nie "zarchiwizowany". Nie "usunięty". Zniknięty.

Zaktualizowano lutego 12, 2026