Temel ilke
Solo2, iki kişi arasında özel bir tünel oluşturur. Doğrudan. Aracısız.
Sunucumuz tek bir şey yapar: tünelin iki ucunu birbirine tanıştırarak buluşmalarını sağlar. Bunun için gereken en az şeye ihtiyaç duyar — iki eşin tanımlayıcıları — ki bunları tanıştırma süresince yalnızca milisaniyeler boyunca RAM belleğinde tutar. İki cihaz birbirini bulduğu anda, bu veriler bellekten silinir. Hiçbir zaman, hiçbir noktada diske yazılmaz.
Bağlandıktan sonra sunucu kaybolur. Sohbete katılmaz. Görmez. Saklamaz. Ne kadar sürdüğünü, ne sıklıkla konuştuğunuzu ya da ne hakkında konuştuğunuzu bilmez.
Bize inanmanızı istemiyoruz. Kendiniz doğrulamanızı istiyoruz:
Test 1 — Sunucu gereksiz.
Doğrudan tünel kurulduktan sonra sunucumuz artık dahil değildir. O anda çökse bile sohbetiniz kesintisiz devam eder. Cihazlarınız açık ve internete bağlı olduğu sürece tünel sizindir. Biz artık orada değiliz.
Test 2 — 10 gigabaytlık bir dosya gönder.
Sadece hızlı olmakla kalmayacak — sunucumuzun umurunda bile değil. 24 saat boyunca kesintisiz 10 gigabayt veya daha büyük dosyalar göndermeyi dene. Sunucumuz fark bile etmez, çünkü müdahil değil. Bunu başka herhangi bir mesajlaşma servisiyle dene.
Test 3 — Teleskoplar hakkında konuş.
Bir öğleden sonrayı biriyle teleskoplar, olta kamışları veya internette hiç aramadığın herhangi bir şey hakkında konuşarak geçir. Birkaç gün bekle. Hiçbir yerde teleskop reklamı çıkmayacak. Kelimelerin tünelinden çıkmadı.
Senin verilerin, senin sorumluluğun.
Bu bizim en büyük erdemimiz ve dürüst olmak gerekirse, alışması en zor şey. Mesajların, dosyaların ve kişilerin cihazındaki şifrelenmiş bir kasada yaşıyor. Hiçbir sunucuda kopya yok. 24 kelimeyle korunuyorlar — Bitcoin ile aynı güvenlik seviyesi. Ama sadece tek bir yerdeler, Solo2'yu ikinci bir cihaza kurmadığın sürece — aynı anda bağlıyken her iki kasa otomatik olarak senkronize olur. Şifreli bir yedek de dışa aktarabilirsin. Burada tek cihazını kaybedersen seni kurtaracak bir bulut yok. Verilerin senin, tüm sonuçlarıyla birlikte.
Ayrıntılı olarak
Solo2 sunucusu tamamen kördür. Kiminle konuştuğunuzu, ne söylediğinizi, hangi dosyaları paylaştığınızı bilmez. Cihazlar arasındaki bağlantıyı kuran teknik sinyaller bile sunucu tarafından okunamaz — uçtan uca şifreli olarak iletilir.
Mesajlarınız cihazlar arasında doğrudan, uçtan uca şifreli olarak iletilir. Geçmişiniz tarayıcınızda şifreli olarak yaşar, asla sunucumuzda değil.
Şifreleme anahtarları her mesajda otomatik olarak döner. Her mesaj, hemen ardından atılan benzersiz bir anahtarla şifrelenir. Bu, teknik olarak Double Ratchet olarak bilinir ve birisi bir anahtar elde etse bile yalnızca tek bir mesajı okuyabileceği anlamına gelir — tüm konuşmayı değil. Ayrıca güvenlik, her iletişim turundan sonra otomatik olarak geri yüklenir: ele geçirilmiş bir anahtar, bir sonraki mesaj alışverişi yapıldığında işe yaramaz hale gelir.
Cihazlar arasında doğrudan bağlantı mümkün olmadığında (örneğin ağ kısıtlamaları nedeniyle), bir ayna sunucu (teknik adıyla TURN) kullanılır: veriler bir cihazdan diğerine yansıtılır, ancak ayna neyi yansıttığının farkında değildir — her şey uçtan uca şifreli iletilir ve sunucu okuyamaz. Ayrıca tüm paketler, bir gözlemcinin trafik boyutunu veya sıklığını analiz ederek bilgi çıkarmasını engellemek için tekdüze boyuta doldurulur.
Uygulamada her zaman hangi bağlantı türünü kullandığınızı görebilirsiniz — doğrudan veya ayna sunucu üzerinden — ve buna göre hareket edebilirsiniz.
Ana anahtarınız 256 bit gerçek entropi ile rastgele üretilir — Bitcoin ile aynı seviye. Hesabınızı oluştururken Solo2, 24 kelime olarak temsil edilen benzersiz bir anahtar üretir. Şifreniz hizmete erişimi korur. 24 kelime verilerinizin anahtarıdır. İki farklı kapı için iki farklı anahtardır.
Sunucumuz ortadan kaybolsa bile verileriniz hayatta kalır. 24 kelimenizle sunucuya bağlanmadan yerel kasanıza erişebilirsiniz. Verileriniz sizindir — gerçekten.
1. Sunucuda bulunan veriler
1.1 Kullanıcı hesabınız
Bunlar kaydınızda bulunan tüm alanlardır. Başka alan yoktur.
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Kullanıcı adı | Oturum açabilmeniz için | Düz metin (tasarım gereği herkese açık) | Hesabınızı silene kadar |
| Şifre | Kimlik doğrulama | Argon2id ile korunur (OWASP tarafından önerilir, özel donanım saldırılarına dayanıklı). Gerçek şifrenizi asla saklamıyoruz | Hesabınızı silene kadar |
| Herkese açık ad | Kişilerinizin sizi tanıması için | Düz metin (siz seçersiniz) | Değiştirene veya hesabınızı silene kadar |
| Bağlantı kodu | Solo2 içindeki adresiniz — bir telefon numarası gibi. Birinin sizi bulması ve bağlantı isteği göndermesi için paylaştığınız şey | Düz metin, benzersiz (~10 karakter) | Hesabınızı silene kadar |
| Mali bakiye | Hesabınıza eklediğiniz para | Sayı (kuruş cinsinden) | Hesabınızı silene kadar |
| Bonus bakiye | Alınan bonuslar (promosyonlar). Para bakiyesinden önce tüketilir | Sayı (kuruş cinsinden) | Hesabınızı silene kadar |
| Hesap türü | Mevcut planınız (deneme, standart, altın, platin) | 1 bayt (tam sayı: 0=deneme, 1=standart, 2=altın, 3=platin, 4=duraklatılmış, 5=askıya alınmış) | Değişene veya hesabınızı silene kadar |
| Kayıt tarihi ve saati | Hesabınızı ne zaman oluşturduğunuz | Tam tarih ve saat (timestamp) | Kalıcı |
| Dahili tanımlayıcılar | Sistem, kullanıcı adınızı kullanmadan size atıfta bulunmak için iki dahili koda ihtiyaç duyar. Biri birincil kimliğiniz, diğeri ise referans kodudur. Her ikisi de opaktır — sistem dışında hiçbir anlam taşımazlar | Her biri 24 karakterlik iki rastgele kod (örn.: u_7kX9mP2...). Adınızı, tarihi veya kişisel veri içermezler — tamamen rastgeledir | Hesabınızı silene kadar |
| Güvenlik sürümü | Şifre koruma algoritmasının hangi sürümünün kullanıldığı | Dahili numara | Hesabınızı silene kadar |
| Durum göstergeleri | Teknik bayraklar (bakiyeniz değişti mi, maksimum güvenlik modunuz aktif mi) | 1 bayt — tek bir harf kadar. Daha fazlası sığmaz | Hesabınızı silene kadar |
Boyut hakkında bir fikir vermek gerekirse: tüm kaydın yaklaşık 400 bayt yer kaplar — bu paragraftan bile az. Adların (istersen uydurma), şifrenin parmak izi (sabit boyut, 60 bayt), şifrelenmiş ana anahtarın (okuyamadığımız ~128 baytlık opak bir kütle), bakiyen için iki sayı, birkaç tarih ve bir yapılandırma baytı. Sunucumuzda var olduğun her şey bu kadar.
1.2 Aktif oturumlar
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Oturum tokeninin hash değeri | Oturumunuzu aktif tutmak | Geri döndürülemez parmak izi (SHA-256). Orijinal token asla sunucuda saklanmaz | 24 saat — ardından tamamen silinir |
| Oluşturulma tarihi | Sistemin ne zaman oluşturulduğunu bilmesi için — otomatik temizlik için faydalı | Sayısal zaman damgası (unix saniye) | Oturumla birlikte silinir |
| Son kullanma tarihi | Oturum oluşturulduktan 24 saat sonra sona erer. Kullanımla yenilenmez — sabit bir son kullanma tarihi vardır | Sayısal zaman damgası (oluşturma + 24 saat) | 24 saat — ardından tamamen silinir |
Çıkış yapıldığında veya süre dolduğunda, satır veritabanından tamamen silinir. Oturumun var olduğuna dair hiçbir iz kalmaz.
1.3 Bağlantı talepleri
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Talep edenin ID'si | Talebi kimin gönderdiğini bilmek | 24 rastgele karakterden oluşan dahili kod | 3 gün — ardından otomatik olarak silinir |
| Alıcının ID'si | Kime yönelik olduğunu bilmek | 24 rastgele karakterden oluşan dahili kod | 3 gün — ardından otomatik olarak silinir |
| Durum | Beklemede / kabul edildi / reddedildi | 1 bayt (tam sayı: 0=beklemede, 1=kabul edildi, 2=reddedildi) | Çözümlendiğinde veya süresi dolduğunda silinir (3 gün) |
| Oluşturma tarihi | İsteğin ne zaman oluşturulduğunu bilmek, otomatik olarak silebilmek için | Sayısal zaman damgası (unix saniyeleri) — 4 ila 8 bayt | 3 gün — ardından otomatik olarak silinir |
Önemli not: İstek beklemedeyken (en fazla 3 gün), sunucu A kullanıcısının B kullanıcısıyla bağlantı talep ettiğini bilir. 3 gün sonra istek otomatik olarak silinir. Bağlantı kabul edildikten sonra sunucu ilişkiyi kaydetmez. Kişi listen sadece tarayıcında, şifrelenmiş olarak bulunur.
1.4 Bağlantı kodu
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Bağlantı kodu (alias) | Başka bir kullanıcının sizi bulması ve tünel oluşturma talebi göndermesi için kısa tanımlayıcı | Dahili kimliğinizden türetilmiş rastgele 8 karakterli kod | Kalıcı (herkese açık bağlantı tanımlayıcınızdır) |
1.5 Push abonelikleri (bildirimler)
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Bildirim adresi | Tarayıcınıza bildirim göndermek | Tarayıcı sağlayıcısının URL'si (Google, Mozilla veya Apple) | Bildirimleri devre dışı bırakana veya hesabınızı silene kadar |
| Push şifreleme anahtarları | Bildirimi yalnızca tarayıcınızın okuyabilmesi için şifrelemek | Web Push standardı | Adresle aynı |
1.6 Geri bildirim (destek)
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Mesajınız | Size yardımcı olabilmemiz için | Düz metin | İşleyene kadar |
| Kullanıcı ID'niz | Kimin yardıma ihtiyacı olduğunu bilmek için | Dahili ID | Mesajla aynı |
1.7 Bağlantı sinyallemesi (geçici)
İki cihazın doğrudan bağlanabilmesi için teknik bağlantı sinyalleri alışverişi yapmaları gerekir (WebRTC protokolü). Sunucumuzun senin kullanıcı kodunu ve kişinin kodunu bellekte tuttuğu tek an, bu bağlantı isteğini işlediği milisaniyelerdir. Bir an sürer, sadece RAM'de bulunur ve asla diske yazılmaz. Sinyallerin kendisi uçtan uca şifrelidir
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Bağlantı sinyalleri | Cihazlar arasında doğrudan bağlantı kurmak | Alıcının açık anahtarıyla uçtan uca şifreli. Sunucu onları okuyamaz veya değiştiremez | 60 saniye |
1.8 Ayna sunucu (TURN relay)
Doğrudan bağlantı mümkün değilse, bir ayna sunucu kullanılır: veriler, ışığın bir aynadan geçmesi gibi onun üzerinden geçer — bir taraftan diğerine yansıtılır, ancak ayna neyi yansıttığının farkında değildir. Tüm paketler, bir gözlemcinin bir mesajı basit bir bağlantı atışından ayırt edememesi için tekdüze boyuta doldurulur.
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Erişim kimlik bilgisi | Ayna sunucuda kimlik doğrulama | Kimliğiniz geri dönüşümsüz bir parmak izine dönüştürülür — ayna sunucu kim olduğunuzu bilmez | 24 saat |
1.9 İşlenen ödemeler
Ödemeler, anonimlikle gerçek bir sürtünme noktasının var olduğu tek noktadır. Bu konuda dürüst olalım.
Solo2'ya kaydolduğunuzda bir kullanıcı adı (uydurma olabilir), bir şifre ve herkese açık bir ad (istersen de uydurma) seçersiniz. Sizi gerçek bir kişiye bağlayan hiçbir veri yoktur. Ancak kartla ödeme yaparsanız, finans kuruluşunuz kim olduğunuzu bilir.
Ödeme geçidinden aldığımız tek şey bir onay ve bir tutardır. Kart sahibinin adını, kart numarasını, kimlik numarasını veya ödeme yapan kişinin herhangi bir kişisel verisini almıyor veya saklamıyoruz. Bunlar küçük tutarlar — yasal olarak bir büfeden şeker almak gibi nakit fiş eşdeğeridir: büfeci ödeme yapanın kimliğini kaydetmez.
Ayrıca ödeme kaydı kasıtlı olarak bağlantısı kesilmiştir
| Veri | Neden | Koruma | Süre |
|---|---|---|---|
| Ödeme kaydı | Muhasebe ve vergi yükümlülükleri | Onay + tutar. Ödeme yapanın kişisel verisi yok. Hiçbir kullanıcı hesabına bağlantı yok | Kalıcı (yasal zorunluluk) |
Olabilecek en kötü senaryo hakkında:
Tüm gelirlerimiz yasal olup ödeme geçidi üzerinden kayıtlı olarak girmektedir. İlgili vergileri beyan edip ödüyoruz. Ancak müşterinin anonimliği bizim tarafımızdan tamamen sağlanmıştır.
2. Sunucuda BULUNMAYAN veriler
Bizi tanımlayan budur. Solo2 sunucusu şunları saklamaz ve bunlara erişimi yoktur
- Mesajlarınız
- Dosyalarınız
- Kişi listeniz
- Sohbet geçmişiniz
- Konumunuz
- Kullanım analitiği
- Cihaz verileri
- İletişim üstverileri
IP adresiniz hakkında
IP adresin hiçbir veritabanında saklanmaz. Sunucunun teknik günlüklerinde IP adresleri geri döndürülemez parmak izlerine (hash) dönüştürülür — kötüye kullanım kalıplarını tespit etmek için yararlı, ancak orijinal IP'ye geri döndürmek imkânsız. Bu günlükler her 7 günde otomatik olarak silinir. IP adresini içerebilecek bağlantı sinyalleri uçtan uca şifrelidir — sunucu bunları okuyamaz.
3. Tarayıcınızdaki veriler (Kasa)
Aşağıdakilerin tümü yalnızca tarayıcınızda yaşar
Verileriniz durağan halde şifrelidir — birisi tarayıcınızın depolama alanına erişse bile, şifreniz olmadan yalnızca okunamaz şifreli bloklar bulur.
Bir yedek dışa aktardığınızda, aynı korumayla (Argon2id + AES-256-GCM) şifrelenir. Yalnızca şifrenizi bilen kişi şifreyi çözebilir.
| Veri | Şifreleme | Kontrol |
|---|---|---|
| Mesajlar | AES-256-GCM | Ne zaman sileceğinize siz karar verirsiniz |
| Dosyalar | AES-256-GCM | Ne zaman sileceğinize siz karar verirsiniz |
| Kişiler (çiftler) | AES-256-GCM | Kimi bağlayacağınıza siz karar verirsiniz |
| Doğrulama durumu | AES-256-GCM | Her kişinin kimliğini siz doğrularsınız |
| Arama dizini | Geri dönüşümsüz jetonlarla (HMAC) şifrelenmiş | Mesajlarınızdan yeniden oluşturulur |
| Teslim durumu | AES-256-GCM | Hangi mesajların teslim edildiği |
| Bekleyen mesajlar | AES-256-GCM | Bağlantı olmadığında gönderim kuyruğu |
Tarayıcının geçici depolaması
| Veri | Tür | Süre | Neden |
|---|---|---|---|
| Kullanıcı oturumu | Tarayıcının yerel belleği (localStorage) | Oturumu kapatana kadar | Oturumunuzu açık tutmak |
| Uygulama sürümü | Tarayıcının yerel belleği (localStorage) | Kalıcı | Güncellemeleri algılamak |
| Tema tercihi | Tarayıcının yerel belleği (localStorage) | Kalıcı | Görsel temanızı hatırlamak |
| Dil tercihi | Tarayıcının yerel belleği (localStorage) | Kalıcı | Dilinizi hatırlamak |
| Şifre (maksimum güvenlik modu) | Sekme belleği (sessionStorage) | Sekme kapatıldığında kaybolur | Sayfayı yenilediğinizde şifrelemeyi yeniden başlatmak |
Tarayıcıda güvenlik hakkında not
Solo2 web tarayıcınızda çalışır. Şifrelenmiş verileriniz durağan halde korumalıdır, ancak uygulama açıkken ve çözülmüş mesajlarınızı ekranda gösterirken güvenlik ortamınıza da bağlıdır:
- Tarayıcı uzantıları:
- Temiz tarayıcı:
- Yerel uygulama:
4. Ağ bağlantıları
Solo2 uygulaması
| Alan adı | Neden | Gönderilen veri |
|---|---|---|
| solo2.net | Uygulama API'si | Kimlik doğrulama, sinyalleme, mevcut durumu |
| pay.menzuri.com | Ödeme geçidi | Yalnızca ödeme yaparsanız |
Başka hiçbir alan adı yok.
Cihazınızın genel IP adresini keşfetmek için bile (kullanıcılar arasında doğrudan bağlantı kurmak için gerekli) kendi sunucumuzu (teknik adıyla STUN) kullanıyoruz. Harici hizmetlere devretmiyoruz. Kendimiz yönetiyoruz.
Tanıtım sayfası
Tanıtım sayfası (solo2.net) — uygulamadan bağımsızdır — Almanya'daki kendi sunucularımızda barındırılan anonim bir ölçüm sistemi kullanır:
| Alan adı | Neden | Gönderilen veri |
|---|---|---|
| stats.menzuri.com | Anonim ziyaret ölçümü | Ziyaret edilen sayfa (çerez yok, IP yok, tanımlama yok) |
Bu sistem çerez yüklemez, IP adresinizi kaydetmez, sizi tanımlamaz, ziyaretler arasında takip etmez ve üçüncü taraflarla veri paylaşmaz. Solo2 uygulamasında bu veya başka herhangi bir analitik sistemi yoktur.
5. Verilerinizi silme
İki farklı işlem vardır ve aradaki farkı bilmeniz önemlidir:
Yerel verileri silme
Uygulama ayarlarından iki yerel silme seçeneğiniz vardır:
- Verilerimi sil
- Acil sıfırlama
Her iki durumda da sunucudaki hesabınız var olmaya devam eder.
Cihazlar arası otomatik kurtarma
Bir cihazda verilerinizi kaybederseniz ve bağlı başka bir cihazınız varsa, Solo2 durumu algılar ve kimliğinizi ve kasanızı otomatik olarak geri yüklemeyi önerir. Geri yükleme, sunucudan geçmeden cihazlarınız arasında doğrudan bağlantı üzerinden şifreli (Argon2id) olarak iletilir.
Sunucudan hesabınızı silme
- Tüm
- Silme işlemi atomiktir
- Ödeme kayıtları kasıtlı olarak bağlantısız kalır
- Sunucu loglarındaki tanımlayıcılar geri dönüşümsüz parmak izleridir: hesabınız silindikten sonra bir logu hesabınıza bağlamak mümkün değildir.
- Tarayıcınızdaki Kasa bu işlemle otomatik olarak silinmez (tarayıcınıza erişimimiz yoktur). Silmek için önce nükleer silmeyi çalıştırın veya tarayıcınızda site verilerini temizleyin.
5b. Ana anahtarınız ve 24 kelimeniz
Solo2'da hesap oluştururken, 256 bit gerçek entropiye sahip bir ana anahtar üretilir (Bitcoin'in kullandığının aynısı). Bu anahtar yalnızca sizin bildiğiniz 24 kelime olarak temsil edilir. Şifreniz bu anahtarı sunucuda şifreli olarak saklamak üzere sarar — sunucu okuyamaz.
Bu, iki bağımsız anahtarınız olduğu anlamına gelir
Kesin algoritmalar (doğrulanabilir)
Üretim: CSPRNG
Ana anahtarınız nasıl korunur
| Katman | Ne olduğu | Nerede yaşıyor |
|---|---|---|
| Şifre | Sunucuya erişim. Ana anahtarınızı sarar | Hafızanızda + sunucuda hash olarak |
| Cihaz sırrı | Kurulumda otomatik üretilen görünmez ikinci faktör | Cihazınızda (çıkarılamaz) |
| Ana anahtar (24 kelime) | 256 bit gerçek entropi, rastgele üretilmiş. Bitcoin seviyesi (BIP39) | Sakladığınız bir kağıtta + sunucuda sarılmış olarak |
| Anahtar rotasyonu | Her mesaj, ardından yok edilen benzersiz bir anahtar kullanır (Double Ratchet) | Otomatik, şeffaf |
Şifrenizi değiştirirseniz
Şifrenizi değiştirmek anlıktır. Yalnızca ana anahtarınız yeni şifreyle yeniden sarılır — kimliğiniz değişmez, kasanız yeniden şifrelenmez, kişileriniz etkilenmez ve 24 kelimeniz aynı kalır. Milisaniyelik bir işlemdir.
Kurtarma
Şifrenizi kaybederseniz, 24 kelimenizle — sunucuya ihtiyaç duymadan — kasanıza erişebilirsiniz. 24 kelimenizi kaybederseniz, şifrenizle giriş yapabilirsiniz ve sunucu sarılmış anahtarınızı geri verir. İkisini de kaybederseniz, verileriniz kurtarılamaz. Bitcoin'de olduğu gibi, bu tasarım gereği güvenliktir.
6. Birisi sunucuya yetkisiz erişim sağlarsa ne olur
Bir saldırgan Solo2 sunucusuna tam erişim elde ederse şunları elde ederdi:
- Kullanıcı adları ve herkese açık adlar
- Bağlantı kodları
- Açık anahtarlar (tarayıcınızdaki özel anahtar olmadan işe yaramaz)
- Şifre parmak izleri (Argon2id sayesinde son derece maliyetli kaba kuvvet saldırısı olmadan işe yaramaz)
- Oturum jetonu parmak izleri (orijinal jeton olmadan işe yaramaz)
- Bekleyen bağlantı talepleri (dahili ID'ler, 3 günde süresi dolar)
- Hesap türü, bakiyeler ve kayıt tarihleri
- Ödeme kayıtları (belirli bir kullanıcıya bağlama imkanı olmadan)
Elde EDEMEYECEKLERİ:
- Hiçbir mesaj (sunucuda hiç bulunmadı)
- Hiçbir dosya (sunucuda hiç bulunmadı)
- Hiçbir kişi listesi (sunucuda hiç bulunmadı)
- Hiçbir sohbet geçmişi (sunucuda hiç bulunmadı)
- Hiçbir özel şifreleme anahtarı (tarayıcınızda yaşar)
- Hiçbir IP adresi (kayıt altına alınmaz)
7. Taahhüdümüz
Bu manifesto, veri yönetiminde her ilgili değişiklikle güncellenecektir. Veritabanına yeni bir alan eklersek, burada görünecektir. Bir şeyi kaldırırsak, o da görünecektir.
Yürürlükteki sürüm her zaman bu sayfadır.