Základný princíp
Solo2 vytvára súkromný tunel medzi dvoma ľuďmi. Priamy. Bez prostredníkov.
Náš server robí jedinú vec: predstaví oba konce tunela, aby sa našli. Na to potrebuje absolútne minimum — identifikátory oboch párov — ktoré drží v RAM pamäti počas milisekúnd, kým trvá predstavenie. V okamihu, keď sa obe zariadenia našli, tieto dáta sa z pamäte vymažú. Nikdy, v žiadnom okamihu, nie sú zapísané na disk.
Keď ste pripojení, server zmizne. Nezúčastňuje sa konverzácie. Nevidí ju. Neukladá ju. Nevie, ako dlho trvá, ako často sa rozprávate, ani o čom sa rozprávate.
Nežiadame vás, aby ste nám verili. Žiadame vás, aby ste si to overili:
Test 1 — Server je zbytočný.
Keď je priamy tunel nadviazaný, náš server sa už nezúčastňuje. Keby v tej chvíli spadol, vaša konverzácia by pokračovala bez prerušenia. Pokiaľ sú vaše zariadenia zapnuté a pripojené k internetu, tunel je váš. My tam už nie sme.
Test 2 — Pošlite súbor o veľkosti 10 gigabajtov.
Nebude to len rýchle — nášmu serveru je to úplne jedno. Skúste 24 hodín v kuse posielať súbory o veľkosti 10 gigabajtov alebo viac. Náš server si to ani nevšimne, pretože nezasahuje. Skúste to s akoukoľvek inou komunikačnou službou.
Test 3 — Rozprávajte sa o ďalekohľadoch.
Strávte popoludnie rozhovorom s niekým o ďalekohľadoch, rybárskych prútoch, alebo o čomkoľvek, čo ste nikdy nehľadali na internete. Počkajte pár dní. Reklamy na ďalekohľady sa nikde neobjavia. Vaše slová neopustili váš tunel.
Vaše dáta, vaša zodpovednosť.
Toto je naša najväčšia prednosť a, úprimne povedané, to, na čo si najťažšie zvyknete. Vaše správy, súbory a kontakty žijú v šifrovanom trezore vo vašom zariadení. Na žiadnom serveri nie je kópia. Sú chránené 24 slovami — rovnaká úroveň bezpečnosti ako Bitcoin. Ale sú na jednom mieste, pokiaľ si nenainštalujete Solo2 na druhé zariadenie — oba trezory sa automaticky zosynchronizujú, keď budú pripojené súčasne. Môžete tiež exportovať šifrovanú zálohu. Žiadny cloud vás nezachráni, ak stratíte jediné zariadenie. Vaše dáta sú vaše, so všetkými dôsledkami.
Podrobne
Server Solo2 je úplne slepý. Nevie, s kým sa rozprávaš, čo hovoríš, ani aké súbory zdieľaš. Ani technické signály, ktoré nadväzujú spojenie medzi zariadeniami, nie sú pre server čitateľné — cestujú šifrované end-to-end.
Tvoje správy cestujú priamo medzi zariadeniami, šifrované od konca ku koncu. Tvoja história konverzácií žije zašifrovaná v tvojom prehliadači, nikdy na našom serveri.
Šifrovacie kľúče sa automaticky rotujú s každou správou. Každá správa je zašifrovaná jedinečným kľúčom, ktorý je ihneď po použití zahodený. Technicky sa tomu hovorí Double Ratchet a znamená to, že aj keby niekto získal kľúč, mohol by prečítať iba jednu správu — nie celú konverzáciu. Navyše sa bezpečnosť automaticky obnovuje po každom kole komunikácie: kompromitovaný kľúč sa stáva zbytočným, len čo sa vymení ďalšia správa.
Keď priame spojenie medzi zariadeniami nie je možné (napríklad kvôli sieťovým obmedzeniam), používa sa zrkadlový server (technicky nazývaný TURN): dáta sa odrážajú z jedného zariadenia na druhé, ale zrkadlo si neuvedomuje, čo odráža — všetko cestuje šifrované od konca ku koncu a server to nemôže prečítať. Navyše sú všetky pakety doplnené na jednotnú veľkosť, aby pozorovateľ nemohol odvodiť informácie analýzou veľkosti alebo frekvencie prevádzky.
V aplikácii vždy vidíš, aký typ pripojenia používaš — priame alebo cez zrkadlový server — a podľa toho konať.
Tvoj hlavný kľúč sa generuje náhodne s 256 bitmi skutočnej entropie — rovnaká úroveň ako Bitcoin. Pri vytváraní účtu Solo2 vygeneruje jedinečný kľúč, ktorý sa zobrazuje ako 24 slov. Tvoje heslo chráni prístup k službe. Tvojich 24 slov je kľúčom k tvojim dátam. Sú to dva rôzne kľúče k dvom rôznym dverám.
Aj keby náš server zmizol, tvoje dáta prežijú. So svojimi 24 slovami môžeš pristupovať k lokálnemu trezoru bez pripojenia k serveru. Tvoje dáta sú tvoje — naozaj.
1. Údaje, ktoré na serveri MÁME
1.1 Tvoj používateľský účet
Toto sú všetky polia, ktoré v tvojom zázname existujú. Žiadne ďalšie nie sú.
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Používateľské meno | Aby si sa mohol prihlásiť | Prostý text (je verejné zámerne) | Kým nezmažeš svoj účet |
| Heslo | Overenie identity | Chránené algoritmom Argon2id (odporúčaným OWASP, odolným voči útokom so špecializovaným hardvérom). Nikdy neukladáme tvoje skutočné heslo | Kým nezmažeš svoj účet |
| Verejné meno | Aby ťa tvoje kontakty spoznali | Prostý text (vyberáš si sám) | Kým ho nezmeníš alebo nezmažeš účet |
| Kód prepojenia | Tvoja adresa v Solo2 — ako telefónne číslo. Je to to, čo zdieľaš s niekým, aby ťa našiel a poslal žiadosť o prepojenie | Prostý text, unikátny (~10 znakov) | Kým nezmažeš svoj účet |
| Finančný zostatok | Peniaze, ktoré si pridal na účet | Číslo (v centoch) | Kým nezmažeš svoj účet |
| Bonusový zostatok | Prijaté bonusy (akcie). Spotrebovávajú sa pred peňažným zostatkom | Číslo (v centoch) | Kým nezmažeš svoj účet |
| Typ účtu | Tvoj aktuálny plán (skúšobný, štandardný, zlatý, platinový) | 1 bajt (celé číslo: 0=skúšobný, 1=štandardný, 2=zlatý, 3=platinový, 4=pozastavený, 5=suspendovaný) | Kým sa nezmení alebo nezmažeš účet |
| Dátum a čas registrácie | Kedy si si vytvoril účet | Úplný dátum a čas (timestamp) | Trvalo |
| Interné identifikátory | Systém potrebuje dva interné kódy, aby sa na vás mohol odkazovať bez použitia vášho používateľského mena. Jeden je váš hlavný ID a druhý referenčný kód. Oba sú nepriehľadné — nemajú žiadny význam mimo systém | Dva náhodné kódy po 24 znakov (napr.: u_7kX9mP2...). Neobsahujú vaše meno, dátum ani osobné údaje — sú čisto náhodné | Kým nezmažeš svoj účet |
| Verzia zabezpečenia | Aká verzia algoritmu ochrany hesla bola použitá | Interné číslo | Kým nezmažeš svoj účet |
| Stavové príznaky | Technické príznaky (či sa tvoj zostatok zmenil, či máš aktívny režim maximálneho zabezpečenia) | 1 bajt — ekvivalent jedného písmena. Nič viac sa tam nezmestí | Kým nezmažeš svoj účet |
Pre predstavu o objeme: tvoj úplný záznam zaberá asi 400 bajtov — menej ako tento odsek. Sú to tvoje mená (vymyslené, ak chceš), odtlačok tvojho hesla (pevná veľkosť, 60 bajtov), tvoj zašifrovaný hlavný kľúč (neprehľadný blok asi 128 bajtov, ktorý nemôžeme prečítať), dve čísla pre tvoj zostatok, nejaké dátumy a jeden konfiguračný bajt. To je všetko, čím existuješ na našom serveri.
1.2 Aktívne relácie
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Hash tokenu relácie | Udržiavanie aktívneho prihlásenia | Nevratná odtlačok (SHA-256). Pôvodný token sa na serveri nikdy neukladá | 24 hodín — potom sa úplne vymaže |
| Dátum vytvorenia | Aby systém vedel, kedy bola vytvorená — užitočné pre automatické čistenie | Číselná časová pečiatka (unix sekundy) | Vymaže sa spolu s reláciou |
| Dátum expirácie | Relácia vyprší 24 hodín po vytvorení. Neobnovuje sa používaním — má pevný dátum expirácie | Číselná časová pečiatka (vytvorenie + 24 hodín) | 24 hodín — potom sa úplne vymaže |
Pri odhlásení alebo vypršaní sa riadok úplne vymaže z databázy. Nezostane žiadna stopa, že relácia existovala.
1.3 Žiadosti o prepojenie
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| ID žiadateľa | Aby sme vedeli, kto žiadosť poslal | Interný kód z 24 náhodných znakov | 3 dni — potom sa automaticky vymaže |
| ID príjemcu | Aby sme vedeli, komu je určená | Interný kód z 24 náhodných znakov | 3 dni — potom sa automaticky vymaže |
| Stav | Čakajúca / prijatá / zamietnutá | 1 bajt (celé číslo: 0=čakajúce, 1=prijaté, 2=zamietnuté) | Vymaže sa pri vyriešení alebo vypršaní (3 dni) |
| Dátum vytvorenia | Vedieť, kedy bola žiadosť vytvorená, aby ju bolo možné automaticky vymazať | Číselná časová pečiatka (unix sekundy) — 4 až 8 bajtov | 3 dni — potom sa automaticky vymaže |
Dôležitá poznámka: Kým je žiadosť čakajúca (maximálne 3 dni), server vie, že používateľ A požiadal o prepojenie s používateľom B. Po 3 dňoch sa žiadosť automaticky zmaže. Po prijatí prepojenia server neukladá tento vzťah. Tvoj zoznam kontaktov existuje iba v tvojom prehliadači, zašifrovaný.
1.4 Spojovací kód
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Spojovací kód (alias) | Krátky identifikátor, aby vás iný používateľ našiel a požiadal o vytvorenie tunela | Náhodný 8-znakový kód odvodený z vášho interného ID | Trvalý (je to váš verejný identifikátor spojenia) |
1.5 Push odbery (notifikácie)
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Adresa notifikácií | Odosielanie notifikácií do tvojho prehliadača | URL poskytovateľa prehliadača (Google, Mozilla alebo Apple) | Kým nevypneš notifikácie alebo nezmažeš účet |
| Šifrovacie kľúče push | Zašifrovanie notifikácie, aby ju mohol prečítať iba tvoj prehliadač | Štandard Web Push | Rovnako ako adresa |
1.6 Spätná väzba (podpora)
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Tvoja správa | Aby sme ti mohli pomôcť | Prostý text | Kým ju nespracujeme |
| Tvoje ID používateľa | Aby sme vedeli, kto potrebuje pomoc | Interné ID | Rovnako ako správa |
1.7 Signalizácia pripojenia (efemérna)
Aby sa dve zariadenia mohli priamo spojiť, musia si vymeniť technické signály na nadviazanie spojenia (protokol WebRTC). Jediný moment, kedy náš server drží v pamäti tvoj kód používateľa a kód tvojho kontaktu, je počas milisekúnd, kým spracováva túto žiadosť o spojenie. Trvá to okamih, je to len v RAM pamäti a nikdy sa to nezapisuje na disk. Samotné signály sú šifrované od konca ku koncu
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Signály pripojenia | Nadviazanie priameho spojenia medzi zariadeniami | Šifrované od konca ku koncu verejným kľúčom príjemcu. Server ich nemôže prečítať ani upraviť | 60 sekúnd |
1.8 Zrkadlový server (relé TURN)
Ak priame spojenie nie je možné, používa sa zrkadlový server: dáta ním prechádzajú ako svetlo zrkadlom — odrážajú sa z jednej strany na druhú, ale zrkadlo si neuvedomuje, čo odráža. Všetky pakety sa dopĺňajú na jednotnú veľkosť, aby pozorovateľ nemohol rozlíšiť správu od jednoduchého pulzu spojenia.
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Prístupové oprávnenie | Overenie na zrkadlovom serveri | Tvoja identita sa transformuje na nevratný odtlačok — zrkadlový server nevie, kto si | 24 hodín |
1.9 Spracované platby
Platby sú jediným bodom, kde existuje skutočné trenie s anonymitou. Buďme v tejto veci úprimní.
Pri registrácii v Solo2 si zvolíš používateľské meno (môže byť vymyslené), heslo a verejné meno (tiež vymyslené, ak chceš). Žiadny údaj ťa neviaže k skutočnej osobe. Ale ak vykonáš platbu kartou, tvoja finančná inštitúcia vie, kto si.
To, čo od platobnej brány dostaneme, je výlučne potvrdenie a suma. Nedostaneme ani neukladáme meno držiteľa, číslo karty, číslo dokladu totožnosti ani žiadne osobné údaje platcu. Sú to malé sumy — právne ekvivalentné hotovostnému bločku, ako nákup lízanky v stánku: stánkový predavač neregistruje doklad totožnosti kupujúceho.
Navyše je záznam o platbe zámerne odpojený
| Údaj | Prečo | Ochrana | Doba uchovávania |
|---|---|---|---|
| Záznam o platbe | Účtovníctvo a daňové povinnosti | Potvrdenie + suma. Bez osobných údajov platcu. Bez väzby na akýkoľvek používateľský účet | Trvalo (zákonná povinnosť) |
O najhoršom možnom scenári:
Všetky naše príjmy sú legálne a vchádzajú zaúčtované cez platobnú bránu. Odvádzame príslušné dane. Ale anonymita zákazníka je z našej strany úplná.
2. Údaje, ktoré na serveri NEMÁME
To nás definuje. Server Solo2 neukladá ani nemá prístup k
- Tvojim správam
- Tvojim súborom
- Tvojmu zoznamu kontaktov
- Tvojej histórii chatu
- Tvojej polohe
- Analytike používania
- Údajom o zariadení
- Metadátam komunikácie
O tvojej IP adrese
Tvoja IP adresa sa neukladá v žiadnej databáze. V technických záznamoch servera sa IP adresy transformujú na nezvratné odtlačky (hash) — užitočné na detekciu vzorcov zneužitia, ale nemožné previesť späť na pôvodnú IP. Tieto záznamy sa automaticky mažú každých 7 dní. Signály pripojenia, ktoré by mohli obsahovať tvoju IP, sú šifrované od konca ku koncu — server ich nemôže prečítať.
3. Údaje v tvojom prehliadači (Trezor)
Všetko nasledujúce žije výhradne v tvojom prehliadači
Tvoje údaje sú šifrované v pokojnom stave — aj keby niekto získal prístup k úložisku tvojho prehliadača, našiel by iba nečitateľné šifrované bloky bez tvojho hesla.
Keď exportuješ zálohu, je šifrovaná rovnakou ochranou (Argon2id + AES-256-GCM). Iba ten, kto pozná tvoje heslo, ju môže dešifrovať.
| Údaj | Šifrovanie | Kontrola |
|---|---|---|
| Správy | AES-256-GCM | Ty rozhoduješ, kedy ich zmazať |
| Súbory | AES-256-GCM | Ty rozhoduješ, kedy ich zmazať |
| Kontakty (páry) | AES-256-GCM | Ty rozhoduješ, koho prepojiť |
| Stav overenia | AES-256-GCM | Ty overuješ identitu každého kontaktu |
| Vyhľadávací index | Šifrovaný nevratnými tokenmi (HMAC) | Rekonštruuje sa z tvojich správ |
| Stav doručenia | AES-256-GCM | Ktoré správy boli doručené |
| Čakajúce správy | AES-256-GCM | Front odosielania, keď nie je spojenie |
Dočasné úložisko prehliadača
| Údaj | Typ | Doba uchovávania | Prečo |
|---|---|---|---|
| Relácia používateľa | Miestna pamäť prehliadača (localStorage) | Kým sa neodhlásiš | Udržiavanie prihlásenia |
| Verzia aplikácie | Miestna pamäť prehliadača (localStorage) | Trvalo | Detekcia aktualizácií |
| Preferencia témy | Miestna pamäť prehliadača (localStorage) | Trvalo | Zapamätanie tvojej vizuálnej témy |
| Preferencia jazyka | Miestna pamäť prehliadača (localStorage) | Trvalo | Zapamätanie tvojho jazyka |
| Heslo (režim maximálneho zabezpečenia) | Pamäť karty (sessionStorage) | Zmizne pri zatvorení karty | Reinicializácia šifrovania pri obnovení stránky |
Poznámka o bezpečnosti v prehliadači
Solo2 funguje v tvojom webovom prehliadači. Tvoje šifrované údaje sú chránené v pokojnom stave, ale keď je aplikácia otvorená a ukazuje ti dešifrované správy na obrazovke, bezpečnosť závisí aj od tvojho prostredia:
- Rozšírenia prehliadača:
- Čistý prehliadač:
- Natívna aplikácia:
4. Sieťové pripojenia
Aplikácia Solo2
| Doména | Dôvod | Odosielaný údaj |
|---|---|---|
| solo2.net | API aplikácie | Overenie, signalizácia, prítomnosť |
| pay.menzuri.com | Platobná brána | Iba ak vykonávaš platbu |
Žiadna iná doména.
Dokonca na zistenie verejnej IP adresy tvojho zariadenia (nevyhnutné na nadviazanie priamych spojení medzi používateľmi) používame vlastný server (technicky nazývaný STUN). Nedelegujeme to na externé služby. Spravujeme ho sami.
Prezentačná stránka
Prezentačná stránka (solo2.net) — ktorá je nezávislá od aplikácie — používa anonymný systém merania hosťovaný na našich vlastných serveroch v Nemecku:
| Doména | Dôvod | Odosielaný údaj |
|---|---|---|
| stats.menzuri.com | Anonymné meranie návštev | Navštívená stránka (bez cookies, bez IP, bez identifikácie) |
Tento systém neinštaluje cookies, nezaznamenáva tvoju IP adresu, neidentifikuje ťa, nesleduje ťa medzi návštevami a nezdieľa údaje s tretími stranami. Aplikácia Solo2 nemá tento systém ani žiadny iný typ analytiky.
5. Zmazanie tvojich údajov
Existujú dve rôzne akcie a je dôležité, aby si poznal rozdiel:
Zmazanie miestnych údajov
V nastaveniach aplikácie máš dve možnosti miestneho zmazania:
- Zmazať moje údaje
- Núdzový reset
V oboch prípadoch tvoj účet na serveri stále existuje.
Automatická obnova medzi zariadeniami
Ak stratíš údaje na jednom zariadení a máš pripojené ďalšie, Solo2 situáciu detekuje a ponúkne ti automatické obnovenie tvojej identity a trezoru. Obnova cestuje šifrovaná (Argon2id) priamym spojením medzi tvojimi zariadeniami — bez priechodu serverom.
Zmazanie účtu zo servera
- Zmažú sa všetky
- Zmazanie je atomické
- Záznamy o platbách zostávajú zámerne odpojené
- Identifikátory v logoch servera sú nevratné odtlačky: nedá sa spojiť log s tvojím účtom po jeho zmazaní.
- Trezor v tvojom prehliadači sa touto akciou automaticky nezmaže (nemáme prístup k tvojmu prehliadaču). Na jeho zmazanie najprv vykonaj núdzový reset alebo vymaž údaje webu v prehliadači.
5b. Tvoj hlavný kľúč a tvojich 24 slov
Pri vytvorení účtu v Solo2 sa vygeneruje hlavný kľúč s 256 bitmi skutočnej entropie (rovnakej ako používa Bitcoin). Tento kľúč je reprezentovaný ako 24 slov, ktoré poznáš len ty. Tvoje heslo obalí tento kľúč na jeho šifrované uloženie na serveri — server ho nemôže prečítať.
To znamená, že máš dva nezávislé kľúče
Presné algoritmy (overiteľné)
Generovanie: CSPRNG
Ako je chránený tvoj hlavný kľúč
| Vrstva | Čo to je | Kde žije |
|---|---|---|
| Heslo | Prístup k serveru. Obaľuje tvoj hlavný kľúč | V tvojej pamäti + hash na serveri |
| Tajomstvo zariadenia | Neviditeľný druhý faktor, generovaný automaticky pri inštalácii | Na vašom zariadení (neextrahovateľné) |
| Hlavný kľúč (24 slov) | 256 bitov skutočnej entropie, generované náhodne. Úroveň Bitcoin (BIP39) | Na papieri, ktorý si uchovávaš + obalený na serveri |
| Rotácia kľúčov | Každá správa používa unikátny kľúč, ktorý sa potom zničí (Double Ratchet) | Automatická, transparentná |
Ak si zmeníte heslo
Zmena hesla je okamžitá. Tvoj hlavný kľúč sa iba znovu obalí novým heslom — tvoja identita sa nemení, trezor sa znovu nešifruje, tvoje kontakty nie sú ovplyvnené a tvojich 24 slov zostáva rovnakých. Je to operácia v ráde milisekúnd.
Obnova
Ak stratíš heslo, môžeš pristupovať k trezoru pomocou 24 slov — bez servera. Ak stratíš 24 slov, môžeš sa prihlásiť heslom a server ti vráti obalený kľúč. Ak stratíš oboje, tvoje dáta sú nenávratne stratené. Ako v Bitcoin — to je bezpečnosť z princípu.
6. Čo sa stane, ak niekto získa neoprávnený prístup k serveru
Ak by útočník získal plný prístup k serveru Solo2, získal by:
- Používateľské mená a verejné mená
- Kódy prepojenia
- Verejné kľúče (nepoužiteľné bez súkromného kľúča, ktorý je v tvojom prehliadači)
- Odtlačky hesiel (nepoužiteľné bez extrémne nákladného útoku hrubou silou vďaka Argon2id)
- Odtlačky tokenov relácií (nepoužiteľné bez pôvodného tokenu)
- Čakajúce žiadosti o prepojenie (interné ID, expirácia za 3 dni)
- Typ účtu, zostatky a dátumy registrácie
- Záznamy o platbách (bez možnosti ich spojiť s konkrétnym používateľom)
Čo by NEZÍSKAL:
- Žiadne správy (nikdy neboli na serveri)
- Žiadne súbory (nikdy neboli na serveri)
- Žiadny zoznam kontaktov (nikdy nebol na serveri)
- Žiadnu históriu chatu (nikdy nebola na serveri)
- Žiadny súkromný šifrovací kľúč (žijú v tvojom prehliadači)
- Žiadnu IP adresu (nezaznamenávajú sa)
7. Náš záväzok
Tento manifest bude aktualizovaný pri každej relevantnej zmene v nakladaní s údajmi. Ak pridáme nové pole do databázy, objaví sa tu. Ak niečo odstránime, tiež.
Platná verzia je vždy táto stránka.