Güvenlik ve Gizlilik Rehberi
Bu rehber, Kilavuz’un proje tarafından kontrol edilen güvenlik ve gizlilik yüzeylerini özetler. Wasp SDK’sının iç form kontrolleri İngilizce kalır; bu istisna bilinçli bir kapsam kararıdır ve README içinde ayrıca belgelenmiştir.
Kimlik doğrulama
- Tüm hesap açma ve oturum açma işlemleri Wasp’ın sağladığı kimlik
doğrulama katmanı üzerinden yürür. Parolalar
bcryptile çözümsüz biçimde saklanır. - Doğrulama e-postaları
noreply@kilavuz.appadresinden,noreply@kilavuz.appile gönderilen tek gönderici kimliği üzerinden iletilir. Gönderici alan adı için gerekli DNS ve Resend doğrulamalarıdocs/deploy/kilavuz-readiness.mdbelgesinde listelenmiştir.
Oturum yönetimi
- Oturum çerezleri
HttpOnlyveSecureolarak ayarlanır. - Üretim ortamında (
kilavuz.app,admin.kilavuz.app) tüm trafik HTTPS üzerinden zorunlu kılınır; HSTS başlığıStrict-Transport- Security: max-age=31536000; includeSubDomains; preloaddeğeri ile yüklenir. - API katmanı (
api.kilavuz.app), isteklere yalnızca izin verilen kaynak listesi (CORS_ALLOWED_DOMAINS) üzerinden yanıt verir. Liste sunucu başlangıcında ayrıştırılır; geçersiz bir girdi sunucunun açılmasını engeller ve hata günlüğüne yazılır.
Yönetim paneli ayrımı
admin.kilavuz.app ve kilavuz.app aynı kaynak kodu tabanını
paylaşır, ancak farklı istemci paketleri olarak derlenir. Genel web
nginx yapılandırması, /admin yolu için sabit bir 404 döner; üretim
ortamında curl -o /dev/null -w '%{http_code}' https://kilavuz.app/admin komutunun 404 döndürmesi beklenir.
Yönetim paneli tarafı, sunucu tarafında isAdmin kontrolüyle
korumalıdır. Bir yöneticinin (isAdmin === true) erişebildiği API
uç noktaları sıradan kullanıcılara 403 döner; bu davranış kullanıcının
seçtiği dilden bağımsızdır.
Çerez onayı
- Çerez onayı diyaloğu,
app/src/client/components/cookie-consent/altında tanımlı sözlüklerden beslenir ve seçilen dille birlikte güncellenir. - Tercih
localStorage["kilavuz.cookie-consent"]altında saklanır ve zorunlu çerezler dışındaki tüm çerezler bu tercih olmadan yüklenmez. - Tercih anahtarı eksikse diyalog kontrollü biçimde Türkçe içerikle görüntülenir; kullanıcı İngilizce’yi seçtikten sonra bile diyalog metinleri yeni dilde yeniden yüklenir.
Veri saklama
- Sıradan kullanıcı verileri, uygulamanın Prisma şemasında tanımlı tablolarda Postgres üzerinde saklanır.
- Bir kullanıcı hesabını sildiğinde, kullanıcıya ait kişisel veriler geri dönüşü olmayan biçimde silinir; anonimleştirilmiş denetim kayıtları (örneğin fatura dönem bilgisi) yasal saklama süresi boyunca tutulabilir.
- Yumuşak silinen sorular, projenin kendi “çöp kutusu” sorgusunda
görünür kalır ve proje sahibi tarafından kalıcı olarak temizlenene
kadar veritabanında
deletedAtdamgasıyla saklanır.
Geliştirme ortamında e-posta doğrulamayı atla
SKIP_EMAIL_VERIFICATION_IN_DEV ortam değişkeni true olarak
ayarlandığında, geliştirme ve uçtan uca test koşumlarında e-posta
doğrulama adımı atlanır. Bu değişken yalnızca geliştirme ortamlarında
etkindir; üretim yapılandırmasında göz ardı edilir.
İhlal bildirimi
Güvenlik açıklarını security@kilavuz.app üzerinden bildirin. Bu
adres şu anda bir yönlendirme olarak çalışır ve gönderilen postalara
yanıt verilmez; gerçek bir dağıtım adresi, dağıtım hazırlık
belgesinde ayrıca yayımlanacaktır.