Service Level Agreement
Cel dostępności 99.9% miesięcznie dla planów Pro / API. Spadek poniżej = kredyt serwisowy naliczany w kolejnym cyklu rozliczeniowym, bez zgłaszania i bez kalkulacji po stronie Klienta.
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ącu | Kredyt | Sposób przyznania |
|---|---|---|
| uptime ≥ 99.9% | brak (SLA spełnione) | - |
| 99.00% < uptime ≤ 99.90% | 10% MRR planu | kredyt do kolejnej faktury cyklicznej |
| 95.00% < uptime ≤ 99.00% | 25% MRR planu | kredyt do kolejnej faktury cyklicznej |
| 90.00% < uptime ≤ 95.00% | 50% MRR planu | kredyt do kolejnej faktury cyklicznej |
| ≤ 90.00% | 100% MRR planu | kredyt do kolejnej faktury cyklicznej |
Kredyt aplikowany do faktury za następny okres rozliczeniowy jako oddzielna pozycja minus. 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”
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.
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
- Pierwszego dnia każdego miesiąca cron
monthly-sla-sweepliczy uptime za miniony miesiąc dla każdej organizacji płatnej. - Jeśli uptime < 99.9%, tworzony jest wpis w
sla_reportsz odpowiednimcredit_pcti statusempending. - 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). - Kredyt pojawia się jako oddzielna pozycja minus na fakturze za następny okres rozliczeniowy organizacji (np.
SLA credit - April 2026: -29.00 PLN) - nie musisz nic robić po swojej stronie. - 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ł komunikacji (e-mail z gwarancją 4h response w godzinach roboczych; Slack Connect - wkrótce).