Service Level Agreement

Cel dostępności 99.9% miesięcznie dla planów Pro / API. Spadek poniżej = automatyczny kredyt na następną fakturę Stripe. Bez zgłaszania, bez kalkulacji po stronie Klienta.

Cel uptime
99.9%
miesięcznie (UTC)
Dopuszczalny downtime
≈ 43 min
na miesiąc (30 dni)
Kredyty Stripe
10 - 100%
auto, bez zgłaszania

Jak liczymy uptime

Co minutę aktywne probe'y synchroniczne sprawdzają każdy komponent platformy (API, walidator, generator korekt, baza danych, webhook delivery). Wynik trafia do tabeli health_checks i jest agregowany przez SQL RPC compute_monthly_uptime.

Metodologia: per-minute aggregation, gdzie minuta liczy się jako down (waga 1.0) jeśli choć jeden komponent zwrócił down, jako degraded (waga 0.5) jeśli zwrócił degraded. Końcowy uptime % = 100 - (suma wag / liczba minut w miesiącu) × 100.

Wynik jest publicznie widoczny w /status (snapshot live + 30-day chart) oraz przez API /api/v1/status (tryb strict zwraca HTTP 503 przy degradacji - idealne do wpięcia w monitoring zewnętrzny).

Tabela kredytów serwisowych

Uptime w miesiącuKredytSposób przyznania
uptime ≥ 99.9%brak (SLA spełnione)-
99.00% < uptime ≤ 99.90%10% MRR planuautomatycznie do następnej faktury Stripe
95.00% < uptime ≤ 99.00%25% MRR planuautomatycznie do następnej faktury Stripe
90.00% < uptime ≤ 95.00%50% MRR planuautomatycznie do następnej faktury Stripe
≤ 90.00%100% MRR planuautomatycznie do następnej faktury Stripe

Kredyt aplikowany do faktury za następny okres rozliczeniowy jako Stripe credit note. Bez konieczności zgłaszania, bez ticketu, bez kalkulacji po stronie Klienta. Pełna historia raportów i statusu kredytu (pending / applied / waived) w /dashboard/sla.

Wyłączenia (nie liczą się do downtime)

  • Zaplanowane maintenance windows ogłoszone z minimum 72h wyprzedzeniem przez /status oraz e-mail do administratorów organizacji. Window nie przekracza 30 min i odbywa się poza godzinami szczytu (niedziela 02:00-04:00 UTC).
  • Awarie systemu KSeF Ministerstwa Finansów - wykrywane i raportowane przez nasz monitor ksef.detection_changed, ale poza naszą kontrolą.
  • Awarie zewnętrznych SaaS (Stripe, Supabase, Hetzner, Resend, PostHog, Sentry) - mamy wbudowany fallback / degradacja kontrolowana, ale pełna niedostępność tych usług nie liczy się do naszego SLA.
  • Force majeure (katastrofy naturalne, decyzje organów państwowych blokujące hosting, ataki DDoS trwające > 4h mimo ochrony Cloudflare).
  • Błędy konfiguracji po stronie Klienta (przekroczenie quoty, niepoprawny klucz API, brak adresu na IP allowlist, błędna konfiguracja webhook endpointu). Pełna obsługa błędów: zwracamy HTTP 4xx z polem error.code.

Co znaczy „down” vs „degraded”

Down (waga 1.0)

Endpoint zwraca HTTP 5xx, timeout > 30s, lub jest całkowicie nieosiągalny z perspektywy probe'a. Każda minuta z tym stanem liczy się jako pełna minuta downtime.

Degraded (waga 0.5)

Endpoint odpowiada, ale poza SLO (latency p95 > 2× targetu lub error rate > 1%). Liczy się jako pół minuty downtime - Klient ma usługę, ale obniżonej jakości.

Proces przyznawania kredytu

  1. Pierwszego dnia każdego miesiąca cron monthly-sla-sweep liczy uptime za miniony miesiąc dla każdej organizacji płatnej.
  2. Jeśli uptime < 99.9%, tworzony jest wpis w sla_reports z odpowiednim credit_pct i statusem pending.
  3. Admin platformy zatwierdza wpis (zmiana na applied) - typowo w ciągu 24h roboczych. To jedyny manualny krok i służy wyłącznie audytowi (rzadko występującym przypadkom waiver, np. gdy degradacja okazała się false-positive probe'a).
  4. Stripe credit note jest wystawiana automatycznie przy generowaniu następnej faktury cyklicznej organizacji. Pojawia się jako pozycja minus na fakturze (np. SLA credit - April 2026: -29.00 PLN).
  5. Status każdego raportu (pending / applied / waived) + podsumowanie przyznanych kredytów jest widoczne dla organizacji w /dashboard/sla.

Plany objęte SLA

Service credit dotyczy planów z miesięczną subskrypcją: Starter, Pro, API i Enterprise. Plan Free nie ma kontraktowego SLA (uptime jest taki sam, ale brak automatycznych kredytów - nie ma za co liczyć kredyt). Plan Enterprise może mieć podwyższony cel uptime na podstawie indywidualnej umowy.

Pytania o SLA lub kredyt

E-mail: support@naprawksef.pl
Plan API: dedykowany kanał Slack Connect + response 4h roboczych.