Güvenlik Yaklaşımı
Flowvio, kurumsal veri güvenliğini birden fazla katmanla sağlar. Tek bir güvenlik mekanizmasına bel bağlamak yerine derinlemesine savunma (defense in depth) ilkesiyle tasarlanmıştır. Her API isteği kimlik doğrulama, yetkilendirme ve kapsam kontrolü katmanlarından geçer.
Çok Kiracılı Veri İzolasyonu
Flowvio çok kiracılı (multi-tenant) bir platformdur. Farklı şirketlerin verileri aynı veritabanı altyapısında tutulabilir; ancak her kayıt organizasyon birimi yabancı anahtarı ile zorunlu olarak izole edilir. Bir şirketin kullanıcısı, API üzerinden bile başka şirketin verilerine erişemez. Bu kontrol uygulama katmanında değil, sorgulama motorunda uygulanır.
JWT Kimlik Doğrulama
Her oturum iki token üretir: kısa ömürlü erişim token'ı ve uzun ömürlü yenileme token'ı. Erişim token'ı süresi dolduğunda sayfa yenilemeden arka planda yenilenir. Kullanıcı çıkış yaptığında yenileme token'ı kara listeye alınır; bu token ile yeni erişim token'ı üretilemez.
Kaba Kuvvet Koruması
Art arda başarısız giriş denemeleri otomatik olarak izlenir. Belirlenen eşik aşılınca hesap geçici olarak kilitlenir. Kilitlenme IP bazlı, kullanıcı adı bazlı veya ikisi birlikte uygulanabilir. Yöneticiler başarısız giriş loglarını inceleyebilir.
Rol Tabanlı Erişim Kontrolü
Her API endpoint'i ilgili izin kodunu kontrol eder. Yetkisiz bir isteğe 403 Forbidden dönülür. Yetki kontrolü hem API hem de arayüz katmanında çift taraflı uygulanır; arayüzde bir butonu gizlemek tek başına yeterli değildir — API da korunur.
Kayıt Seviyesi Güvenlik
Form Builder'da her form için erişim kapsamı belirlenir. Kullanıcı listeleyi çektiğinde sistem otomatik olarak o kullanıcının görebileceği kayıtları filtreler. Bu filtreleme veritabanı sorgu düzeyinde uygulanır; uygulama kodu her kaydı tek tek kontrol etmez, bu da hem güvenli hem performanslı çalışır.
Değiştirilemez Denetim Zinciri
Form üzerindeki her eylem — oluşturma, güncelleme, silme, onaylama, reddetme — denetim log tablosuna yazılır. Her log kaydı içeriğin SHA-256 hash'ini ve önceki kaydın hash'ini içerir. Bu blockchain benzeri zincir, geriye dönük değiştirmeyi tespit edilebilir kılar.
Denetim modu iki seçenek sunar:
- Diff Modu: Yalnızca değişen alanlar kaydedilir — depolama verimli
- Tam Snapshot Modu: Her değişiklikte tüm kayıt kopyalanır — maksimum şeffaflık
Denetim zincirini doğrulamak için manage.py audit_verify komutu çalıştırılır; herhangi bir bozulma anında tespit edilir.
Dosya Güvenliği
Yüklenen dosyalar UUID ile adlandırılır; orijinal dosya adı URL'ye yansımaz. Dosya indirme endpoint'leri JWT doğrulaması gerektirir. Başka bir kullanıcının dosya UUID'sini bilen biri, yetkisi yoksa dosyaya erişemez.
HTTPS ve Şifreleme
Üretim ortamında tüm trafik HTTPS üzerinden şifrelenir. Nginx, HTTP isteklerini otomatik olarak HTTPS'e yönlendirir. Veritabanı parolaları, gizli anahtarlar ve API token'ları ortam değişkenleri üzerinden yönetilir; kaynak koduna gömülmez.
Uyumluluk
- KVKK kapsamında kişisel veriler şifreli kanallar üzerinden iletilir ve erişim denetim altındadır
- E-fatura modülü GİB standartları ve UBL-TR formatına uyumludur
- Denetim zinciri finansal denetimler ve ISO 27001 gereksinimleri için kullanılabilir niteliktedir
- Kullanıcı aktivite logları hukuki uyuşmazlıklarda kanıt niteliği taşır