Seal
← Anasayfaya dön
Güvenlik & gizlilik

İyi sözleşmeler iyi matematik ister.

Hassas bir konuyu yazıyorsunuz. Yazdığınız şey çıkıp gitmemeli, değiştirilememeli, taklit edilememeli. Bu sayfa Seal'ın güvenlik mimarisini detaylıca açıklar — şifreleme, imzalama, veri saklama, hatta limitlerimiz.

Cihaz-bazlı imzalama

Her cihaz kendi Ed25519 anahtar çiftini üretir. Özel anahtar telefonunuzdan asla çıkmaz — sunucu yalnızca açık anahtarınızı görür ve imzanızı doğrular.

Ed25519 · libsodium

Bozulamaz audit chain

Fiş üzerindeki her aksiyon (oluştur, gönder, düzelt, mühürle), bir önceki halkaya SHA-256 ile zincirlenir. Ortadan bir kayıt çıkarmak ya da değiştirmek matematiksel olarak imkansız.

SHA-256 append-only

Parolasız, telefon-doğrulamalı

Parola tutmuyoruz. Telefon doğrulaması Twilio WhatsApp üzerinden 6 haneli OTP ile. Kodlar veritabanına salt + hash olarak yazılır, sabit zamanlı karşılaştırılır, 5 dakikada süresi dolar.

WhatsApp OTP · Salted SHA-256

Minimum veri

E-posta yok, parola yok, adres yok. Yalnızca telefon (E.164) ve isteğe bağlı görünen ad. Doğrulama panelinde telefon numaraları maskeli gösterilir.

PII minimization

Uçtan uca TLS

Tüm bağlantılar (uygulama → API, OTP, push) HTTPS üzerinden. MongoDB Atlas veritabanı disk seviyesinde şifreli, erişim IP-allowlist ile sınırlı.

TLS 1.3 · Atlas at-rest

Kamuya açık doğrulama

Her mühürlü fişin benzersiz bir kodu var. getseal.app/verify/{kod} adresinden herkes (taraflar dahil) imzaları, hash'i ve audit chain'i bağımsız doğrulayabilir.

Public verifiability

Detaylı bakış

İmza modeli

Her cihaz, ilk açıldığında kendi Ed25519 anahtar çiftini üretir. Özel anahtar cihazda Secure Enclave / Keystore içinde saklanır ve sunucuya hiç gönderilmez. Bir fiş üzerinde aksiyon (oluştur, gönder, mühürle) yapıldığında, cihaz aksiyon detaylarını içeren bir mesajı kendi özel anahtarıyla imzalar; sunucu da imzayı, daha önce kaydedilmiş açık anahtarla doğrular. Böylece sunucu sahteciliği imkansız hale gelir — kullanıcı adına imza atan ancak özel anahtarın bulunduğu cihazdır.

Audit chain

Her fişin kendine ait bir aksiyon listesi vardır: oluşturma, gönderme, düzeltme önerisi, kabul, mühürleme. Her aksiyon JSON olarak normalize edilir, bir önceki aksiyonun hash'i ile birlikte SHA-256'dan geçirilir, sonuç yeni hash olarak kaydedilir. Bu zinciri "audit chain" olarak adlandırıyoruz. Ortadaki bir kaydı değiştirmek ya da silmek, sonraki tüm hash'leri kıracağı için tespit edilebilir. Mühürlü fişin sonundaki hash, fişin tüm geçmişinin parmak izidir.

OTP & oturum

Telefon doğrulaması Twilio WhatsApp Business üzerinden 6 haneli, 5 dakikalık tek kullanımlık kodla yapılır. OTP veritabanına düz metin olarak değil, her seferde rastgele üretilen bir tuz ile birlikte SHA-256 hash'i olarak yazılır; karşılaştırma sabit zamanlıdır (timing attack koruması). Telefon başına saatte 10 OTP, 5 başarısız denemede kilit. Oturum tarafında JWT yok; her istek cihazın UUID'si + ilgili Ed25519 imzaları ile sunucuya gelir.

Veri saklama & PII

Sunucuda parola, e-posta, adres, ödeme bilgisi tutulmaz. Yalnızca telefon (E.164 formatında doğrulanmış), isteğe bağlı görünen ad, ve fiş içerikleri yer alır. Fiş içerikleri MongoDB Atlas'ta (AB bölgesi) saklanır; Atlas disk seviyesinde AES-256 şifreleme kullanır, bağlantılar TLS 1.3, erişim IP-allowlist ile kısıtlıdır. Uygulama sunucumuz Railway üzerinde, otomatik HTTPS ile çalışır. Field-level şifreleme şu an uygulanmıyor; ekleme yol haritamızda var.

Public verify

Her mühürlü fişin "SEAL-XXXXX" formatında benzersiz bir kodu vardır. getseal.app/verify/{kod} sayfası kamuya açıktır — uygulamayı yüklemenize gerek olmadan, herkes bir mühürlü fişin içeriğini, taraflarını (telefonları maskeli), imza parmak izlerini ve audit chain'i görebilir. Bu sayfa "üçüncü tarafın doğrulayabilmesi" gereksinimini karşılamak için var; mühür değerinin yarısı buradan gelir.

Yasal not

Seal, dijital olarak imzalanmış güçlü bir delil belgesi üretir; nitelikli e-imza (NES) yerine geçmez. Yüksek tutarlı ya da tapu/şirket gibi resmi işlemlerde noter veya KEP/NES ile birleştirin. Sıradan günlük anlaşmaların büyük çoğunluğu için Seal tek başına yeterlidir.