§1. Zakres dokumentu
Dokument dotyczy wszystkich danych przetwarzanych w ramach serwisu Farmida — zarówno danych, których administratorem jest Usługodawca (konta, rozliczenia, logi bezpieczeństwa), jak i danych, których administratorem jest Użytkownik (dane fermy, dane osobowe wprowadzane w dokumentacji), przetwarzanych przez Usługodawcę na zasadach opisanych w Umowie powierzenia.
§2. Środki organizacyjne — dostęp według roli
Dostęp do danych fermy nie jest jednolity — każda osoba współpracująca przy fermie ma jedną z sześciu ról (Właściciel, Kierownik, Pracownik, Weterynarz, Ubojnia, Podgląd), a zakres dostępnych funkcji i danych jest ograniczony do tego, co dana rola faktycznie musi widzieć lub móc zmieniać (zasada minimalnego niezbędnego dostępu). Pełna macierz uprawnień jest jawna i dostępna z poziomu aplikacji dla każdego zalogowanego użytkownika.
- Sześć odrębnych ról z różnym zakresem uprawnień odczytu i zapisu
- Dostęp do danych szczególnie wrażliwych (np. rozpoznania i uwag lekarskich w module leczenia) ograniczony wyłącznie do właściciela, kierownika i weterynarza
- Dostęp do fermy nadawany wyłącznie przez jej właściciela, poprzez system zaproszeń z tokenem ważnym 7 dni
§3. Środki techniczne
- Połączenie z serwisem szyfrowane protokołem HTTPS/TLS
- Hasła użytkowników przechowywane wyłącznie w formie zahaszowanej — nigdy jawnym tekstem
- Hasła do skrzynek Gmail (używane wyłącznie w opcjonalnej funkcji automatycznego importu wyników badań) szyfrowane odrębnym algorytmem symetrycznym, z kluczem przechowywanym poza bazą danych
- Pliki poufne (dokumenty fermy, sprawozdania laboratoryjne, zdjęcia, podpisy) przechowywane w prywatnym katalogu i serwowane wyłącznie po weryfikacji uprawnień do konkretnego zasobu przy każdym żądaniu — nie jako publicznie dostępne pliki statyczne
- Automatyczne wylogowanie po okresie bezczynności — limit czasu konfigurowalny przez użytkownika i (dla pracowników) narzucany jako maksimum przez właściciela fermy
§4. Rozliczalność i audyt
Każda istotna czynność w systemie — logowanie, wylogowanie, utworzenie, edycja lub usunięcie danych, eksport lub pobranie pliku — jest zapisywana w dzienniku aktywności wraz z informacją kto, kiedy, z jakiego adresu IP i jakiego rodzaju czynność wykonał. Dziennik jest dostępny dla właściciela i kierownika fermy, umożliwiając wykrycie nietypowej aktywności na koncie.
§5. Kopie zapasowe i ciągłość działania
Baza danych oraz przechowywane pliki utrzymywane są na infrastrukturze Railway, korzystającej z zarządzanej bazy PostgreSQL z własnymi mechanizmami odporności na awarie sprzętowe. Niezależnie od tego, przed każdą istotną zmianą w strukturze danych wykonujemy dodatkową, ręczną kopię zapasową.
Dostępność Serwisu jest monitorowana przez niezależne narzędzie zewnętrzne, sprawdzające zarówno działanie aplikacji, jak i dostęp do bazy danych. Wykrycie niedostępności uruchamia powiadomienie na dwa odrębne kanały.
Stosujemy trzy niezależne warstwy kopii zapasowych:
- Odtwarzanie bazy danych do punktu w czasie — pozwala przywrócić stan bazy z wybranego momentu w ramach dostępnego okna, a nie wyłącznie z chwili wykonania ostatniej kopii.
- Automatyczna kopia dobowa wolumenu z plikami (dokumenty, zdjęcia, sprawozdania laboratoryjne), przechowywana przez 6 dni.
- Kopia pobierana poza infrastrukturę dostawcy — pełny zrzut bazy danych wraz z plikami, wykonywany przed każdą istotną zmianą struktury danych. Jest to jedyna warstwa niezależna od dostawcy hostingu: pozostałe dwie, choć automatyczne, przechowywane są w tej samej infrastrukturze co dane produkcyjne.
Procedura odtworzenia danych z kopii została praktycznie zweryfikowana — zarówno dla samej bazy danych, jak i dla pełnego zrzutu wraz z plikami, odtworzonego na infrastrukturze niezależnej od dostawcy hostingu. Weryfikacja objęła zgodność odtworzonych danych i kompletność załączników.
Okresowe, sformalizowane testy przywracania nie są natomiast wdrożone jako stała, powtarzalna procedura. Podajemy to wprost, ponieważ niniejszy dokument opisuje wyłącznie środki faktycznie stosowane.
§6. Zarządzanie incydentami i zgłaszanie naruszeń
W przypadku stwierdzenia naruszenia ochrony danych osobowych podejmujemy niezwłoczne działania w celu ograniczenia jego skutków. Użytkowników pełniących rolę administratora danych (właścicieli ferm) informujemy zgodnie z terminem określonym w Umowie powierzenia (nie później niż 24 godziny od stwierdzenia naruszenia — jedna trzecia ustawowego terminu, jaki na zgłoszenie do organu ma sam administrator, tak by na ocenę sytuacji i decyzję zostały mu pozostałe 48 godzin). Jeżeli naruszenie dotyczy danych, których administratorem jest Usługodawca, a ryzyko dla praw i wolności osób jest wysokie, zgłaszamy je do Prezesa Urzędu Ochrony Danych Osobowych w ustawowym terminie 72 godzin.
§7. Aktualizacje i rozwój systemu
Zależności i komponenty systemu są na bieżąco aktualizowane. Istotne zmiany w kodzie przechodzą przez zautomatyzowany zestaw testów przed wdrożeniem na środowisko produkcyjne. Zmiany wymagające modyfikacji struktury danych są poprzedzone kopią zapasową bazy danych.
§8. Kontakt
W sprawach dotyczących bezpieczeństwa danych, w tym zgłaszania podejrzewanych incydentów, prosimy o kontakt: kontakt@farmida.pl.