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.