0

Kto ma dostęp do naszych faktur w KSeF? Analiza uprawnień

KatarzynaLewandowska22 mar0 wyświetleń

Ostatnio kilku klientów pyta mnie o to, kto właściwie może przeglądać ich faktury w systemie KSeF. To ważne pytanie, szczególnie dla firm prowadzących działalność w wrażliwych branżach.

NNa podstawie art. 106n ustawy o VAT, dostęp do danych w KSeF mają:

- organy podatkowe (oczywiście)

- organy kontroli skarbowej

- organy celno-skarbowe

- prokuratura i sądy w sprawach karnych skarbowych

- ZUS w zakresie składek

Co istotne - **dane są szyfrowane** zarówno podczas transmisji jak i przechowywania. Ministerstwo zapewnia, że stosuje standardy zgodne z RODO.

Jednak w praktyce warto pamiętać o kilku rzeczach:

1. **Uprawnienia wewnętrzne** - w firmie dostęp powinni mieć tylko upoważnieni pracownicy. Można to kontrolować przez certyfikaty kwalifikowane lub profile zaufane.

2. **Biura rachunkowe** - jeśli zlecacie obsługę na zewnątrz, sprawdźcie jakie mają procedury bezpieczeństwa. Upoważnienie musi być formalne (art. 106o ust. 6).

3. **Logi dostępu** - system rejestruje kto i kiedy uzyskał dostęp do danych. To dobra praktyka, żeby okresowo to sprawdzać.

Z mojego doświadczenia polecam też:

- Regularne zmiany haseł do profili zaufanych

- Szkolenia dla pracowników obsługujących system

- Jasne procedury wewnętrzne dotyczące uprawnień

Czy macie w swoich firmach wypracowane już jakieś standardy bezpieczeństwa dla KSeF?

6 odpowiedzi

0
Bardzo merytoryczny post! Z perspektywy developera który implementuje KSeF integration, chciałbym dodać kilka technicznych uwag o **bezpieczeństwie dostępu**. **Problem z cetryfikatami kwalifikowanymi** - wiele firm nie zdaje sobie sprawy że certyfikat w systemie = pełny dostęp do wszystkich faktur. Nie ma granular permissions jak w normalnych API. Jeśli biuro rachunkowe ma twój cert, to może pobierać faktury z wszystkich okresów, nie tylko te które obsługuje. Implementowałem dla jednego klienta proxy layer który loguje każde zapytanie: ```python # Audit trail dla dostępu do faktur def log_invoice_access(user_cert, invoice_id, action): audit_log.info(f"Cert: {cert_fingerprint}, Invoice: {invoice_id}, Action: {action}") ``` **Rate limiting vs bezpieczeństwo** - odkryłem że KSeF ma ukryty mechanizm który blokuje dostęp gdy wykryje "podejrzane" wzorce zapytań. Jeden klient miał zablokowany dostęp na 24h bo biuro rachunkowe robiło bulk download wszystkich faktur z ostatnich 6 miesięcy za jednym razem. System to zinterpretował jako potencjalny data breach. **Praktyczne pytanie** - jak rozwiązujecie kwestię **backup access**? Jeśli główny cert wygaśnie lub zostanie skompromitowany, to firma traci dostęp do swoich faktur. Czy warto mieć backup cert od innej osoby/urzędu? Ale wtedy znowu problem z kontrolą dostępu... Co do **logów dostępu** które wspominasz - czy można je pobrać programatically? Bo w interfejsie webowym to raczej basci view, a dla compliance potrzeba często detailed audit trail z timestampami i IP addresses. BTW, czy ktoś tetsował jak system radzi sobie z **GDPR requests**? Jeśli klient zażąda usunięcia swoich danych, to faktury w KSeF zostają czy można je jakoś anonimizować?
0
PITiVAT22 mar
Super spostrzeżenia @PodatkowyNinja! Z perspektywy wdrożeniowca Optimy mogę potwierdzić kilka rzeczy. **Co do backup access** - w Optimie rozwiązujemy to przez **upoważnienia zastępcze**. Można zdefiniować kilka osób z dostępem, ale każda z osobnym zakresem uprawnień. Ścieżka: *Konfiguracja → KeF → Upoważnienia*. Tam można ustawić że np. główna księgowa ma pełny dostęp, ale zastępca tylko do faktur z bieżącego miesiąca. Problem z **rate limiting** też potwierdzam - mieliśmy przypadek gdzie klient próbował zsynchronizować 3 lata historii faktur na raz i system go zbanował. Teraz w Optimie mamy wbudowany mechanizm który **automatycznie dzieli duże zapytania** na mniejsze porcje z opóźnieniami. Można to skonfigurować w *Parametry → KSeF → Limity pobierania*. **Logi dostępu** - niestety przez API można pobrać tylko podstawowe info o statusach fkatur. Detailed audit trail z IP i timestampami to chyba tylko pżez interfejs webowy MF. Ale w Optimie logujemy wszystko lokalnie, więc mamy własny audit trail dla naszych użytkowników. Co do **GDPR** - to ciekawe pytanie. Z tego co wiem faktury muszą być przechowywane przez okres przechowywania dokumentów podatkowych (5 lat), więc "prawo do zapomnienia" tutaj raczej nie zadziała. Ale może ktoś ma więcej info na ten temat? Jedna praktyczna uwaga - **sprawdzajcie regularnie ważność certyfikatów**! Optima ma wbudowane powiadomienia na 30 dni przed wygaśnięciem, ale wiele firm o tym zapomina.
0
Bardzo wyczerpująca analza uprawnień! Z perspektywy projektowania integracji dla większych organizacji chciałbym dodać kilka obserwacji dotyczących **architektury bezpieczeństwa w środowiskach rozproszonych**. Największy problem który napotykam to **granular access control w strukturach holdingowych**. Masz grupę kapitałowa z kilkoma spółkami, każda ma swojego księgowego, ale holding chce mieć consolidated view. W standardowych systemach ERP możesz to elegancko rozwiązać przez role-based permissions, ale w KSeF certyfikat = pełny dostęp do wszystkich faktur danej spółki. Musiałem zaprojektować **proxy layer z własnym RBAC**: ```python def check_invoice_access(user_role, companycode, invoice_data): if user_role == "holding_viewer": return company_code in user.allowed_companies elif user_role == "local_accountant": return company_code == user.primary_company ``` **Co do logów dostępu** - system rzeczywiście ma basic audit trail, ale z enterprise perspective to niewystarczające. Implementuję dodatkowe logowanie każdego API call z correlation IDs żeby móc trace'ować full user journey across multiple systesm. Szczególnie ważne gdy masz SAP + KSeF integration + BI tools pulling data simultaneously. **Praktyczne pytanie** - czy ktoś testował jak system radzi sobie z **concurrent access** gdy kilka aplikacji jednocześnie próbuje pobrać te same faktury? Bo widziałem sporadyczne 429 errors nawet przy low volume, co sugeruje że może być jakiś per-invoice locking mecahnism. Jedna rzecz której nie widziałem w dyskusji - **disaster recovery scenarios**. Co jeśli główny cert zostanie skompromitowany w piątek wieczorem? Procedura odwołania i wystawienia nowego może trwać dni, a firma traci dostęp do swoih własnych faktur. Backup cert od backup osoby to rozwiązanie, ale compliance nightmare z punktu widzenia segregation of duties.
0
Z perspektywy infrastruktury mogę potwierdzić kilka obserwacji dotyczących **audit trails** i **access control**. **Re: logi dostępu** - niestety API KSeF zwraca tylko basic info o statusach zapytań. Detailed audit trail z IP addresses i timestampami to rzeczywiście tylko przez webowy interface MF. Implementuję własne logowanie na poziomie proxy: ```nginx # Custom audit log format log_format ksef_access '$remote_addr [$time_local] "$request" ' 'cert_fingerprint=$ssl_client_fingerprint ' 'response_time=$request_time'; ``` **Concurrent access** - @Wdrozeniowiec wspomniał o 429 errors. Z moich testów wynika że system ma per-certificate rate limiting ~100 req/min, ale dodatkowo jakiś mechanizm wykrywający "suspicious patterns". Klient miał zablokowany dostęp na 6h bo jego accounting software robiło bulk download wszystkich faktur z ostatnich 3 miesięcy za jednym razem. **Backup certificates problem** - to rzeczywiście compliance nightmare. Rozwiązuję to przez **certificate rotation strategy** - główny cert + backup cert od innej osoby w firmie, ale z ograniczonym czasem ważności (6 miesięy vs standardwe 3 lata). Plus monitoring expiration dates: ```bash # Check cert validity openssl x509 -in ksef_cert.pem -noout -dates | grep "notAfter" ``` **Pytanie praktyczne** - czy ktoś testował scenariusz gdzie certyfikat zostanie skompromitowany w weekend? Procedura revocation przez urząd certyfikujący może trwać 48-72h, a w międzyczasie firma nie ma dostępu do własnych faktur. To może być real business conitnuity issue. Co do **GDPR vs retention policies** - faktury muszą być przechowywane przez okres ustawowy, ale ciekawe czy system ma mechanizm partial anonymization (np. zastąpienie nazwisk/adresów placeholder values po określonym czasie).
0
Bardzo dokładne zestawienie uprawnień! Z mojego doświadczenia mogę dodać kilka praktycznych obserwacji dotyczących **kontroli dostępu w biurach rachunkowych**. Największy problem który napotykam to sytuacja gdy firma ma kilka osób upoważnionych do KSeF, ale nie ma jasno określonych procedur kto za co odpowiada. Miałam przypadek gdzie księgowa główna i jej zastępczyni obie próbowały wysłać te same faktury, co generowało błędy duplikatów i chaos w numeracji. Teraz zasze ustalamy z klientem **jednoznaczny podział obowiązków** - jedna osoba wysyła faktury sprzedaży, inna zakupu, albo podział według okresów. Co do **biur rachunkowyhc** - zgadzam się że upoważnienie musi być formalne, ale warto też pamiętać o praktycznej stronie. Ja zawsze proszę klientów o **ograniczenie czasowe upoważnienia** - na przykład na rok kalendarzowy z automatycznym przedłużeniem. Daje to obu stronom możliwość weryfikacji współpracy i ewentualnej zmiany uprawnień. **Logi dostępu** rzeczywiście warto sprawdzać, ale w praktyce większość firm o tym zapomina. Robiłam audyt u jednego klienta i okazało się że były próby dostępu z IP spoza Polski o dziwnych godzinach. Na szczęście to był tylko były pracownik który zapomniał się wylogować z systemu na swoim prywatnym laptopie, ale mogło być gorzej. Jedna rzecz której nie widzę w dysksuji - jak radzicie sobie z **rotacją pracowników**? Miałam sytuację gdzie księgowa odeszła z firmy i zabrała ze sobą certyfikat kwalifikowany. Fima przez tydzień nie mogła wystawiać faktur, dopóki nie załatwili nowego certyfikatu i nie przekonfigurowali uprawnień. Teraz zawsze radzę klientom żeby mieli backup certyfikat od właściciela firmy lub drugiej osoby.
0
Ej, bardzo fajny post! 👍 Jako freelancer też się tym stresowałem na początku. Co do **biur rachunkowych** - u mnie księgowa ma dostęp ale tylko do wysyłania faktur, nie może pobierać historii. Sprawdziłem to na demo i rzeczywiście można ograniczyć zakres w upoważnieniu. Polecam to zrobić bo inaczej mają dostęp do wszystkiego. Te **logi dostępu** to dobra sprawa! Ja sprawdzam raz w miesiącu i rzeczywiście widać kto i kiedy się logował. U mnie raz było dziwne logowanie o 3 w nocy, okazało się że księgowa pracowała z domu i zapomniała o zmianie czasu w systemie 😅 Jedna praktyczna rzecz - **zmiana hała do profilu zaufanego** to naprawdę warto robić regularnie. Ja co 3 miesiące i mam spokój. A certyfikat sprawdzam czy nie wygasa, bo to byłby koszmar. Pytanie - czy ktoś wie jak to wygląda z **udostępnianiem faktur klientom**? Bo czasem klient pyyta czy może mieć dostęp do swojej faktury w systemie, ale chyba nie może się zalogować do mojego KSeF? Czy muszę mu wysłać PDF jak dotychczas?

Twoja odpowiedź

Zaloguj się, aby odpowiedzieć w tej dyskusji.