Silva Rerum

Prywatność

Twoje wpisy widzisz tylko Ty.

Silva Rerum działa w modelu zerowej wiedzy. Wszystko szyfrujemy na Twoim urządzeniu, zanim cokolwiek opuści przeglądarkę. Nie mamy technicznej możliwości przeczytania Twoich wpisów. Gdyby ktoś włamał się na nasz serwer i wykradł całą bazę, zobaczy tylko losowy ciąg znaków.

Jak to chroni Twój dziennik

  • Każdy wpis to osobny sejf. Masz 500 notatek i zadań? To 500 niezależnych zamków. Otwarcie jednego nie zdradza pozostałych.
  • Wyszukiwarka, która nic nie wie. Indeks ma własny klucz, więc szybko przeszukujesz swoje wpisy, a serwer nie wie, jakich słów szukasz.
  • Ukryte metadane. Nikt z zewnątrz nie pozna nawet rodzaju wpisu, godziny jego utworzenia ani rozmiaru.
  • Bez zacinania. Szyfrowanie działa w przeglądarce płynnie, także na telefonie, i nie spowalnia pisania.

Kryptografia klasy wojskowej

  • Twoje dane chroni kryptografia klasy wojskowej. Działa to jak sejf: klucz do drzwi powstaje z Twojego hasła, a każda skrytka w środku ma własny zamek.
  • Ochroniarz hasła (Argon2id). Zamiana hasła na klucz jest celowo ciężka dla komputera, więc ktoś, kto próbuje zgadywać hasło, nawet bardzo mocnym sprzętem, zostaje drastycznie spowolniony.
  • Fabryka kluczy (HKDF). Z jednego klucza głównego powstają osobne klucze do treści, wyszukiwarki i metadanych.
  • Kłódka z plombą (XChaCha20-Poly1305). Szyfruje dane i jednocześnie je pieczętuje, więc wiesz, że nikt przy nich nie majstrował.
  • Bezpieczny kurier (X25519). Pozwala Twoim urządzeniom bezpiecznie uzgodnić wspólny klucz, nawet jeśli ktoś podsłuchuje.
  • Jak to działa: wpisujesz hasło, ochroniarz robi z niego klucz-matkę, a klucz-matka otwiera losowy klucz główny. Z niego fabryka robi osobne klucze, a każdy pojedynczy zapis dostaje dodatkowo własny, losowy klucz.

Tylko Ty masz klucz

Nie przechowujemy Twojego hasła. Jeśli zgubisz hasło i wszystkie 3 kody odzyskiwania, danych nie da się odzyskać, także nam. Kody zapisz na papierze i trzymaj w bezpiecznym miejscu.

Dla technicznych

  • Pakiet SR-SUITE-1: Argon2id (RFC 9106; t = 3, p = 4, m = 64 MiB), HKDF-SHA-256, XChaCha20-Poly1305, X25519. Biblioteki: libsodium (WASM) i @noble/hashes; testy z wektorami RFC/NIST.
  • Klucze: hasło → Argon2id → klucz owijający → losowy klucz główny dziennika (256 b) → HKDF → osobne klucze treści, indeksu i metadanych; każdy obiekt ma własny losowy klucz.
  • Gdzie żyje klucz: domyślnie tylko w pamięci karty przeglądarki, więc hasło podajesz przy każdym otwarciu. Opcja „pamiętaj na tym urządzeniu” (domyślnie wyłączona) trzyma nieeksportowalny klucz AES-GCM w IndexedDB.
  • Co widzi serwer (od uruchomienia chmury) [wkrótce]: identyfikatory konta i dziennika, czasy zapisu, nieprzezroczyste id i wersje obiektów, sumy SHA-256, rozmiary dopełnione do kubełków, zaszyfrowane owinięcia klucza. Nie widzi treści ani haseł. Baza: PostgreSQL z RLS (odmowa domyślna, tylko własne dane), zapis tylko przez dopisywanie.
  • Utrata klucza: odzyskanie działa hasłem albo jednym z kodów (kod znika po użyciu). Bez nich danych nie odtworzymy. Kolejne drogi (podział klucza k z n, parowanie urządzeń, sukcesja) [wkrótce].
  • Eksport: JSON (import 1:1) i tekst, zawsze dostępne.
  • Czego nie obiecujemy: wersja w przeglądarce chroni przed tym, kto przechowuje dane, i przed dostępem do dysku, ale nie przed podmianą kodu przez tego, kto go serwuje. Integralność kodu (SRI, własny hosting) [wkrótce]. Odblokowany profil przeglądarki z włączonym „pamiętaj” otwiera dziennik.