Zum Inhalt springen / Skip to content

Wavor'da Güvenlik

Your business data deserves the same protection as a bank. We don't just tell you WHAT we protect. We show you HOW.

AES-256TLS 1.32FADSGVO/GDPRUK GDPRLGPD (BR)DPDP (IN)AB Sunucuları

Temel Güvenlik

AES-256 Şifreleme
Sensitive fields are stored encrypted. Read without the key, they show nothing.
AB Veri Merkezleri (Hetzner DE)
Servers and customer files in Germany. Offsite backups sit encrypted outside the EU under the EU's transfer safeguards; the privacy policy names the provider.

Uptime & Altyapı

99.9%
Çalışma Süresi Hedefi
6h
Yedekleme Aralığı
90d
Longest retention
Nerd zone

It gets technical from here. You do not need to read any of it to use Wavor safely - it is here so it can be checked.

Güvenlik Mimarisi

How your data flows. From request to storage

ADIM 1
Cloudflare Edge
DDoS koruması, WAF, 1.2 geri dönüşü ile TLS 1.3. Küresel anycast ağı.
ADIM 2
Cloudflare Tüneli
Köken fiziksel olarak ulaşılamaz. Sadece CF'ye giden bağlantı, gelen port yok. Wavor RSA-4096 sertifikası ile AOP Özel Güven.
ADIM 3
Node.js Uygulaması
Oturum doğrulama, 2FA kontrolü, RBAC, Zod şemaları aracılığıyla girdi doğrulama.
ADIM 4
PostgreSQL + Vault
Encrypted storage with AES-256. Secrets in HashiCorp Vault.
TLS 1.3 (1.2 Geri Dönüş)
Tüm 7 alanında Tam Sıkı HTTPS.
DDoS Protection
Edge protection before the server sees the request.
Veri nerede depolanıyor?
The servers are at Hetzner in Germany (Falkenstein and Nuremberg), customer files in object storage in Germany. The data centres are guarded around the clock, with biometric access. Backups and some services such as email, SMS and AI run through providers outside the EU. Those transfers are secured under the EU's rules, and the privacy policy names every provider.
Anahtarlar nasıl güvence altına alınıyor?
All API keys and secrets in HashiCorp Vault (KV v2, encrypted, access-controlled). Automatic rotation warning at 90/180/365 days. No plaintext secrets in code, env, or logs.
Yedekleme nasıl çalışır?
Automated PostgreSQL backups every 6 hours. Kept: every one for two days, one a day up to 14 days, one a week up to 90 days. Each is decrypted again and checked after encryption, and every night the newest is restored as a test. Offsite copy at Backblaze, encrypted with our own key before it leaves the server.

Savunma Katmanları

HTTP Security Headers: 14 hardened directives

CSP Level 3 (21 Direktiven)
Zorunlu mod. Maksimum W3C standardı dahil. script-src-elem/-attr ayrıntılı, admin alt alanında Trusted-Types, manifest/worker/media-src beyaz liste.
HSTS (Strict-Transport-Security)
max-age 1 year, includeSubDomains, preload enabled.
X-Frame-Options
DENY. No clickjacking via iframes.
X-Content-Type-Options
nosniff. Browsers cannot misinterpret MIME types.
Referrer-Policy
strict-origin-when-cross-origin.
Permissions-Policy
Camera, microphone, geolocation. All disabled by default.
COOP (Cross-Origin-Opener-Policy)
same-origin. Isolates browsing context.
CORP (Cross-Origin-Resource-Policy)
same-site. Resources cannot be embedded cross-origin.

Independently verifiable: Mozilla's HTTP Observatory grades the headers of wavor.io A+. A test asks Mozilla for the result again every night. https://developer.mozilla.org/en-US/observatory/analyze?host=wavor.io(developer.mozilla.org)

Hesap Güvenliği

2FA: TOTP / SMS / E-posta
İkinci faktör için üç yöntem. Yedek kodlar tek kullanımlık.
Cihaz Tanıma
Yeni cihazlarda IP + Kullanıcı-Ajan ile e-posta ile anlık bildirim.
Oturum Yönetimi
Açık oturumları görüntüleyin, bireysel olarak sonlandırın veya hepsini aynı anda çıkış yapın.
Kaba Kuvvet Koruması (3 katman)
Her e-posta için 5 başarısız giriş / 15 dakika kilitlenme. Her IP için 10 / 1 saat. Bir IP'den 5 farklı e-posta / 24 saat yasak.
Cloudflare Turnstile Captcha
Bot protection without click-puzzle. Script loaded with crossOrigin anonymous + no-referrer. No session leak to Cloudflare.
Bcrypt Şifre Hashleme (maliyet 12)
Every guess costs computing time, which makes list attacks unaffordable. Passwords >= 12 chars, zxcvbn strength check.
Zod Girdi Doğrulama
Tüm API girişi sunucu tarafında Zod ile doğrulanır. Drizzle-Zod, DB şeması ile tek kaynak olarak doğruluk sağlar.
Rate limiting with a sliding window
A sliding window rather than fixed blocks, so a limit is not handed out afresh at the top of every minute. The counter currently lives in the individual worker process; once Redis is configured, all processes share one.

Gelişmiş Kontroller

Ayrıntılı RBAC (başarısızlık-kapalı)
Rol + HTTP yöntemi farkında: GET görüntüleme gerektirir, POST/PATCH düzenleme gerektirir, DELETE silme gerektirir. Eksik izin = 403, asla atlatma.
Çoklu Kiracı İzolasyonu
Her DB sorgusunda companyId kapsamı. Kiracılar arasında veri sızıntısı yok.
Denetim Günlükleri
Every mutation logged via eventLog + AuditLogger. Immutable trail with userId, companyId, action, entity.
Approval by two people
Four actions need two approvals: changes to legal values, prices and terms, and a new sub-processor. While only one person is authorised, that person decides alone. The rule takes effect once there is a second.
Gizli Döngü Politikası
secretRotation.ts aracılığıyla 90/180/365 günde otomatik uyarı.
Yanıtlarda PII Maskelenmesi
E-posta, IBAN, telefon PII erişimi olmayan takım üyeleri için maskelenmiştir. piiMasking.ts merkezi.
Kayıt Temizleme
All logs are centrally scrubbed. Zero PII in logs, monitoring or debug output.
Kapsamlı API Anahtarları
apiKeyAuth.ts aracılığıyla sona erme ile ayrıntılı izinler.
Yumuşak Silme ve Kurtarma
Silinen verilerin 28 günlük kurtarılması. otomatik sorgu filtresi ile deletedAt sütunu.
Data export
Tüm kullanıcı verilerinin tek bir istekte tam JSON dışa aktarımı. Silme, DSAR akışı (Madde 17) ile.

Veri Koruma

Concrete technical measures

Alan Düzeyinde Şifreleme (AES-256-GCM)
IBAN, tax-ID, social-security, bank-details, TOTP 2FA secrets and one-time codes (login/verification/reset): AES-256-GCM with 96-bit IV, 128-bit auth-tag. Random IV per encrypt.
Başarısızlık-kapalı Şifreleme
Üretimde ENCRYPTION_KEY olmadan: sunucu başlamayı reddeder. Düz metin geri dönüşü yok (GDPR Madde 32 lit. a).
Değiştirme Tespiti (GCM)
AES-GCM auth-tag detects any ciphertext tampering. Decrypt fails hard. Never silent accept.
HMAC-SHA256 Arama Hash'leri
Encrypted fields stay searchable via deterministic HMAC. Separate key (Key-Separation per NIST SP 800-57).
Vault Anahtar Yönetimi
ENCRYPTION_KEY + SESSION_SECRET + HashiCorp Vault (KV v2) içindeki tüm API anahtarları. Kodda, ortamda veya kayıtlarda düz metin yok.
Dönüşüm için Anahtar Sürümleme
Ciphertext format v1:iv:data:tag. Rotatable to new version without data loss.

Tedarik Zinciri Güvenliği

Tehlikeye atılmış bağımlılıklara karşı koruma (event-stream 2018, ua-parser-js 2021)

Dependencies as a build gate
Every build checks all dependencies against the vulnerability database. New findings block; known ones sit in a dated baseline that may only shrink.
Dependabot Uyarıları
GitHub Dependabot, CVE veritabanına karşı günlük kontroller yapar. Otomatik güvenlik PR'ları.
Kilitleme dosyası taahhüt edildi
package-lock.json in repo. Prevents CI from pulling different versions than local.
SSRF protection on outbound fetches
Every address that comes from user input is checked before Wavor fetches it. Private networks are blocked, and each redirect is checked again instead of being followed blindly.
Otomatik Güvenlik Yamanları
unattended-upgrades installs operating-system security fixes automatically.
Dış Betikler: CORS + Yönlendiren
Turnstile (Cloudflare), crossOrigin anonim + referrerPolicy no-referrer ile yüklendi. Kimlik bilgisi sızıntısı yok.

İzleme & Gözlemlenebilirlik

Error Tracking (self-hosted)
Yığın izleri ile gerçek zamanlı hata uyarıları.
Metrikler (Prometheus + Grafana)
İstek gecikmesi, DB sorguları, bellek, özel iş metrikleri.
Sunucu İzleme
Uptime, CPU, memory, disk: 24/7 automated checks.

Dosya Yükleme Güvenliği (7 Katmanlı Yığın)

Kötü amaçlı yazılımlara, çok dilli saldırılara, SVG-XSS, yol geçişine, MIME-sniffing'e karşı koruma

Katman 1: Kesin Boyut Kapısı (100 MB)
Zip bombalarına + DoS'a karşı sert sınır. Multer + derinlikte savunma.
Katman 2: Tür Başına Boyut Kapısı
Görüntüler 5 MB, PDF 20 MB, video 100 MB. Tür özel sınırlar.
Katman 3: MIME Beyaz Listesi + Kara Listesi
22 tür izin verilir. HTML/JS/EXE/SH/JAR açıkça engellenmiştir (XSS vektörleri).
Katman 4: Dosya Adı Temizleme
Yol geçişi (../), null-byte, Windows'a ayrılmış adlar engellendi.
Katman 5: Sihirli Bayt Doğrulama
File content MUST match extension + MIME. File-type library detects 'evil.exe renamed picture.jpg' attacks.
Katman 6: SVG Temizleme
DOMPurify, SVG'lerden gömülü <script> etiketlerini temizler. Temizleme olmadan, SVG yüklemesi yaygın bir XSS vektörüdür.
Layer 7: virus scan
Server-side virus scan before storage, provided the scanner is running on the server. If it is missing, that is logged rather than passed over silently.

XSS Derinlikte Savunma (4 Katman)

Stored, reflected, DOM, supply-chain XSS. All vectors covered

Katman 1: React JSX Otomatik Kaçış
Tüm kullanıcı girdileri varsayılan olarak kaçırılır. <script> etiketleri metin olarak işlenir, asla çalıştırılmaz. Kod kuralı: kullanıcı girişi ile asla dangerouslySetInnerHTML kullanmayın.
Katman 2: DOMPurify Temizleyici
sanitizeProse() + sanitizeEmailPreview() makale-HTML, e-posta önizlemeleri + markdown temizler. <script>, <iframe>, on*-işleyicileri, javascript:/data: URI'lerini kaldırır.
Katman 3: CSP script-src 'self'
Katmanlar 1+2 başarısız olsa bile: tarayıcı yabancı scriptleri engeller. Sadece Stripe + Turnstile captcha için beyaz liste.
Katman 4: Trusted-Types (Yönetici)
admin.wavor.io'da 'script' için trusted-types gerektirir, her DOM manipülasyonunu bir politika aracılığıyla zorlar. Kütüphane hatalarının DOM-XSS oluşturmasını engeller.

Sertifikasyon Yol Haritası

Şeffafız: Kurulum aşamasındayız ve henüz resmi sertifikalarımız yok. Ancak standartları zaten uyguluyoruz ve bunlara yönelik aktif olarak çalışıyoruz.

DSGVO / GDPR (EU)
Uygulandı
UK GDPR (Data Protection Act 2018)
Uygulandı
LGPD (Brasilien)
Uygulandı
DPDP Act 2023 (Indien)
Uygulandı
AVG (Niederlande)
Uygulandı
FADP (Schweiz)
Uygulandı
ePrivacy (Cookie-Consent)
Uygulandı
DSA (Digital Services Act)
Uygulandı
SOC 2 Type II
Planlandı
ISO 27001:2022
Planlandı
ISO 27017 + 27018 (Cloud)
Planlandı
ISO 27701 (Privacy)
Planlandı
ISO 42001 (AI Management)
Planlandı
BSI C5 Type II
Planlandı
CSA STAR Level 1
Planlandı

We additionally align with the EU AI Act, NIS2 and GoBD (German bookkeeping). These are regulations, not certifications.

Güvenlik Sorunu Bildir

Found a vulnerability? Report it confidentially to our team. We take every report seriously and will get back to you as quickly as possible.