Pagrindinis principas
Solo2 serveris yra visiškai aklas. No sabe con quién hablas, qué dices, ni qué archivos compartes. Ni siquiera las señales técnicas que establecen la conexión entre dispositivos son legibles para el servidor — viajan cifradas de extremo a extremo.
Tavo žinutės keliauja tiesiogiai tarp įrenginių, užšifruotos nuo galo iki galo. Tavo pokalbių istorija gyvena užšifruota tavo naršyklėje, niekada mūsų serveryje.
Šifravimo raktai automatiškai keičiami su kiekviena žinute. Kiekviena žinutė šifruojama unikaliu raktu, kuris iš karto po to sunaikinamas. Tai techniškai vadinama Double Ratchet, y significa que incluso si alguien obtuviese una clave, solo podría leer un único mensaje — no la conversación. Además, la seguridad se restaura automáticamente tras cada turno de comunicación: una clave comprometida se vuelve inútil en cuanto se intercambia el siguiente mensaje.
Kai tiesioginis ryšys tarp įrenginių neįmanomas (pavyzdžiui, dėl tinklo apribojimų), naudojamas veidrodinis serveris (techniškai vadinamas TURN): duomenys atspindimi iš vieno įrenginio į kitą, bet veidrodis nežino, ką atspindi — viskas keliauja užšifruota nuo galo iki galo ir serveris negali to perskaityti. Be to, visi paketai užpildomi iki vienodo dydžio, kad stebėtojas negalėtų išgauti informacijos analizuodamas srauto dydį ar dažnumą.
Programėlėje visada gali matyti, kokį ryšio tipą naudoji — directa o a través del servidor espejo — y actuar en consecuencia.
Tavo pagrindinis raktas sukuriamas atsitiktinai su 256 bitais tikros entropijos — toks pat lygis kaip Bitcoin. Al crear tu cuenta, Solo2 genera una clave única que se representa como 24 palabras. Tu contraseña protege el acceso al servicio. Tus 24 palabras son la llave de tus datos. Son dos llaves diferentes para dos puertas diferentes.
Net jei mūsų serveris dingtų, tavo duomenys išliktų. Su savo 24 žodžiais gali pasiekti savo vietinę saugyklą be ryšio su serveriu. Tavo duomenys yra tavo — iš tikrųjų.
1. Duomenys, kuriuos TURIME serveryje
1.1 Tavo vartotojo paskyra
Tai visi laukai, esantys tavo įraše. Daugiau jų nėra.
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Vartotojo vardas | Kad galėtum prisijungti | Paprastas tekstas (viešas pagal dizainą) | Kol ištrinsi paskyrą |
| Slaptažodis | Autentifikacija | Apsaugotas Argon2id (rekomenduoja OWASP, atsparus atakoms su specializuota įranga). Niekada nesaugome tavo tikrojo slaptažodžio, solo una huella matemática irreversible | Kol ištrinsi paskyrą |
| Viešas vardas | Kad tavo kontaktai tave atpažintų | Paprastas tekstas (pasirenki pats) | Kol jį pakeisi arba ištrinsi paskyrą |
| Susiejimo kodas | Tavo adresas Solo2 viduje — kaip telefono numeris. Tai daliniesi su kuo nors, kad tave rastų ir atsiųstų prisijungimo užklausą | Paprastas tekstas, unikalus (~10 simbolių) | Kol ištrinsi paskyrą |
| Viešasis raktas | Kriptografinė eilutė, kurią programėlė automatiškai naudoja užšifruoti tau siunčiamus duomenis. Niekas jos nenaudoja tiesiogiai — programėlė tuo pasirūpina. Susiejimo kodas skirtas, kad tave rastų; viešasis raktas — kad tau užšifruotų | Viešasis raktas (44 simboliai). Gali būti žinomas be rizikos — tik tavo privatusis raktas, esantis tavo naršyklėje, gali iššifruoti | Kol ištrinsi paskyrą |
| Finansinis likutis | Pinigai, kuriuos pridėjai prie savo paskyros | Skaičius (centais) | Kol ištrinsi paskyrą |
| Premijų likutis | Gautos premijos (kvietimai, akcijos, dovanos). Išnaudojamas prieš finansinį likutį | Skaičius (centais) | Kol ištrinsi paskyrą |
| Paskyros tipas | Tavo dabartinis planas (bandomasis, standartinis, auksinis, platininis) | Tekstas | Kol pasikeis arba ištrinsi paskyrą |
| Bandomojo laikotarpio pabaigos data | Kada baigiasi tavo nemokamas bandomasis laikotarpis | Data | Kol ištrinsi paskyrą |
| Registracijos data ir laikas | Kada sukūrei paskyrą | Pilna data ir laikas (timestamp) | Nuolatinis |
| Paskutinė veikla | Kada paskutinį kartą naudojai programėlę | Data ir laikas | Atnaujinama su kiekvienu naudojimu |
| Vidiniai identifikatoriai | Kodai, kuriuos sistema viduje naudoja tavęs nurodymui | Neskaidrūs ID, neturintys prasmės už sistemos ribų | Kol ištrinsi paskyrą |
| Saugumo versija | Kuri slaptažodžio apsaugos algoritmo versija buvo naudota | Vidinis skaičius | Kol ištrinsi paskyrą |
| Būsenos indikatoriai | Techninės žymės (ar tavo likutis pasikeitė, ar aktyvuotas maksimalaus saugumo režimas) | 1 baitas — vienos raidės atitikmuo. Daugiau ten netelpa | Kol ištrinsi paskyrą |
Kad susidarytum vaizdą apie apimtį: tavo įrašas užima apie 250 fiksuotų simbolių (identifikatoriai, datos, raktai, likučiai) plius tavo pasirinktų vardų ilgį. Slaptažodis neturi įtakos: jis visada saugomas kaip fiksuoto dydžio atspaudas. Pavyzdžiui, jei tave vadina «Jonas», o viešas vardas yra «Jonas Jonaitis», viskas, ką užimi mūsų serveryje, yra apie 264 simbolius — mažiau nei ši pastraipa.
1.2 Aktyvios sesijos
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Sesijos žetonas | Tavo prisijungimo palaikymas aktyviu | Saugome tik negrįžtamą atspaudą (hash), ne originalų žetoną | 24 valandos máximo, luego se borra automáticamente |
| Paskutinės veiklos data | Neaktyvių sesijų galiojimo pabaiga | Data ir laikas | Ištrinamas kartu su sesija |
1.3 Susiejimo užklausos
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Prašytojo ID | Žinoti, kas atsiuntė užklausą | Vidinis ID | 3 dienos máximo. Si no se responde, se elimina automáticamente |
| Gavėjo ID | Žinoti, kam skirta | Vidinis ID | Tas pats kaip prašytojo |
| Būsena | Laukiama / priimta / atmesta | Tekstas | Ištrinamas išsprendus arba pasibaigus galiojimui |
Svarbi pastaba: Una vez aceptada la vinculación, el servidor no guarda la relación. Tu lista de contactos existe solo en tu navegador, cifrada.
1.4 Pakvietimai
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Pakvietimo kodas | Unikali nuoroda pakviesti ką nors | Atsitiktinis žetonas | Kol panaudojamas arba baigiasi galiojimas (30 dienų) |
| Siuntėjo ID | Žinoti, kas pakvietė | Vidinis ID | Nuolatinis (apskaita) |
| Dovanos suma | Su pakvietimu padovanotas likutis | Skaičius | Nuolatinis (apskaita) |
1.5 Push prenumeratos (pranešimai)
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Pranešimo adresas | Pranešimų siuntimas į tavo naršyklę | Naršyklės tiekėjo URL (Google, Mozilla arba Apple) | Kol išjungsi pranešimus arba ištrinsi paskyrą |
| Push šifravimo raktai | Pranešimo užšifravimas, kad tik tavo naršyklė jį perskaitytų | Web Push standartas | Tas pats kaip adreso |
1.6 Atsiliepimai (palaikymas)
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Tavo žinutė | Kad galėtume tau padėti | Paprastas tekstas | Kol ją apdorosime |
| Tavo vartotojo ID | Žinoti, kam reikia pagalbos | Vidinis ID | Tas pats kaip žinutės |
1.7 Ryšio signalizacija (laikina)
Kad du įrenginiai galėtų prisijungti tiesiogiai, jiems reikia apsikeisti tam tikrais techniniais ryšio užmezgimo signalais (WebRTC protokolas). Šie signalai trumpam praeina per mūsų serverį, bet užšifruoti nuo galo iki galo — el servidor solo transporta un bloque opaco que no puede descifrar.
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Ryšio signalai | Tiesioginio ryšio tarp įrenginių užmezgimas | Užšifruoti nuo galo iki galo gavėjo viešuoju raktu. Serveris negali jų perskaityti ar modifikuoti | 60 sekundžių máximo, luego se borran. En memoria, nunca en disco |
1.8 Veidrodinis serveris (TURN relė)
Jei tiesioginis ryšys neįmanomas, naudojamas veidrodinis serveris: duomenys praeina per jį kaip šviesa per veidrodį — atspindimi iš vienos pusės į kitą, bet veidrodis nežino, ką atspindi. Visi paketai užpildomi iki vienodo dydžio, kad stebėtojas negalėtų atskirti žinutės nuo paprasto ryšio impulso.
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Prieigos kredencialas | Autentifikacija veidrodiniame serveryje | Tavo tapatybė paverčiama negrįžtamu atspaudu — veidrodinis serveris nežino, kas tu esi | 24 valandos, luego se regenera |
1.9 Apdoroti mokėjimai
Mokėjimai yra vienintelis taškas, kur kyla reali trintis su anonimiškumu. Būkime dėl to sąžiningi.
Registruodamasis Solo2, pasirenki vartotojo vardą (gali būti išgalvotas), slaptažodį ir viešą vardą (taip pat išgalvotą, jei nori). Jokie duomenys nesusieja tavęs su tikru asmeniu. Tačiau jei mokėsi kortele, tavo finansų įstaiga žino, kas tu esi.
Tai, ką mes gauname iš mokėjimo tarpininko, yra tik patvirtinimas ir suma. Negauname ir nesaugome kortelės savininko vardo, kortelės numerio, asmens tapatybės dokumento, nei jokių mokėtojo asmens duomenų. Tai nedidelės sumos — teisiškai lygiavertės grynųjų pinigų kvitui, tarsi pirktum ledinuką kioske: kioskininkas neregistruoja mokėtojo asmens duomenų.
Be to, mokėjimo įrašas yra tyčia atskirtas de tu cuenta de usuario. No existe ningún campo en nuestra base de datos que cruce un ticket de cobro con una cuenta concreta.
| Duomuo | Kodėl | Apsauga | Trukmė |
|---|---|---|---|
| Mokėjimo įrašas | Apskaita ir mokestinės prievolės | Patvirtinimas + suma. Be mokėtojo asmens duomenų. Be susiejimo su jokia vartotojo paskyra | Nuolatinis (teisinė prievolė) |
Apie blogiausią įmanomą scenarijų: Incluso con una orden judicial, la cadena de rastreo sería: tu tarjeta → tu banco → la pasarela de pago → nuestro ticket de cobro. Pero nuestro ticket no contiene ningún identificador de usuario. No es un descuido: es una decisión de diseño. No existe ningún campo ni índice en nuestra base de datos que relacione un pago con una cuenta. La única vía teórica sería una correlación temporal — si fueses el único pago en un periodo dado — pero incluso en ese caso extremo, la cuenta no contiene información que identifique a la persona real: el nombre de usuario y el nombre público pueden ser totalmente inventados.
Visos mūsų pajamos yra teisėtos ir apskaitytos per mokėjimo tarpininką. Sumokame atitinkamus mokesčius. Tačiau kliento anonimiškumas iš mūsų pusės yra visiškas.
2. Duomenys, kurių NETURIME serveryje
Tai mus apibrėžia. Solo2 serveris nesaugo ir neturi prieigos prie:
- Tavo žinutės — Viajan directamente entre dispositivos, cifrados de extremo a extremo. El servidor nunca los ve.
- Tavo failai — Igual que los mensajes: directos y cifrados.
- Tavo kontaktų sąrašas — Existe solo en tu navegador, cifrada en La Bóveda.
- Tavo pokalbių istorija — Solo en tu navegador, cifrado.
- Tavo buvimo vieta — Los GeoSellos se calculan en tu dispositivo y se envían directamente al destinatario. El servidor nunca los procesa.
- Naudojimo analitika — La aplicación Solo2 no tiene ningún sistema de analíticas, ni cookies de seguimiento, ni scripts de terceros.
- Įrenginio duomenys — No recogemos modelo, resolución, sistema operativo, ni ninguna característica de tu dispositivo.
- Komunikacijos metaduomenys — No sabemos con quién hablas, cuándo, con qué frecuencia, ni durante cuánto tiempo.
Apie tavo IP adresą
Neregistruojame tavo IP adreso. Nei programėlė, nei žiniatinklio serveris nesaugo IP adresų savo žurnaluose. Ryšio signalai, kurie galėtų turėti tavo IP, yra užšifruoti nuo galo iki galo — serveris negali jų perskaityti.
3. Duomenys tavo naršyklėje (Seifas)
Visa tai, kas toliau, yra išimtinai tavo naršyklėje, cifrado con AES-256-GCM (un estándar de cifrado de grado militar utilizado por gobiernos y entidades financieras). La clave se genera a partir de tu contraseña mediante Argon2id (el algoritmo más resistente disponible contra ataques con hardware especializado), y este proceso ocurre enteramente dentro de tu navegador. Tu contraseña nunca se envía al servidor.
Tavo duomenys yra užšifruoti ramybės būsenoje — net jei kas nors pasiektu tavo naršyklės saugyklą, rastų tik neskaitomus užšifruotus blokus be tavo slaptažodžio.
Kai eksportuoji atsarginę kopiją, ji šifruojama ta pačia apsauga (Argon2id + AES-256-GCM). Tik kas žino tavo slaptažodį, gali ją iššifruoti.
| Duomuo | Šifravimas | Kontrolė |
|---|---|---|
| Žinutės | AES-256-GCM | Tu spręndi, kada jas ištrinti |
| Failai | AES-256-GCM | Tu spręndi, kada juos ištrinti |
| Kontaktai (poros) | AES-256-GCM | Tu spręndi, ką susieti |
| Patvirtinimo būsena | AES-256-GCM | Tu patvirtini kiekvieno kontakto tapatybę |
| Paieškos indeksas | Užšifruotas negrįžtamais žetonais (HMAC) | Atkuriamas iš tavo žinučių |
| Pristatymo būsena | AES-256-GCM | Kurios žinutės buvo pristatytos |
| Laukiančios žinutės | AES-256-GCM | Siuntimo eilė, kai nėra ryšio |
Laikina naršyklės saugykla
| Duomuo | Tipas | Trukmė | Kodėl |
|---|---|---|---|
| Vartotojo sesija | Naršyklės vietinė atmintis (localStorage) | Kol atsijungsi | Tavo prisijungimo palaikymas |
| Programėlės versija | Naršyklės vietinė atmintis (localStorage) | Nuolatinis | Atnaujinimų aptikimas |
| Temos nuostata | Naršyklės vietinė atmintis (localStorage) | Nuolatinis | Tavo vizualinės temos išsaugojimas |
| Kalbos nuostata | Naršyklės vietinė atmintis (localStorage) | Nuolatinis | Tavo kalbos išsaugojimas |
| Slaptažodis (maksimalaus saugumo režimas) | Skirtuko atmintis (sessionStorage) | Išnyksta uždarius skirtuką | Šifravimo repaleidimas, jei perkrausi puslapį |
Pastaba apie naršyklės saugumą
Solo2 veikia tavo naršyklėje. Tavo užšifruoti duomenys yra apsaugoti ramybės būsenoje, bet kai programėlė yra atidaryta ir rodo tau iššifruotas žinutes ekrane, saugumas priklauso ir nuo tavo aplinkos:
- Naršyklės plėtiniai: Una extensión maliciosa con acceso a las páginas que visitas podría, en teoría, leer lo que se muestra en pantalla. Recomendamos utilizar el menor número posible de extensiones y solo de fuentes de confianza.
- Švari naršyklė: Un navegador actualizado y sin extensiones innecesarias es tu mejor aliado.
- Gimtoji programėlė: En el futuro, ofreceremos una aplicación de escritorio (Windows, Mac, Linux) que proporcionará un nivel adicional de aislamiento al no depender del entorno del navegador.
4. Tinklo ryšiai
Solo2 programėlė
| Domenas | Priežastis | Siunčiamas duomuo |
|---|---|---|
| solo2.net | Programėlės API | Autentifikacija, signalizacija, buvimas |
| pay.menzuri.com | Mokėjimo tarpininkas | Tik jei atliksi mokėjimą |
Jokio kito domeno. Ningún script externo. Ningún CDN de seguimiento. La política de seguridad de contenido (CSP) del servidor lo impone técnicamente: cualquier intento de cargar recursos de otros dominios es bloqueado por el navegador.
Net tavo įrenginio viešojo IP adreso nustatymui (būtina tiesioginiam ryšiui tarp vartotojų) naudojame savo serverį (techniškai vadinamą STUN). Nedeleguojame išorinėms paslaugoms. Valdome patys.
Pristatymo puslapis
Pristatymo puslapis (solo2.net/info) — nepriklausomas nuo programėlės — naudoja anoniminio matavimo sistemą, talpintą mūsų pačių serveriuose Vokietijoje:
| Domenas | Priežastis | Siunčiamas duomuo |
|---|---|---|
| stats.menzuri.com | Anoniminis apsilankymų matavimas | Aplankytas puslapis (be slapukų, be IP, be identifikavimo) |
Ši sistema neįdiegia slapukų, neregistruoja tavo IP adreso, neidentifikuoja tavęs, neseka tarp apsilankymų ir nesidalija duomenimis su trečiosiomis šalimis. Solo2 programėlė neturi šios sistemos nei jokio kito analitikos tipo.
5. Tavo duomenų ištrynimas
Egzistuoja du skirtingi veiksmai, ir svarbu žinoti skirtumą:
Vietinių duomenų ištrynimas
Iš programėlės nustatymų turi dvi vietinio ištrynimo parinktis:
- Ištrinti mano duomenis — Elimina solo tus datos (identidad, bóveda, sesión) sin afectar a otros usuarios que usen el mismo navegador.
- Avarinis atstatymas — Borra absolutamente todo: datos de todos los usuarios, Service Worker, caché y claves criptográficas. Requiere doble confirmación.
Abiem atvejais tavo paskyra serveryje tebegyvuoja. Puedes volver a iniciar sesión, pero tus datos locales se habrán perdido irreversiblemente. Al hacerlo, se genera una identidad criptográfica completamente nueva: quien tuviese tu clave pública anterior ya no puede cifrar nada para ti. Si un contacto anterior quiere reconectarse, deberá solicitarte vinculación de nuevo, y tú decides si la aceptas o no.
Automatinis atkūrimas tarp įrenginių
Jei prarastum duomenis viename įrenginyje ir turėtum kitą prijungtą, Solo2 aptiks situaciją ir pasiūlys automatiškai atkurti tavo tapatybę ir seifą. Atkūrimas keliauja užšifruotas (Argon2id) tiesioginiu ryšiu tarp tavo įrenginių — neeidamas per serverį.
Tavo paskyros ištrynimas iš serverio
- Ištrinamos visos las filas en la base de datos asociadas a tu ID: cuenta, sesiones, solicitudes, invitaciones, suscripciones push, feedback.
- Ištrynimas yra atominis (todo o nada): o se borra todo o no se borra nada.
- Mokėjimų įrašai lieka tyčia atskirti de tu identidad — existen por obligación legal, pero no se puede trazar un pago a tu persona.
- Serverio žurnalų identifikatoriai yra negrįžtami atspaudai: žurnalo negalima susieti su tavo paskyra po jos ištrynimo.
- Seifas tavo naršyklėje nėra automatiškai ištrinamas šiuo veiksmu (neturime prieigos prie tavo naršyklės). Norėdamas jį ištrinti, pirma atlik avarinį ištrynimą arba išvalyk svetainės duomenis savo naršyklėje.
5b. Tavo pagrindinis raktas ir tavo 24 žodžiai
Kuriant paskyrą Solo2, sukuriamas pagrindinis raktas su 256 bitais tikros entropijos (tokia pat kaip Bitcoin). Šis raktas pateikiamas kaip 24 žodžiai, kuriuos žinai tik tu. Tavo slaptažodis apgaubia šį raktą, kad jis būtų saugomas užšifruotas serveryje — serveris negali jo perskaityti.
Tai reiškia, kad turi du nepriklausomus raktus: tu contraseña (para conectar al servidor y recuperar tu clave envuelta) y tus 24 palabras (para acceder directamente a tus datos sin servidor). Si pierdes una, la otra te protege. Si pierdes ambas, tus datos son irrecuperables — como en Bitcoin.
Tikslūs algoritmai (patikrinama)
Generavimas: CSPRNG del sistema operativo (crypto.getRandomValues, 256 bits). Cifrado de la clave maestra: Argon2id (OWASP) para derivar la clave de envoltorio + AES-256-GCM (cifrado autenticado) para protegerla. Identidad: Ed25519 (firma) + X25519 (intercambio). Mensajes: Double Ratchet con ChaCha20-Poly1305. Al cerrar la pestaña del navegador, todos los datos sensibles desaparecen de la memoria.
Kaip saugomas tavo pagrindinis raktas
| Layer | What it is | Where it lives |
|---|---|---|
| Password | Prieiga prie serverio. Apgaubia tavo pagrindinį raktą | Tavo atmintyje + maišos reikšmė serveryje |
| Device secret | Invisible second factor, generated automatically on install | On your device (non-extractable) |
| Pagrindinis raktas (24 žodžiai) | 256 bitai tikros entropijos, atsitiktinai sukurtas. Bitcoin lygis (BIP39) | Ant popieriaus, kurį tu saugai + apgaubtas serveryje |
| Key rotation | Each message uses a unique key that is destroyed after (Double Ratchet) | Automatic, transparent |
If you change your password
Slaptažodžio keitimas yra momentinis. Tavo pagrindinis raktas tiesiog iš naujo apgaubiamas nauju slaptažodžiu — tavo tapatybė nesikeičia, tavo saugykla nešifruojama iš naujo, tavo kontaktai nepasikeičia, ir tavo 24 žodžiai lieka tie patys. Tai milisekundžių operacija.
Recovery
Jei prarastum slaptažodį, gali pasiekti savo saugyklą su savo 24 žodžiais — be serverio. Jei prarastum savo 24 žodžius, gali prisijungti su slaptažodžiu ir serveris grąžins tavo apgaubtą raktą. Jei prarastum abu, tavo duomenys yra neatstatomi. Kaip Bitcoin, tai saugumas pagal dizainą.
6. Kas nutinka, jei kas nors neautorizuotai pasiekia serverį
Jei atakuotojas gautų pilną prieigą prie Solo2 serverio, gautų:
- Vartotojų vardus ir viešus vardus
- Susiejimo kodus
- Viešuosius raktus (bevertis be privataus rakto, kuris yra tavo naršyklėje)
- Slaptažodžių atspaudus (bevertis be itin brangios brute force atakos dėl Argon2id)
- Sesijų žetonų atspaudus (bevertis be originalaus žetono)
- Laukiančias susiejimo užklausas (vidiniai ID, baigia galioti po 3 dienų)
- Paskyros tipą, likučius ir registracijos datas
- Mokėjimų įrašus (negalint jų susieti su konkrečiu vartotoju)
Ko NEGAUTŲ:
- Jokios žinutės (niekada nebuvo serveryje)
- Jokio failo (niekada nebuvo serveryje)
- Jokio kontaktų sąrašo (niekada nebuvo serveryje)
- Jokios pokalbių istorijos (niekada nebuvo serveryje)
- Jokio privataus šifravimo rakto (gyvena tavo naršyklėje)
- Jokio IP adreso (neregistruojami)
7. Mūsų įsipareigojimas
Šis manifestas bus atnaujinamas su kiekvienu svarbiu duomenų valdymo pakeitimu. Jei pridėsime naują lauką duomenų bazėje, jis bus čia. Jei ką nors pašalinsime, taip pat.
Galiojanti versija visada yra šis puslapis.