Bezpieczeństwo
Co chroni rejestr
Twoje zlecenia, adresy Twoich klientów i Twoje pieniądze są tutaj. Ta strona mówi, co zbudowaliśmy, żeby je chronić, co działa właśnie teraz i gdzie to się kończy.
Separacja
Jedna firma nigdy nie może zobaczyć drugiej
Wszystko inne opiera się na tym, więc robimy to dwa razy, a komputer sprawdza to za nas.
Dwa mury między firmami, nie jeden
Każdy rekord nosi pieczęć firmy, do której należy, a każde zapytanie, które nasz serwer wysyła do bazy danych, jest ograniczone do firmy, która o nie poprosiła. Sama baza danych utrzymuje ten sam mur po swojej stronie, z własną regułą na każdej tabeli, która przechowuje rekordy firmowe. Dlatego sam błąd w aplikacji nie wystarczy, żeby go przekroczyć.
Komputer sprawdza mur, nie pamięć człowieka
Automatyczny test czyta aktywną bazę danych, znajduje każdą tabelę, która przechowuje pieczęć firmy, i nie przechodzi, wymieniając z nazwy tę, której brakuje reguły. Liczymy, co jest objęte ochroną, zamiast to zakładać, a lista wyjątków jest pusta.
Testujemy jedną firmę przeciwko drugiej, zanim wydamy nową wersję
Gdy dodajemy nowy adres, który aplikacja może wywołać, dostaje on własny test. Test loguje się jako jedna firma i próbuje odczytać dane innej. Synchronizacja, ceny i nazwy zapisanych plików mają własne, osobne testy.
Integralność
Rejestru nie da się po cichu przepisać
Gdy coś pójdzie nie tak podczas zlecenia, historia jest dowodem. Jest zbudowana tak, że nikt, łącznie z nami, nie może jej zmienić za Twoimi plecami.
Historię można tylko uzupełniać, a każda linia blokuje poprzednią
Każda linia historii nosi odcisk poprzedniej linii, więc linii nie da się po cichu zmienić ani usunąć bez zerwania łańcucha. Sama baza danych blokuje każdą zmianę i każde usunięcie, a nasz serwer odmawia uruchomienia, jeśli tej ochrony brakuje.
Płatności nigdy nie są edytowane
Żeby poprawić błąd, dodajemy nową linię, która anuluje poprzednią. Starej nigdy nie zmieniamy. Widać, co i kiedy zostało zapisane. Po to właśnie jest historia płatności.
Linki do podpisu są tworzone przez nasz serwer
Link do podpisania dokumentu działa tylko raz, nie da się go odgadnąć i przestaje działać po ustalonym czasie. Tworzy go nasz serwer. Aplikacja na telefonie nigdy go nie buduje.
Podczas przesyłania i podczas przechowywania
Dokąd trafiają dane
Cloudflare stoi między internetem a serwerem, z którym rozmawia aplikacja. Stosuje nasze własne reguły blokowania i spowalnia każdego, kto wysyła zbyt wiele żądań zbyt szybko. Nasz serwer stosuje te same limity jeszcze raz, już za nim.
Zaszyfrowane podczas przesyłania, zawsze
Wszystko, co podróżuje między telefonem a nami, przechodzi przez HTTPS, który to szyfruje, więc nikt po drodze nie może tego odczytać. Aktywna strona wysyła też instrukcję dla przeglądarki, która już raz nas odwiedziła: nigdy nie wracaj do niezaszyfrowanego połączenia. Żądania docierają do nas przez Cloudflare, a nie bezpośrednio do naszego serwera.
Pliki pozostają w jednym regionie
Zdjęcia, dokumenty i podpisy trzymamy w magazynie plików ustawionym na jeden stały region: wschodnią Amerykę Północną. Dotyczy to każdej firmy, bez względu na to, gdzie pracuje. Gdy aktywny serwer się uruchamia, sprawdza to ustawienie i odmawia działania, jeśli regionu brakuje albo jest ustawiony na „auto”.
Nigdy nie przechowujemy Twojego hasła
Nie przechowujemy Twojego hasła i nie możemy go dla Ciebie odzyskać. Przechowujemy tylko jego zaszyfrowaną wersję (Argon2), której nie da się zamienić z powrotem na hasło. Wystarcza, żeby sprawdzić hasło przy logowaniu, i nigdy nie wystarczy, żeby je odczytać. Jest też limit liczby prób logowania, rejestracji albo resetowania hasła w krótkim czasie.
Na telefonie
Telefon jest częścią tego, co chronimy
Telefon zostaje na pace, trafia do rąk praktykanta i wędruje przez ladę. To, co tu zbudowaliśmy, jest pomyślane właśnie pod to, a nie pod biurko w biurze.
Opcjonalna blokada samej aplikacji
Zalogowanie się raz nie powinno oddawać całej firmy temu, kto podniesie telefon. Blokada aplikacji prosi o własną blokadę ekranu telefonu albo odcisk palca, zanim aplikacja się otworzy. Jest wyłączona, dopóki jej nie włączysz, i oferujemy ją tylko na telefonie, który ma już skonfigurowaną blokadę ekranu.
Klucze logowania pozostają we własnym zablokowanym magazynie telefonu
Aplikacja musi przechowywać na telefonie kilka prywatnych elementów, takich jak przepustka, dzięki której pozostajesz zalogowany. Umieszcza je w keystore Androida, zablokowanym magazynie chronionym przez sam sprzęt telefonu, a nie w zwykłych plikach aplikacji.
Ciągłość
Kopie zapasowe, incydenty i pobranie Twoich danych
Zamknięta kopia bazy danych, trzymana poza serwerem
Co godzinę robimy pełną kopię działającej bazy danych. Kopia jest zamykana szyfrowaniem, zanim zostanie odłożona, a zadanie nie zostawia żadnej niezamkniętej kopii: sprawdza, czy zamknięty plik naprawdę jest zamknięty, i dopiero potem usuwa ten niezamknięty. Następnie sprawdza własny spis zawartości kopii, wysyła ją do osobnego magazynu, do którego sama aplikacja nie ma żadnych danych logowania, i odczytuje ją z powrotem, żeby potwierdzić, że dotarła. Baza danych prowadzi też ciągły zapis każdej zmiany w chwili, gdy ona zachodzi, i ten zapis również jest kopiowany poza serwer, więc przywracanie nie ogranicza się do ostatniej całej kopii. Zdjęcia, pliki PDF i obrazy podpisów są kopiowane do tego samego osobnego magazynu. Stare kopie są usuwane według ustalonego harmonogramu w obu miejscach. Mówimy wprost: ten osobny magazyn to drugie miejsce w tej samej firmie magazynującej, a nie druga firma.
Przywracamy kopie zapasowe, żeby udowodnić, że działają
Kopia zapasowa, której nikt nigdy nie przywrócił, jest nadzieją, a nie planem. Dlatego bierzemy prawdziwą kopię działającej bazy danych, wczytujemy ją do zapasowej bazy i sprawdzamy, czy zapisy naprawdę tam są, zanim pozbędziemy się tej zapasowej, w tym otwierając odłożoną, zamkniętą kopię, a nie świeżo zrobioną. To samo zrobiliśmy dla magazynu plików: każdy przywrócony plik sprawdziliśmy względem odcisku zapisanego w chwili kopiowania. Każdy test jest zapisany i opatrzony datą. Oto czego te testy nie dowodzą, bo to ważniejsze niż to, czego dowodzą: nigdy nie odbudowaliśmy usługi na nowych maszynach, nigdy nie odtworzyliśmy ciągłego zapisu zmian do wybranej chwili, nigdy nie przywróciliśmy kopii zapasowej do działającej bazy danych i nigdy nie zmierzyliśmy czasu pełnego odzyskiwania od początku do końca. Dlatego nie publikujemy żadnego celu odzyskiwania.
Spisany plan na wypadek, gdyby coś poszło nie tak
Jeśli coś pójdzie nie tak, trzymamy się spisanego planu zamiast wymyślać go na bieżąco. Kroki są takie: ocenić, jak poważna jest sytuacja, powstrzymać jej rozprzestrzenianie, wylogować wszystkich i wyłączyć linki płatności oraz dostęp personelu, zmienić nasze tajne klucze, zabezpieczyć historię i sprawdzić, czy nie została zmieniona, a następnie ocenić szkody i poinformować osoby, których to dotyczy. Obiecujemy poinformować Cię bez zwlekania dłużej, niż to konieczne. Nie publikujemy stałego terminu, ponieważ nie udowodniliśmy, że możemy go dotrzymać.
Twoje dane wychodzą, kiedy tylko chcesz
Możesz pobrać kopię swojego konta z poziomu aplikacji: klientów, zlecenia, faktury, płatności, paragony, zdjęcia oraz pliki PDF Twoich faktur i wycen. Możesz też usunąć swoje konto w aplikacji. Dostęp kończy się od razu, a dane usuwamy na stałe po ustalonej liczbie dni. Celowo zachowujemy historię tego, kto co zrobił, ponieważ ten rekord można tylko uzupełniać.
Czego nie twierdzimy
Poniżej jest to, czego nie mamy i czego nie obiecujemy. Jeśli coś z tej listy ma dla Ciebie znaczenie, to jest prawdziwa odpowiedź. Przemyśl to, zanim powierzysz nam swoją pracę.
Brak certyfikatów i zewnętrznych audytów. Nie mamy raportu SOC 2, certyfikatu ISO 27001 ani zatwierdzenia PCI czy HIPAA, czyli certyfikatów bezpieczeństwa, o które pytają więksi kupujący. Nikt spoza firmy nie dostał zapłaty za próbę włamania. Każdy, kto mówi Ci co innego na temat aplikacji Zeus, się myli.
Brak obietnicy dotyczącej dostępności czy odzyskiwania. Nie publikujemy liczby mówiącej, przez jaką część czasu aplikacja działa. Nie podajemy też, jak szybko moglibyśmy ją przywrócić ani ile świeżej pracy mogłoby przepaść. Nie możemy ręczyć za żadną z tych liczb.
Brak obietnicy idealnego bezpieczeństwa. Żaden system nie jest idealnie bezpieczny, a strona, która twierdzi inaczej, to reklama, nie fakt.
Praca wykonana offline nie jest zabezpieczona kopią zapasową, dopóki do nas nie dotrze. Zmiany wprowadzone bez sygnału pozostają tylko na tym telefonie, dopóki aplikacja nie połączy się z serwerem. Otwórz aplikację, gdy tylko odzyskasz sygnał, żeby mogła je wysłać.
Zgłaszanie podatności
Jeśli coś znalazłeś, wolimy usłyszeć o tym od Ciebie niż od firmy, która korzysta z tej aplikacji. Nie ma programu nagród ani wypłat, ale prawdziwa osoba udzieli Ci jasnej odpowiedzi.
Prosimy o przestrzeganie tych zasad
- Daj nam czas na naprawę, zanim powiesz komuś innemu.
- Kiedy to sprawdzasz, nie otwieraj, nie zmieniaj ani nie zachowuj żadnych danych poza własnymi.
- Nie zalewaj aktywnej strony ruchem, żeby sprawdzić, ile wytrzyma, nie kieruj na nią automatycznych narzędzi skanujących i nie próbuj się włamać, chyba że najpierw zgodziliśmy się na to pisemnie.
- Powiedz nam, co zrobiłeś i co zobaczyłeś, oraz podaj tyle szczegółów, żebyśmy mogli to powtórzyć. Pobieżna notatka jest lepsza niż żadna.
To te same zasady, co w naszej polityce dopuszczalnego użytkowania.
Status tej strony
Ta strona jest napisana po to, żeby ją przeczytać. Nie jest umową i nie obiecuje niczego, czego mógłbyś od nas dochodzić w sądzie. Robią to warunki korzystania z usługi oraz polityka prywatności w naszym pakiecie prawnym. Praca nad bezpieczeństwem nigdy się nie kończy, więc treść tej strony się zmienia. Jeśli ta strona i te dokumenty kiedykolwiek się nie zgadzają, liczą się te dokumenty.
Pytania w tej sprawie kieruj na [email protected], a wszystko inne znajdziesz na stronie kontaktowej.