İçeriğe geç
Kendi projem Mobil Yayında

QuSafe: Şifreli Kasa

Parolalar ve notlar için şifreli bir kasa. Anahtar ana paroladan cihazda türetilir ve cihazdan hiç çıkmaz; sunucu yalnızca okuyamadığı şifreli veriyi saklar.

şifreli kasa hâlâ eşitleniyor
42
Google Play indirmesi
100+
dil, biri sağdan sola
10
commit, 49 günde
636
QuSafe uygulamasından üç ekran: modül ekranı, parola listesi ve güvenlik ayarları
Soldan sağa: ana ekran; örnek verilerle doldurulmuş parola listesi; biyometrik kilit ve otomatik kilit ayarlarının bulunduğu ayarlar ekranı. Bugün iki modül çalışıyor, parolalar ve notlar; ana ekrandaki diğer dört kareyi henüz yazmadım.

Proje hakkında

Kendi uygulamam: parolalar ve özel notlar için şifreli bir kasa. Şifreleme kararlarını hazır bir kütüphaneye bırakmak yerine kendim vermek istedim. Ana parola cihazda Argon2id ile (64 MiB bellek, üç geçiş) bir anahtara dönüşür; veri AES-256-GCM ile şifrelenir ve buluta giden blok hesaba bağlanır. Biyometrik kilit ana anahtarı saklamaz: Ana anahtarı rastgele üretilen ikinci bir anahtar sarar ve cihazın güvenli deposuna yalnızca o yazılır. Kasa önce cihazdaki şifreli depoya yazar, sonra bulutla eşitlenir; sunucu veriyi okuyamaz. Aralık 2025 ile Ocak 2026 arasında 636 commit'le yazdım. Uygulama yalnızca Android'de, Google Play'de 1.4.0 sürümünde; App Store sürümü yok. Bugün iki modül çalışıyor: parolalar ve notlar. 26 Ağustos 2026 itibarıyla 42 şifreli kasa hâlâ eşitleniyordu.

Öne çıkanlar

  • Ana paroladan cihazda anahtar türetme: Argon2id, 64 MiB, üç geçiş
  • AES-256-GCM; buluttaki şifreli veri hesaba bağlı
  • Ana anahtarı saklamayan biyometrik kilit
  • Şifreli yerel depolama ve bulutla eşitleme
  • Parolalar ve notlar modülleri
  • Beş yanlış ana paroladan sonra on beş dakikalık kilit
  • On dil, sağdan sola yazılan İbranice dâhil

Zorluklar

Sunucu veriyi okuyamadığı için buluttaki kopyanın aynı parolayla şifrelenip şifrelenmediğini söyleyemez; uygulama bloğu indirip çözmeyi dener, çözemiyorsa cevap budur. İbraniceye geçince sağdan sola düzen için yapılan anlık yeniden yükleme gerçek bir cihazda uygulamayı çökertiyordu; artık yeniden yükleme kullanıcı onay verdikten sonra ayrı bir adımda yapılıyor. Otomatik kilit “hemen” ayarındayken ödüllü reklam izleyen kullanıcı ödülünü alamadan kilit ekranına düşüyordu; reklam boyunca otomatik kilit artık duraklıyor. Açık kalan bir bulgu var: Hesap girişinde deneme sayacı yok, orayı yalnızca Supabase'in hız sınırı koruyor. Bununla birlikte hesap parolası kasayı açmadığı için etkisi sınırlı.

Portfolyo

Diğer işler