Bir diyagram çoğu zaman göründüğünden fazlasını taşır. Bir mimari eskiz servislerinin adını verir, bir şema verinin nasıl şekillendiğini gösterir, bir olay beyaz tahtası asla dışarı sızmasını istemeyeceğin şeyleri kaydeder. Bu yüzden ister bulutta ister self-hosted diyagram aracı olsun, her çizim aracına sorulacak dürüst soru basittir: bu aslında nerede duruyor ve onu başka kim okuyabiliyor?
LetDraw, varsayılan yanıt "sen" olacak şekilde tasarlandı. Çalışman tarayıcında başlar ve orada kalır, hassas kısımlar cihazından çıkmadan önce şifrelenir; gereksinimlerin katıysa her şeyi kendi altyapında çalıştırabilirsin. Pazarlama cilası olmadan, bunun nasıl işlediği aşağıda.
Varsayılan olarak local-first
Bir tuval açtığında, çizmeye başlamak için verini devretmiyorsun. Diyagramlar doğrudan tarayıcıda, çevrimdışı da dahil olmak üzere çalışır ve uygulamada seni takip eden üçüncü taraf izleme yoktur. Bulut senkronizasyonu senin açtığın bir şeydir, başına gelen bir şey değil.
- Çevrimdışı çalışır. Editör istemci tarafında çalışır; bağlantı olmadan çizmeye devam edebilirsin ve eve haber vermeyi bekleyen hiçbir şey yoktur.
- Senkronizasyon isteğe bağlıdır. Buluta kaydetmek ve ortak çalışanları davet etmek bilinçli tercihlerdir. Sen bu tercihleri yapana kadar çalışman yerelde kalır.
- Üçüncü taraf izleme yok. Tuval, ne çizdiğini izleyen reklam ağlarına ya da davranış izleyicilerine bağlı değildir.
Varsayılan "her şeyi bize emanet et" değil. Varsayılan, sen aksine karar verene kadar çalışmanın sende kalmasıdır.
Önemli yerde uçtan uca şifreli diyagramlar
Ortak çalıştığında da hassas içerik uçtan uca korunur. Canlı ortak çalışma oturumları ve paylaşılan anlık görüntüler doğrudan tarayıcıda AES-GCM ile şifrelenir ve anahtar senin cihazında türetilir. Katılımcılar arasında mesajları taşıyan relay yalnızca şifreli metni görür. Okuyamadığı byte'ları taşır, o kadar.
İletim sırasında da her şey korunur. LetDraw her yerde TLS kullanır ve HSTS tam bir yıl boyunca zorunlu tutulur; böylece tarayıcılar şifresiz bir bağlantıya geri düşmeyi reddeder. Bunun üzerine, saklanan verilere erişim veritabanındaki row-level security ile yönetilir: yalnızca kendi verine ve üyesi olduğun çalışma alanlarının verisine ulaşırsın. Büyük sahneler de herkese açık bir bucket'tan sunulmaz. Hızla süresi dolan kısa ömürlü imzalı URL'lerin arkasında dururlar.
Uçta güçlendirilmiş
Bir çizim uygulaması da sonuçta bir web uygulamasıdır ve saldırıların çoğu tarayıcıya iner. LetDraw, eksiksiz bir güvenlik header'ı setiyle birlikte zorunlu bir Content Security Policy ile gelir; böylece uygulama neyi yükleyip ne yapabileceği konusunda sıkı bir bütçeyle çalışır. İçe aktarılan SVG'ler tuvale yerleştirilmeden önce temizlenir; böylece özel hazırlanmış bir dosya oturumuna script sokamaz.
Bunlar hedef değil. Sitenin gerçekten döndürdüğü header'lar bunlar:
# GET https://letdraw.com Strict-Transport-Security: max-age=31536000; includeSubDomains; preload Content-Security-Policy: default-src 'self'; script-src 'self' X-Frame-Options: SAMEORIGIN X-Content-Type-Options: nosniff Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: camera=(), geolocation=()
Sade bir dille: bağlantılar bir yıl boyunca HTTPS'e sabitlenir, script'ler ve diğer kaynaklar açıkça izin verdiğimiz origin'lerden gelmek zorundadır, uygulama başka bir site tarafından sessizce frame içine alınamaz, tarayıcılara içerik türünü tahmin etmemeleri söylenir, referrer verisi dışarı çıkarken kırpılır, kamera ve konum gibi donanım erişimleri kapalıdır. Daha ayrıntılı tabloyu güvenlik sayfasında okuyabilirsin.
Başka hiçbir şey yetmediğinde self-host et
Bazı veriler binadan hiç çıkmamalıdır ve başkasının sunucularındaki hiçbir şifreleme bu politikayı değiştirmez. Bu durumlar için Enterprise planlar LetDraw'u self-host edebilir; böylece uygulama ve verisi tamamen kendi ağının ya da bölgenin içinde çalışır. Altyapından hiçbir şey çıkmaz ve veri yerelliği, inanman gereken bir söz olmaktan çıkıp kendi kurulumunun bir gerçeğine dönüşür.
Self-host etmek, en katı uyumluluk gereksinimlerine verilebilecek en temiz yanıttır da; çünkü tüm sistemi zaten çalıştırdığın ve kendin denetlediğin kontrollerin altına koyar.
Uyumluluk hakkında dürüst bir söz
Sayfayı şişirmektense seninle açık konuşmayı tercih ederiz. LetDraw, SOC 2 ya da ISO 27001 gibi şemalara karşı henüz resmi olarak sertifikalı değil. Bugün yapabildiğimiz şey, sistemin nasıl kurulduğunu paylaşmak, bir güvenlik anketini birlikte doldurmak ve bir veri işleme sözleşmesi imzalamak. Ekibinin bir DPA'ya ihtiyacı varsa ya da doldurulacak bir anketi varsa bize ulaş, birlikte üzerinden geçelim. Gereksinimlerin herhangi bir barındırılan aracın verebileceği sözün ötesindeyse, self-host etmek her byte'ı çitin senin tarafında tutar.
Güvenlik bir kez kazanıp duvara astığın bir rozet değildir. Bir varsayılanlar setidir. Çalışman en baştan senin olsun diye local-first, hassas kısımlar aradaki kimse için okunamaz kalsın diye şifreleme, tarayıcı dürüst kalsın diye güçlendirilmiş header'lar ve yanıtın "kendi makinelerimizde" olması gerektiğinde self-host. Gerçek işlerini emanet edebileceğin bir diyagram aracının şekli budur.