Kopie zapasowe aplikacji dla firmy — co, gdzie, jak często i jak sprawdzić, że da się odtworzyć?

Opublikowano: Stan na: sierpień 2026 Tekst: Agent AI Tomka Niedźwieckiego · odpowiada: · zasady
Krótka odpowiedź

Kopia to trzy osobne rzeczy: baza, pliki użytkowników i kod z konfiguracją — każda z innym mechanizmem i inną retencją. W planie Pro Supabase codzienne kopie bazy sięgają 7 dni wstecz, a pliki z magazynu nie wchodzą do kopii bazy (odczyt 31.08.2026). Kopię sprawdza się odtworzeniem, nie istnieniem pliku.

Codzienne kopie bazy w planie Pro — okno dostępu (Team 14 dni, Enterprise do 30) 7dni Supabase — Database Backups (dokumentacja platformy), stan: odczyt 31.08.2026
Punkt odtworzenia przy odtwarzaniu do wybranego momentu (PITR), najgorszy przypadek 2minuty Supabase — Database Backups, sekcja o PITR (deklarowane RPO), stan: odczyt 31.08.2026
Dodatek PITR w cenniku (do wyboru 7, 14 albo 28 dni okna) 100 USDmiesięcznie za 7 dni okna Supabase — Database Backups, sekcja Point in Time Recovery (warianty 7/14/28 dni i ceny; potwierdzone w cenniku), stan: odczyt 31.08.2026
Domyślna retencja wdrożeń produkcyjnych w planie Hobby (Pro i Enterprise: 1 rok) 30dni Vercel — Deployment Retention, tabela domyślnych okresów, stan: odczyt 31.08.2026

Model zagrożeń: co realnie kasuje dane aplikacji?

Siedem scenariuszy w tabeli niżej. Ani jeden nie jest włamaniem — to pomyłka operatora, migracja, koniec planu u dostawcy albo plik, którego kopia bazy nigdy nie obejmowała.

Model zagrożeń dla kopii odpowiada na cztery pytania: kto albo co uderza, czym, co firma traci i który mechanizm to ratuje. Jeśli przy którymś wierszu nie umiesz wskazać mechanizmu, ten scenariusz kończy się utratą danych.

Mechanizm nie jest jeden dla całej aplikacji. Dokumentacja Supabase mówi wprost, że kopie bazy nie obejmują obiektów zapisanych przez interfejs magazynu plików, bo w bazie leżą wyłącznie dane o nich (odczyt 31.08.2026).

Kto albo coCzymCo traci firmaMechanizm, który to ratuje
Własny operator w panelukasuje rekord albo całą listę jednym poleceniemdane od ostatniej kopiiodtworzenie do wybranego momentu albo kopia dobowa
Błędna migracja bazyzmienia schemat albo nadpisuje kolumnę na produkcjispójność tabel i historię zapisówkopia wykonana ręcznie tuż przed migracją
Dostawca — awaria albo zamknięcie kontaprojekt znika razem z kopiami, które w nim leżąaplikację i kopie narazeksport na magazyn poza kontem dostawcy
Brak aktywności w planie darmowymdostawca wstrzymuje projekt po tygodniu niskiej aktywnościdostęp do bazy do czasu wznowieniaplan płatny albo własny zrzut bazy u siebie
Przejęte konto administratorakasuje dane i kopie dostępne z tego samego kontadane i możliwość odtworzeniadruga kopia z osobnym dostępem i osobnym hasłem
Wygasła karta u dostawcyplan schodzi niżej, okno kopii i wdrożeń kurczy się do domyślnegookno odtworzeniatermin płatności w kalendarzu i eksport poza konto
Skasowane pliki użytkownikówodtworzenie bazy przywraca odnośniki, nie plikizałączniki, zdjęcia, dokumentyosobna kopia magazynu plików

Trzy składniki kopii: baza, pliki i kod

Kopia aplikacji to trzy mechanizmy z trzema różnymi retencjami. Pytanie „czy robicie kopie” bez wskazania składnika ma tyle poprawnych odpowiedzi, ile jest składników — i każda z nich brzmi uspokajająco.

Baza. Dostawca robi ją automatycznie według planu: w Pro codzienne kopie sięgają 7 dni wstecz, w Team 14 dni, w Enterprise do 30 dni (dokumentacja Supabase, odczyt 31.08.2026).

W planie darmowym cennik przy automatycznych kopiach podaje, że nie wchodzą w plan, a dokumentacja zaleca własny zrzut bazy z wiersza poleceń i utrzymywanie kopii poza dostawcą. To jedyna kopia, jaką ma darmowy projekt.

Odtworzenie do wybranego momentu (PITR) jest u tego dostawcy płatnym dodatkiem: 100 USD miesięcznie za 7 dni okna, do wyboru 7, 14 albo 28 dni. Deklarowany punkt odtworzenia w najgorszym przypadku to dwie minuty. Włączenie dodatku wyłącza kopie dobowe.

Pliki użytkowników. Nie wchodzą do kopii bazy — po odtworzeniu zostają odnośniki do plików, których nie ma. Dokumentacja dodaje, że odtworzenie starszej kopii nie przywraca obiektów skasowanych po jej wykonaniu. Magazyn w cenniku: 1 GB w planie darmowym, 100 GB w Pro, potem 0,0213 USD za GB.

Kod i konfiguracja. Źródłem jest repozytorium, nie hosting. Domyślna retencja wdrożeń na Vercelu to 30 dni w planie Hobby dla każdego stanu wdrożenia, a w Pro i Enterprise rok dla produkcyjnych i 180 dni dla podglądowych (dokumentacja, odczyt 31.08.2026).

Są wyjątki: ostatnie dziesięć wdrożeń projektu i ostatnie dwadzieścia gotowych wdrożeń produkcyjnych zostaje niezależnie od terminu, a skasowane wdrożenie da się przywrócić przez 30 dni. To mechanizm cofnięcia zmiany, nie archiwum kodu.

U nas jedna baza to jedna kopia i jeden model uprawnień. Dlatego pierwsza wersja aplikacji nie jest rozbijana na kilka usług: przy trzech bazach odtworzenie oznacza trzy punkty w czasie, które trzeba do siebie dopasować ręcznie.

Zasady, których nie da się dołożyć po awarii

Pięć zasad. Każda kosztuje kilkanaście minut przy zakładaniu projektu, a po awarii żadnej nie da się zastosować wstecz — nie ma już czego odtwarzać.

  1. Plan kopii obejmuje trzy składniki naraz. Baza, pliki i repozytorium z konfiguracją, każde z własną retencją i własnym miejscem.

    Błąd, który wyklucza: odpowiedź „dostawca robi kopie” traktowana jako cały plan.

    Koszt błędu: baza wraca, aplikacja rusza, a załączniki i zdjęcia klientów są odnośnikami donikąd.

  2. Jedna kopia leży poza kontem dostawcy. Eksport bazy i plików na magazyn, do którego nie ma dostępu konto administrujące aplikacją.

    Błąd, który wyklucza: jedyna kopia w tym samym projekcie, który może zostać wstrzymany albo przejęty.

    Koszt błędu: konto staje się jednym punktem awarii dla aplikacji i dla kopii naraz. Dokumentacja Supabase sama zaleca darmowym projektom własny zrzut i kopie poza dostawcą, a kopie fizyczne nowszych wersji bazy nie są dostępne do pobrania.

  3. Kopia przed każdą migracją bazy. Wykonana ręcznie tuż przed zmianą schematu, nie ta sprzed nocy.

    Błąd, który wyklucza: migracja na produkcji z założeniem, że kopia dobowa wystarczy.

    Koszt błędu: bez dodatku odtwarzającego do wybranego momentu cofasz się do kopii z poprzedniej doby, razem ze wszystkim, co klienci zdążyli w tym czasie wpisać.

  4. Próba odtworzenia z zapisanym punktem i czasem. Kopie sprawdzamy odtworzeniem, nie istnieniem pliku; punkt odtworzenia i czas odtworzenia są zapisane, zanim będą potrzebne.

    Błąd, który wyklucza: zdanie „kopie robią się codziennie” podane jako dowód.

    Koszt błędu: o tym, że kopia jest niepełna albo że odtworzenie trwa pół dnia, dowiadujesz się w dniu, w którym jest jedyna.

  5. Kopia ma termin, tak jak dane w aplikacji. Usunięcie danych obejmuje również kopie, z terminem wynikającym z retencji dostawcy.

    Błąd, który wyklucza: polityka usuwania danych opisująca wyłącznie bazę produkcyjną.

    Koszt błędu: żądanie wykonane w aplikacji i niewykonane w kopii. Terminy i mechanikę usuwania zbiera tekst o RODO wdrożonym w kodzie, a nie w regulaminie.

Punkt odtworzenia i czas odtworzenia — dwie liczby zamiast zapewnień

Słownik NIST, za publikacją SP 800-34 Rev. 1, definiuje je krótko. Punkt odtworzenia to moment w czasie, do którego dane muszą zostać odtworzone po awarii. Czas odtworzenia to łączny czas, przez jaki elementy systemu mogą pozostawać w fazie odtwarzania, zanim odbije się to na działaniu organizacji.

Pierwsza liczba wynika z planu u dostawcy. Kopia dobowa daje punkt odtworzenia liczony w dobach, a dodatek odtwarzający do wybranego momentu deklaruje w najgorszym przypadku dwie minuty (odczyt 31.08.2026).

Druga liczba nie wynika z żadnego cennika. Czas odtworzenia to wynik próby przeprowadzonej na konkretnej bazie, z konkretną liczbą tabel i plików. Dopóki nikt takiej próby nie przeprowadził, ta liczba po prostu nie istnieje.

Jak to sprawdzić samemu w 5 minut?

Pięć sprawdzeń bez programisty. Żadne nie rusza danych, a razem zajmują około pięciu minut — plus czas, którego wykonawca potrzebuje na punkt trzeci.

  1. Zapytaj o datę ostatniej próby odtworzenia (30 sekund). Dobra odpowiedź ma trzy liczby: dzień próby, ile danych stracono i ile trwało odtworzenie. Odpowiedź o częstotliwości kopii mówi o pliku, nie o odtworzeniu.
  2. Sprawdź plan dostawcy w jego cenniku (60 sekund). W planie darmowym automatyczne kopie są oznaczone jako spoza planu, a projekt bywa wstrzymywany po tygodniu niskiej aktywności. Plan płatny podaje, ile dni wstecz sięgają kopie dobowe.
  3. Poproś o eksport i odbierz plik (90 sekund twojego czasu). Zrzut bazy i pliki z magazynu, przekazane tak, żeby leżały u ciebie. Kopia, której nigdy nie widziałeś, jest kopią wykonawcy, nie firmy.
  4. Sprawdź, gdzie leży repozytorium (30 sekund). Ma być na koncie firmy u dostawcy repozytoriów, z dostępem dla więcej niż jednej osoby. Kod na jednym laptopie to nie repozytorium, tylko katalog.
  5. Sprawdź, czy hosting ma jeszcze poprzednie wdrożenie (60 sekund). Lista wdrożeń pokazuje, do której wersji da się cofnąć jednym kliknięciem. Retencja jest ograniczona terminem planu, więc to nie zastępuje repozytorium.

Wynik negatywny to lista zadań, nie awantura z wykonawcą. Trzy pierwsze punkty poprawia się w jeden dzień, dopóki aplikacja nie ma jeszcze lat historii i tysięcy plików w magazynie.

Osobne pytanie, czy w ogóle da się dostać do cudzych danych, rozstrzyga pięć testów z tekstu o zasadach bezpieczeństwa od pierwszego dnia. Kopia chroni przed utratą, nie przed wyciekiem.

Czego nie ma w dokumentacji

Operator płatności trzyma własną historię transakcji, ale nie publikuje okresu przechowywania kopii ani eksportów. Dokumentacja Stripe opisuje usuwanie i redakcję danych — transakcji nie da się usunąć, można je zredagować dopiero po 90 dniach — a okresu przechowywania kopii nie znaleźliśmy w dokumentacji na dzień 31 sierpnia 2026.

Wniosek praktyczny jest jeden: historii płatności nie traktuj jak swojej kopii. Dane, które mają przetrwać zmianę operatora, leżą w twojej bazie i w twoim eksporcie.

Reszta wątków ma osobne miejsca. Podział aplikacji na warstwy opisuje tekst o warstwach aplikacji dla firmy, a to, co dzieje się z awariami i aktualizacjami po starcie — tekst o aplikacji po starcie.

Rachunek za bazę i magazyn w dłuższym oknie zbiera zestawienie kosztu aplikacji w trzy lata. Tutaj liczy się jedno: kopia bez próby odtworzenia jest wydatkiem, nie zabezpieczeniem.

Najczęstsze pytania

Czy dostawca chmury robi kopie za mnie?

Tak, ale według planu i wyłącznie na swoim koncie. W dokumentacji Supabase plan Pro daje dostęp do 7 dni kopii dobowych, Team do 14 dni, Enterprise do 30 dni; w planie darmowym automatycznych kopii nie ma, a dokumentacja zaleca własny zrzut bazy i kopię poza dostawcą (odczyt 31.08.2026). Kopia leżąca na koncie dostawcy nie chroni przed utratą samego konta.

Jak często robić kopie?

Trzy progi. Przed każdą migracją — ręcznie, tuż przed zmianą schematu. Codziennie — automatem dostawcy, jeśli plan to obejmuje. Do wybranego momentu — gdy aplikacja przyjmuje płatności i doba utraconych danych oznacza rozjazd z operatorem; u Supabase to płatny dodatek, 100 USD miesięcznie za 7 dni okna, z punktem odtworzenia dwóch minut w najgorszym przypadku (odczyt 31.08.2026).

Co z plikami, które wgrywają użytkownicy?

Kopia bazy ich nie obejmuje. Dokumentacja Supabase mówi, że kopie nie zawierają obiektów zapisanych przez interfejs magazynu, bo baza trzyma tylko dane o nich, a odtworzenie starszej kopii nie przywraca plików skasowanych później. Magazyn ma osobny cennik: 1 GB w planie darmowym, 100 GB w Pro, potem 0,0213 USD za GB (odczyt 31.08.2026). Eksport plików planuje się osobno.

Czy hosting przechowuje starą wersję aplikacji?

Przez czas retencji wdrożeń, nie bezterminowo. Na Vercelu domyślnie 30 dni w planie Hobby, a w Pro i Enterprise rok dla wdrożeń produkcyjnych i 180 dni dla podglądowych; dziesięć najnowszych wdrożeń projektu zostaje niezależnie od terminu, a skasowane można przywrócić przez 30 dni (odczyt 31.08.2026). Źródłem kodu pozostaje repozytorium, nie panel hostingu.

Kto odpowiada, gdy kopia zawiedzie?

To pytanie do umowy, nie do dokumentacji dostawcy — i lepiej postawić je przed startem. Trzy rzeczy warto mieć zapisane: który składnik kopii należy do kogo (baza, pliki, repozytorium), jaki jest deklarowany punkt i czas odtworzenia oraz kto przeprowadza próbę odtworzenia i jak często ją dokumentuje. Ocena konkretnej sytuacji należy do prawnika.

Źródła

  1. Supabase — Database Backups: kopie dobowe (Pro 7 dni, Team 14, Enterprise do 30), PITR 7/14/28 dni i RPO dwóch minut, kopie fizyczne bez możliwości pobrania, brak obiektów magazynu w kopii bazy — https://supabase.com/docs/guides/platform/backups (odczyt 31.08.2026)
  2. Supabase — cennik: automatyczne kopie poza planem darmowym, Point in Time Recovery 100 USD miesięcznie za 7 dni okna, magazyn 1 GB / 100 GB i 0,0213 USD za GB — https://supabase.com/pricing (odczyt 31.08.2026)
  3. Supabase — Project Pausing: wstrzymanie projektu planu darmowego przy niskiej aktywności w oknie 7 dni, wznowienie do roku od wstrzymania — https://supabase.com/docs/guides/platform/free-project-pausing (odczyt 31.08.2026)
  4. Supabase CLI — polecenie db dump: zrzut zawartości zdalnej bazy do pliku (kopia logiczna wykonywana samodzielnie) — https://supabase.com/docs/reference/cli/supabase-db-dump (odczyt 31.08.2026)
  5. Vercel — Deployment Retention: domyślne okresy retencji wdrożeń (Hobby 30 dni, Pro i Enterprise rok dla produkcyjnych, 180 dni dla podglądowych), wyjątki i 30-dniowe okno przywrócenia — https://vercel.com/docs/deployment-retention (odczyt 31.08.2026)
  6. NIST Computer Security Resource Center — hasło Recovery Point Objective (definicja za NIST SP 800-34 Rev. 1) — https://csrc.nist.gov/glossary/term/recovery_point_objective (odczyt 31.08.2026)
  7. NIST Computer Security Resource Center — hasło Recovery Time Objective (definicja za NIST SP 800-34 Rev. 1) — https://csrc.nist.gov/glossary/term/recovery_time_objective (odczyt 31.08.2026)
  8. Stripe — Handling customer deletion requests: redakcja zamiast usunięcia, transakcje możliwe do zredagowania dopiero po 90 dniach (okresu przechowywania kopii i eksportów dokumentacja nie podaje) — https://docs.stripe.com/privacy/deletion-requests (odczyt 31.08.2026)
  9. Kopie zapasowe i próby odtworzenia w naszych wdrożeniach — praktyka zespołu — https://jakzrobicaplikacje.pl/o-serwisie/#skad (2026-08-31)
Kto to napisał

Tekst przygotował Agent AI Tomka Niedźwieckiego — treść wygenerowana przez sztuczną inteligencję na podstawie własnych wdrożeń zespołu, dokumentacji dostawców i źródeł podanych wyżej, sprawdzona w osobnym przebiegu weryfikacji faktów i zredagowana. Za fakty odpowiada . Ostatnia weryfikacja: 10 września 2026.