Odpowiedzialność za błędy oprogramowania w SaaS – jak ograniczyć kary?

Nasz ekspert:
Artykuły autora

Wielkość tekstu:

Model SaaS, w którym przedsiębiorca udostępnia oprogramowanie użytkownikowi za pośrednictwem internetu, pozwala na szybkie skalowanie usług, ale jednocześnie wymaga precyzyjnego określenia zasad, na jakich ponoszona jest odpowiedzialność za błędy oprogramowania. Zrozumienie, jak skutecznie zarządzać tym ryzykiem w regulaminie, pozwala na bezpieczny rozwój biznesu i ochronę przed nieprzewidzianymi kosztami.

SaaS a odpowiedzialność za błędy oprogramowania i dostawcy systemu

Usługa SaaS nie jest wyłącznie sposobem technicznego udostępnienia aplikacji. Z perspektywy prawnej jest to stosunek zobowiązaniowy, w ramach którego dostawca zobowiązuje się do zapewnienia określonego sposobu korzystania z oprogramowania, a klient uzyskuje dostęp do funkcjonalności systemu przez oznaczony czas lub na zasadach ciągłych.

W praktyce zakres odpowiedzialności dostawcy zależy przede wszystkim od treści zawartej umowy, regulaminu, warunków SLA, specyfikacji usługi oraz charakteru zobowiązania. Nie każdy błąd techniczny będzie automatycznie oznaczał odpowiedzialność odszkodowawczą dostawcy. Kluczowe znaczenie ma ustalenie, jakie właściwości usługi zostały zagwarantowane klientowi oraz jakie zdarzenia zostały objęte odpowiedzialnością przedsiębiorcy.

Zgodnie z art. 483 § 1 Kodeksu cywilnego można zastrzec w umowie, że naprawienie szkody wynikłej z niewykonania lub nienależytego wykonania zobowiązania niepieniężnego nastąpi przez zapłatę określonej sumy, czyli kary umownej. Konstrukcja ta ma szczególne znaczenie w SaaS, ponieważ podstawowe obowiązki dostawcy mają co do zasady charakter niepieniężny.

Kara umowna może zatem zostać powiązana przykładowo z naruszeniem gwarantowanego poziomu dostępności systemu albo nieusunięciem awarii w określonym czasie. Nie oznacza to jednak, że przedsiębiorca może w regulaminie dowolnie określić zarówno przesłanki naliczania kary, jak i jej wysokość.

Jak ograniczyć wysokość kary za błędy oprogramowania w umowie?

Jednym z najważniejszych narzędzi ochrony dostawcy SaaS jest określenie maksymalnej wysokości kar umownych. Przepisy kc nie ustanawiają generalnego zakazu ograniczenia wysokości kary umownej. Strony mogą zatem ukształtować mechanizm jej naliczania w taki sposób, aby ekspozycja finansowa przedsiębiorcy była możliwa do przewidzenia.

W praktyce stosuje się m.in. limit miesięczny albo limit odnoszony do wartości wynagrodzenia należnego za określony okres. Dzięki temu nawet powtarzające się incydenty nie prowadzą automatycznie do nieograniczonego wzrostu zobowiązania dostawcy.

Trzeba jednak pamiętać o art. 484 § 2 kc. Jeżeli zobowiązanie zostało w znacznej części wykonane albo kara umowna jest rażąco wygórowana, dłużnik może żądać jej zmniejszenia. Regulamin powinien więc nie tylko określać samą karę, ale również racjonalnie wiązać jej wysokość z wagą naruszenia.

Rażąco wygórowana kara może bowiem zostać zmiarkowana przez sąd. Oznacza to, że nawet precyzyjny zapis regulaminu nie daje przedsiębiorcy pełnej ochrony, jeżeli wysokość sankcji pozostaje w oczywistej dysproporcji do chronionego interesu wierzyciela.

W przypadku SaaS szczególne znaczenie ma więc proporcjonalność. Kara za godzinę niedostępności systemu powinna pozostawać w rozsądnej relacji do wartości usługi i znaczenia naruszonego parametru.

Limit odpowiedzialności a limit kar umownych

Kara umowna stanowi zryczałtowany sposób naprawienia szkody wynikającej z niewykonania lub nienależytego wykonania zobowiązania niepieniężnego. Odpowiedzialność odszkodowawcza może natomiast powstać na zasadach ogólnych.

Jeżeli przedsiębiorca chce kompleksowo ograniczyć swoje ryzyko, regulamin powinien więc rozdzielać postanowienia dotyczące kar umownych od postanowień dotyczących odpowiedzialności odszkodowawczej.

Ma to szczególne znaczenie ze względu na art. 471 kc. Dłużnik obowiązany jest do naprawienia szkody wynikłej z niewykonania lub nienależytego wykonania zobowiązania, chyba że niewykonanie lub nienależyte wykonanie jest następstwem okoliczności, za które odpowiedzialności nie ponosi.

Strony mogą co do zasady modyfikować ustawowy reżim odpowiedzialności kontraktowej, jednak swoboda ta nie jest nieograniczona. Zgodnie z art. 473 § 2 kc nieważne jest zastrzeżenie, przez które dłużnik zobowiązuje się do wyłączenia lub ograniczenia odpowiedzialności za szkodę, którą może wyrządzić wierzycielowi umyślnie.

Oznacza to, że regulamin SaaS nie może skutecznie zapewnić przedsiębiorcy pełnego wyłączenia odpowiedzialności również za szkodę wyrządzoną umyślnie.

Wyłączenie utraconych korzyści i limit kwotowy odpowiedzialności

W relacjach profesjonalnych strony często ograniczają odpowiedzialność za określone kategorie szkód pośrednich albo utraconych korzyści. Regulamin może zatem w relacji B2B odpowiednio kształtować zakres odpowiedzialności, ale powinien robić to w sposób jednoznaczny i możliwy do zastosowania w konkretnym sporze.

W relacjach B2B często także stosuje się również ogólny limit odpowiedzialności dostawcy. Może on zostać określony jako konkretna kwota albo jako wielokrotność wynagrodzenia zapłaconego przez klienta w określonym okresie. Z punktu widzenia przedsiębiorcy technologicznego druga konstrukcja może lepiej odpowiadać ekonomice SaaS, ponieważ wysokość potencjalnej odpowiedzialności pozostaje powiązana z wartością kontraktu.

Przykładowo strony mogą przyjąć, że całkowita odpowiedzialność dostawcy z określonego stosunku umownego nie przekroczy wartości opłat poniesionych przez klienta w oznaczonym okresie rozliczeniowym.

Nie należy jednak przyjmować takich zapisów automatycznie. Trzeba sprawdzić, czy limit obejmuje również kary umowne, czy dotyczy wyłącznie odszkodowania, czy odnosi się do wszystkich roszczeń wynikających z umowy oraz czy przewidziano wyjątki.

Brak odpowiedniej korelacji pomiędzy tymi postanowieniami może doprowadzić do sytuacji, w której limit ogólny zostanie zakwestionowany jako nieobejmujący określonego rodzaju roszczeń.

Jak definiować awarię i błąd?

Prawidłowo skonstruowany regulamin powinien rozróżniać co najmniej różne poziomy wpływu incydentu na funkcjonowanie usługi, zamiast traktować każdy problem techniczny identycznie. Nie chodzi przy tym o samo stworzenie rozbudowanej klasyfikacji technicznej. Najważniejsze jest powiązanie kategorii incydentu z konsekwencjami prawnymi.

Jeżeli każda usterka powoduje naliczenie kary, dostawca może ponosić odpowiedzialność również za błędy pozbawione istotnego znaczenia gospodarczego. Taki model może być nieproporcjonalny i generować spory Bezpieczniejszym rozwiązaniem jest uzależnienie sankcji od rzeczywistego wpływu incydentu na możliwość korzystania z podstawowych funkcjonalności.

Istotne jest również określenie sposobu rozpoczęcia biegu terminu na usunięcie awarii. Powinien być on powiązany z prawidłowym zgłoszeniem incydentu przez klienta albo z momentem wykrycia awarii przez system monitoringu, jeżeli dostawca zapewnia automatyczne monitorowanie usługi.

Przykład 1.

Spółka korzysta z aplikacji SaaS do obsługi sprzedaży, a regulamin przewiduje karę za przekroczenie gwarantowanego czasu usunięcia awarii krytycznej. Przez dwie godziny niedostępny jest moduł raportowy, ale użytkownicy nadal mogą wystawiać dokumenty i obsługiwać sprzedaż. Czy każda taka niedostępność powinna powodować naliczenie kary? Nie. Ponieważ awaria krytyczna definiowana jest jako całkowity paraliż głównych funkcji, a moduł sprzedażowy działał prawidłowo, incydent kwalifikuje się jako usterka standardowa, nieobjęta karą umowną.

Czy można wyłączyć odpowiedzialność za awarie infrastruktury?

SaaS często opiera się na infrastrukturze innych podmiotów. Dostawca może korzystać z usług chmurowych, centrów danych, operatorów telekomunikacyjnych, systemów płatności czy zewnętrznych usług API.

Powstaje zatem pytanie, czy może w regulaminie zastrzec, że nie odpowiada za każdą awarię powstałą po stronie takiego dostawcy.

Samo powołanie się na fakt korzystania z usług podwykonawcy nie musi automatycznie zwalniać przedsiębiorcy z odpowiedzialności wobec klienta. W stosunku umownym klientem jest bowiem dostawca SaaS, a nie jego infrastrukturalny podwykonawca.

Przedsiębiorca powinien więc odpowiednio zarządzać ryzykiem kontraktowym w relacjach ze swoimi dostawcami.

W regulaminie można natomiast określić przypadki, w których określone zdarzenia nie są traktowane jako niedostępność usługi albo wskazać przesłanki wyłączające odpowiedzialność, o ile pozostają one zgodne z bezwzględnie obowiązującymi przepisami i charakterem zobowiązania.

Nie należy jednak tworzyć fikcyjnych wyłączeń, których jedynym celem byłoby przerzucenie całego ryzyka działalności gospodarczej na klienta.

Dane klienta i bezpieczeństwo informacji

W SaaS odpowiedzialność za błędy oprogramowania często łączy się z odpowiedzialnością za dane przetwarzane przy użyciu aplikacji. Jest to szczególnie istotne, gdy aplikacja służy do przechowywania dokumentów, danych klientów, informacji finansowych lub danych osobowych.

Nie należy jednak sprowadzać całej odpowiedzialności za dane do jednego postanowienia o limitowaniu odpowiedzialności za błędy systemu. Jeżeli dostawca jest podmiotem przetwarzającym dane osobowe, zastosowanie znajdują również przepisy RODO dotyczące odpowiedzialności administratora i podmiotu przetwarzającego. Postanowienia dotyczące przetwarzania danych powinny zatem pozostawać spójne z regulaminem SaaS oraz umową powierzenia przetwarzania danych.

W praktyce warto wyraźnie oddzielić odpowiedzialność kontraktową za funkcjonowanie aplikacji od obowiązków związanych z ochroną danych osobowych. Pozwala to uniknąć sytuacji, w której jedno bardzo szerokie wyłączenie odpowiedzialności jest interpretowane jako próba wyłączenia obowiązków wynikających z przepisów bezwzględnie obowiązujących.

SaaS dla konsumenta wymaga większej ostrożności

Znacznie większe ograniczenia występują wtedy, gdy aplikacja jest oferowana konsumentom. Postanowienie, które w relacji z przedsiębiorcą może być dopuszczalnym elementem podziału ryzyka, w relacji konsumenckiej może zostać uznane za niedozwolone postanowienie umowne.

Szczególne znaczenie mają w tym zakresie przepisy kc dotyczące klauzul abuzywnych, w szczególności art. 385¹ i następne. Postanowienia umowy zawieranej z konsumentem, które nie zostały uzgodnione indywidualnie, nie wiążą go, jeżeli kształtują jego prawa i obowiązki w sposób sprzeczny z dobrymi obyczajami, rażąco naruszając jego interesy.

Nie można zatem bezrefleksyjnie przenosić modelu odpowiedzialności stosowanego w umowach B2B do regulaminu kierowanego do konsumentów. W SaaS konsumenckim dodatkowe znaczenie mają przepisy regulujące umowy o dostarczanie treści cyfrowych i usług cyfrowych. Dostawca musi uwzględniać ustawowe obowiązki związane m.in. ze zgodnością świadczenia z umową oraz odpowiedzialnością za brak zgodności.

Regulamin powinien więc być projektowany z uwzględnieniem konkretnej grupy klientów. Inny model odpowiedzialności można co do zasady przyjąć w umowie zawieranej pomiędzy dwoma profesjonalnymi przedsiębiorcami, a inny w relacji z konsumentem.

Artykuły
Brak wyników.
Więcej artykułów
Wzory
Brak wyników.
Więcej wzorów