Veri Güvenliği
SecureCodingHub her katmanda güvenlik ilkesiyle tasarlanmıştır. Bu sayfa, kuruluşunuzun verilerini nasıl koruduğumuzu kapsar.
Şifreleme
Tüm veriler endüstri standardı şifreleme ile korunur:
İletim Halinde
Tüm veriler tarayıcınız ile sunucularımız arasında TLS 1.2+ kullanılarak şifrelenir. Düz metin iletim yoktur.
Beklemede
Beklemede bulunan tüm veriler AES-256 şifreleme kullanılarak şifrelenir. Veritabanı yedekleri şifrelenir.
Altyapı
- AWS üzerinde barındırılır (ABD bölgesi)
- Uygulama ve veritabanı izole ağlarda
- Düzenli güvenlik yamaları ve güncellemeler
- AWS Shield ile DDoS koruması
- Otomatik izleme ve uyarı
Veri İşleme
Sakladığımız veri ve nedenleri:
| Veri Türü | Saklanıyor | Amaç |
|---|---|---|
| Kullanıcı e-postası ve adı | Evet | Hesap tanımlama |
| Görev ilerlemesi ve puanlar | Evet | Eğitim takibi |
| Teknoloji tercihleri | Evet | Kişiselleştirme |
| Kimlik doğrulama token'ları | Geçici | Oturum yönetimi |
| Parolalar | Hayır | Parolasız kimlik doğrulama kullanıyoruz |
| Kaynak kodu | Hayır | Görevler yalnızca istemci tarafındadır |
Uyumluluk
- GDPR uyumlu — meşru menfaat / sözleşme dayanağıyla veri işleme
- Kullanıcılar veri dışa aktarımı veya silme talep edebilir
- Veri saklama: aktif hesaplar süresiz korunur, silinen hesaplar 90 gün sonra temizlenir
- Alt işleyiciler gizlilik politikamızda listelenir
Erişim Kontrolü
- Her kuruluş içinde rol tabanlı erişim kontrolü (
org_adminvelearner) - Kurum düzeyinde veri izolasyonu (çok kiracılı) — her kayıt veri erişim katmanında uygulanan bir
organizationIdkapsamı taşır - Sağlama API'leri için SCIM token kimlik doğrulaması (önce SSO yapılandırılmış olmalı)
- Public REST ve webhook yüzeyinde API anahtarı başına hız sınırlama (anahtar başına dakikada 60 istek ve saatte 1.000 istek); anonim web iletişim formunda ayrı bir IP sınırlayıcı (15 dakikada 5)
- Tarayıcı tabanlı yönetici ve öğrenci uç noktaları için JWT bearer token; public yüzey için uzun ömürlü özetlenmiş API anahtarları — tam ayrıntılar Kimlik Doğrulama bölümünde
Webhook imzalama
SecureCodingHub'dan uç noktalarınıza giden webhook'lar, uç nokta başına bir gizli anahtarla HMAC-SHA256 kullanılarak imzalanır; bu gizli anahtar uç nokta oluşturulduğunda yöneticiye bir kez gösterilir ve bir daha döndürülmez. İmza başlığının formu t=<unix_seconds>,v1=<hex>; imzalanan yük <t>.<raw_body>. Alıcılar, tekrar saldırılarına karşı korunmak için zaman damgası alıcının saatinden 5 dakikadan fazla sapan teslimatları reddetmeli ve imzaları sabit zamanlı karşılaştırmalıdır.
Teslimat en az bir kezdir. Başarısız teslimatlar (2xx olmayan herhangi bir yanıt ya da ağ hatası) 1dk / 5dk / 30dk / 2sa / son deneme programıyla üstel geri çekilmeyle yeniden denenir. Beş başarısız denemeden sonra uç nokta otomatik olarak devre dışı bırakılır ve kurum yöneticisi denetim günlüğü aracılığıyla bilgilendirilir. Kurulum ve doğrulama kod örnekleri API → Webhook'lar bölümünde.
Uygulama düzeyinde gizli anahtar işleme
Uygulama katmanında üç gizli anahtar türü yönetilir; bunların disk üzerindeki işlenişi, yukarıdaki depolama katmanı şifrelemesiyle birlikte eksiksiz olması için burada anlatılır.
| Gizli Anahtar | Depolama | Geçerlilik süresi |
|---|---|---|
| Public API anahtarları | Yalnızca SHA-256 özeti, 9 karakterlik önek (scs_live_) ve son dört karakter kalıcı olarak saklanır. Tam token oluşturma sırasında bir kez gösterilir ve sunucudan bir daha alınamaz. | Varsayılan olarak süresizdir. Oluşturma sırasında isteğe bağlı bir son kullanma tarihi belirlenebilir. İptal anında etkili olur. |
| Webhook imzalama gizli anahtarları | Sunucunun her giden teslimatı imzalamak için ham değere ihtiyacı olduğundan webhook uç nokta kaydının yanında düz metin olarak saklanır. Oluşturma sırasında bir kez gösterilir ve API üzerinden bir daha döndürülmez. Rotasyon, uç noktayı silip yeniden oluşturmayı gerektirir. | Webhook uç noktası yaşadığı sürece yaşar. |
| Magic Code'lar (e-posta OTP) | 6 haneli kod magic code satırında düz metin olarak saklanır. Kodlar tek kullanımlıktır ve kullanıcının e-postasına bağlıdır; satır ilk doğrulamanın ardından tüketildi olarak işaretlenir. | Her kod verildiğinden 10 dakika sonra sona erer. Tüketilmemiş süresi dolmuş kodlar, temizlik işlemi onları silene kadar denetim izi olarak tabloda kalır. |
| SSO istemci gizli anahtarları / SAML sertifikaları | Sunucunun IdP ile müzakere etmek için ham değerlere ihtiyacı olduğundan SchSsoConfig kaydında düz metin olarak saklanır. Yapılandırma kaydedildikten sonra herhangi bir okuma uç noktası üzerinden sunulmaz. | SSO yapılandırması yaşadığı sürece yaşar. |
Güvenlik Açıklarını Bildirme
Bir güvenlik açığı keşfederseniz security@securecodinghub.com adresine ulaşın. Tüm bildirileri ciddiye alıyoruz ve 48 saat içinde yanıt vermeyi hedefliyoruz.
SecureCodingHub'da veri sınıflandırması
Ortamımızdaki veriyi pratik olarak üç kovaya ayrılır şekilde ele alıyoruz. Müşteri verisi, kuruluşunuza ait olan ve kullanıcılarınızın platform aracılığıyla girdiği veya ürettiği bilgilerdir: hesap tanımlayıcıları, öğrenci e-posta adresleri, rol atamaları, eğitim ilerlemesi, bireysel görevlerdeki puanlar ve teknoloji tercihleri. Bu kova DPO'nuzun ilgilendiği kovadır ve içeride en yüksek hassasiyet kademesi olarak ele aldığımızdır.
Operasyonel telemetri ikinci kovadır. İstek logları, anonimleştirilmiş performans metrikleri, kişisel tanımlayıcıları çıkarılmış hata izleri ve platform genelinde güvenilirlik panellerini yüzeye çıkarmak için kullanılan sayaçları kapsar. Bu veri hizmeti güvenli biçimde çalıştırmak için gereklidir ve müşteri verisine göre daha kısa bir kayar pencerede tutulur. Üçüncü kova, görev içeriğinin kendisidir — kullanıcılarınıza yazıp gönderdiğimiz açıklı kod örnekleri, ipuçları ve referans çözümler. Bu içerik bizim fikri mülkiyetimizdir, sizin değil, ve kuruluşunuzun kayıtlarıyla karıştırılmaz.
Saklama pencereleri buna göre farklılaşır. Aktif müşteri hesapları sözleşme yürürlükte olduğu sürece saklanır. Hesap silindiğinde tanımlanabilir müşteri verisini 90 günlük bir saatte temizleriz; bu gecikme, pencere içinde yanlışlıkla yapılan bir silmenin geri alınabilmesi için vardır. Operasyonel telemetri aylar değil haftalarla ölçülen daha kısa bir döngüde elenir. Tam veri envanteri ve saklama özellikleri aşağıda listelenen talep kanalı aracılığıyla NDA altında müşterilere sunulur ve son kullanıcılar için gizlilik politikası sayfasında özetlenir.
Şifrelemenin nasıl katmanlandığı
SecureCodingHub'da şifreleme tek bir kontrol değildir — katmanlıdır ve her katman diğerlerinin başarısız olabileceğini varsayar. Kullanıcılarınız ile platform arasındaki iletim halindeki veri, yük dengeleyicide zorunlu kılınan modern şifre seçimleriyle taşıma katmanı şifrelemesiyle korunur; zayıf protokoller ve düşürmeye eğilimli şifreler devre dışı bırakılır. Aynı taşıma duruşu, uygulama hizmetleri ile yönetilen veri depolarımız arasındaki trafiğe de uygulanır; üretim VPC'sinin içinde hiçbir şey bir ağ sınırı boyunca düz metin olarak hareket etmez.
Beklemedeki veri, depolama katmanında barındırma platformumuzun sağladığı şifreleme hizmetleri kullanılarak şifrelenir; anahtar yönetimi uygulama düzeyinde kod tabanımıza işlenmiş anahtar materyali yerine aynı sağlayıcının yönetilen anahtar hizmeti tarafından üstlenilir. Yedekler birincil depoyla aynı şifreleme duruşunu devralır. Açıklamayı bu sayfada belirli algoritmalar, anahtar uzunlukları ya da rotasyon kadansları yerine politika düzeyinde tutmayı bilinçli olarak tercih ediyoruz; çünkü bu değerleri yayımlamak kırılgan bağımlılıklara davet çıkarır ve saldırganlara bir hedef listesi sunar. Spesifikler tedarik incelemeleri için NDA altında sunulur.
Kiracı izolasyonu üçüncü katmandır. Müşteri verisi kademesindeki her kayıt bir kurum tanımlayıcısı kapsamına alınır ve bu kapsama yalnızca uygulama düzeyindeki filtrelere güvenilerek değil, veri erişim katmanında uygulanır. Pratik etkisi şudur: bir özellikteki sorgu hatası, başka bir kuruluşun verisini API aracılığıyla yanlışlıkla ifşa edemez, çünkü eksik kapsam yanlış sonuçlar yerine sonuç olmaması olarak yüzeye çıkar. Bir kuruluş içinde rol tabanlı erişim aynı veri erişim katmanı tarafından uygulanır; böylece bir kullanıcının kurum kapsamı ve rolü, herhangi bir uygulama düzeyindeki filtre çalışmadan önce hangi kayıtların görünür olduğunu belirler.
Alt işleyici ve veri ikametgâhı duruşu
SecureCodingHub bugün yalnızca ABD bölgelerinde barındırılır. Bu, mevcut ölçeğimizde bilinçli bir operasyonel seçimdir — tek bir birincil bölge çalıştırmak olay yanıtımızı sadeleştirir, denetçilerin geçmek zorunda olduğu yüzey alanını azaltır ve alt işleyici listemizi kısa tutar. Bizi ABD dışından değerlendiren kuruluşlar için bunu veri koruma yetkilinize en başta yüzeye çıkarılacak tek bir önemli gerçek olarak görün: veri tasarım gereği bir ABD sınırını geçer ve bu transferi desteklemek için standart sözleşme maddeleri dahil sözleşmesel güvenceler sunulur.
Gelecekte AB'de yerleşik bir dağıtım eklersek değişiklikler kozmetik değil esaslı olacaktır. Ayrı bir birincil bölge, AB'de yerleşik faaliyet gösteren ayrı bir alt işleyici kümesi, ayrı bir yedekleme hedefi kümesi ve yeni akışı yansıtan güncellenmiş bir veri işleme ekini ima eder. Mevcut kuruluşları yeni bir bölgeye sessizce geri taşımayacağız; herhangi bir taşıma bildirimli ve tanımlı bir geçiş penceresiyle birlikte gönüllü bir taşıma olur. Mevcut alt işleyici listesi, bölgesel duruş beyanı ve güncel sızma testi özeti talep üzerine security@securecodinghub.com adresinden sağlanır. Satıcı güvenlik anketlerine paylaşılan güven portalları üzerinden değil doğrudan yanıt veririz ve talep eden tarafın güncel alt işleyici listesini almak için ödeme yapan bir müşteri olması gerekmez.