Działy bezpieczeństwa i zakupów zadają nam zwykle te same pytania. Poniżej odpowiadamy na nie z góry, opisując praktyki, które stosujemy w projektach i na platformie, na której utrzymujemy systemy klientów. Szczegóły konfiguracji przekazujemy w ramach projektu, po podpisaniu NDA.
Wdrożenia i łańcuch dostaw
Każda zmiana trafia na produkcję przez repozytorium i automatyczny pipeline, nie przez ręczne logowanie na serwer. Obrazy kontenerów są budowane w CI i podpisywane kryptograficznie, a klaster odrzuca obraz bez ważnego podpisu. Zależności aktualizujemy automatycznie i skanujemy pod kątem znanych podatności.
Sekrety (klucze API, hasła do baz) trzymamy w menedżerze sekretów, nigdy w repozytorium ani w plikach konfiguracyjnych. Środowiska testowe i produkcyjne mają osobne sekrety.
Infrastruktura i ciągłość działania
Systemy utrzymujemy na Kubernetesie w centrach danych w Unii Europejskiej albo w infrastrukturze klienta, jeśli tak stanowi umowa. Ruch publiczny przechodzi przez warstwę ochrony przed atakami, a panele administracyjne są dostępne tylko w sieci prywatnej. Aplikacje są od siebie odizolowane, a ruch sieciowy między nimi jest domyślnie zablokowany.
Kopie zapasowe robimy w kilku warstwach, w tym z ciągłym zapisem zmian w bazach danych, i przechowujemy poza głównym środowiskiem. Odtwarzanie sprawdzamy automatycznie co tydzień, bo kopia, której nikt nie odtworzył, jest tylko założeniem. Monitoring mierzy dostępność względem uzgodnionych celów (SLO) i alarmuje o przekroczeniach.
Dane osobowe i RODO
Projektujemy z zasadą minimalizacji: system przechowuje tylko dane potrzebne do celu. Tam, gdzie to możliwe, stosujemy pseudonimizację, a dane szczególnych kategorii, np. dotyczące zdrowia, zostawiamy w systemie źródłowym. Izolację danych różnych klientów wymuszamy na poziomie bazy danych, nie tylko w kodzie aplikacji.
Dostęp do danych produkcyjnych mają wyłącznie osoby, które go potrzebują, a pomiary na żywych bazach wykonujemy w trybie tylko do odczytu. Pomagamy przygotować rejestr czynności przetwarzania i ocenę skutków dla ochrony danych (DPIA), gdy projekt jej wymaga.
Wdrożenia AI
Z modeli językowych korzystamy przez API dostawców w trybie, w którym przesyłane dane nie służą do trenowania modeli. Gdy projekt tego wymaga, dobieramy modele i regiony przetwarzania tak, żeby dane zostały w Europejskim Obszarze Gospodarczym.
Asystenci AI, których budujemy, mają filtry prób prompt injection przed modelem, kontrolę odpowiedzi przed wysłaniem i oddzielenie danych od instrukcji. Liczby i ceny pochodzą z danych źródłowych, a nie z pamięci modelu. Przed każdym wydaniem uruchamiamy zestaw testów jakości i ataków, a sprawy wrażliwe trafiają do człowieka. Wymagania AI Act uwzględniamy od etapu analizy.
Dostępy i ludzie
Logowanie do narzędzi wewnętrznych i paneli przechodzi przez SSO. Uprawnienia nadajemy według zasady najmniejszych potrzebnych, a po zakończeniu współpracy odbieramy je od razu, także dostawcom i podwykonawcom. Repozytorium, dokumentacja i dostępy do systemu są po stronie klienta przez cały projekt.
NDA i umowa powierzenia
Przed rozmową o szczegółach projektu podpisujemy NDA. Gdy przetwarzamy dane osobowe w imieniu klienta, zawieramy umowę powierzenia przetwarzania (DPA) dopasowaną do projektu. Wzory obu dokumentów wysyłamy na prośbę.
Zgłaszanie podatności
Jeśli znajdziesz podatność w systemie, który zbudowaliśmy lub utrzymujemy, albo na tej stronie, napisz na [email protected]. Potwierdzimy zgłoszenie w ciągu dwóch dni roboczych i poinformujemy o sposobie naprawy. Prosimy nie ujawniać podatności publicznie, zanim nie zostanie usunięta. Dane kontaktowe są też w pliku security.txt.
Ta strona
Strona koritsu.io nie używa ciasteczek śledzących ani zewnętrznych skryptów reklamowych. Wysyła nagłówki bezpieczeństwa (m.in. Content Security Policy i HSTS), a formularz kontaktowy ma ochronę przed botami i limit zgłoszeń. Zasady przetwarzania danych z formularza opisuje polityka prywatności.
