Prywatnosc danych i zgodnosc
Czy jakiekolwiek dane opuszczaja moja infrastrukture?
Nie. Parser wyciagow bankowych dziala jako biblioteka bezstanowa. Cale przetwarzanie -- analiza, maskowanie PII, ekstrakcja archiwow -- odbywa sie w lokalnej pamieci uruchomieniowej. Bez wywolan API, bez uslug chmurowych, bez telemetrii. Parsery XML sa wzmocnione z no_network=True, blokujac caly dostep zewnetrzny na poziomie parsera. Twoje dane finansowe nigdy nie opuszczaja Twojego srodowiska.
Jak dziala maskowanie PII?
Wrazliwe pola sa maskowane zanim trafia do logiki Twojej aplikacji. Parser identyfikuje imiona dluznikow, imiona wierzycieli, numery IBAN i adresy pocztowe, zastepujac je ***REDACTED*** w wyjsciu konsoli i trybie streaming.
- Maskowanie jest wlaczone domyslnie w wyjsciu CLI i trybie streaming.
- Eksporty plikow (CSV, JSON, Excel) zachowuja dane niemaskowane do dalszego przetwarzania.
- Wlacz pelne dane z
--show-piiw CLI lubredact_pii=Falsew API.
Czy proces ekstrakcji jest deterministyczny?
Tak -- identyczne wyjscie bajt po bajcie przy kazdym uruchomieniu. Przy tym samym pliku wejsciowym parser produkuje ten sam wynik za kazdym razem. Bez losowosci, bez inferencji modelu, bez heurystycznego protkowania. CI wymusza determinizm z 467 testami przy 100% pokryciu branchow, wlaczajac fuzzing oparty na wlasnosciach przez Hypothesis.
Jakie standardy zgodnosci realizuje projekt?
Projekt utrzymuje dokumentacje dostosowana do ISO 13485 z pelna identyfikowalnoscią:
- Skwantyfikowany Rejestr ryzyk z ocena dotkliwosci/prawdopodobienstwa i ocena ryzyka rezydualnego.
- Plan weryfikacji i walidacji z 19 kontrolowanymi etapami w 5 fazach.
- Procedura kontroli zmian z ocena wplywu i protokolami wycofania.
- Rejestr SOUP obejmujacy wszystkie zaleznosci z poziomami ryzyka i sledzeniem EOL.
- Macierz identyfikowalnosci mapujaca dane wejsciowe projektu do implementacji i weryfikacji.
Kazde wydanie zawiera SBOM CycloneDX, sumy kontrolne SHA-256 i atestacje pochodzenia buildu GitHub.
Wydajnosc i skalowalnosc
Jak szybki jest Parser wyciagow bankowych?
Progi wydajnosci sa walidowane w CI przy kazdym commicie:
| Metryka | Wartosc |
|---|---|
| Przepustowosc CAMT.053 | 27 000+ transakcji/sekunde |
| Przepustowosc PAIN.001 | 52 000+ transakcji/sekunde |
| Opoznienie na transakcje (CAMT) | 37 mikrosekund |
| Opoznienie na transakcje (PAIN.001) | 19 mikrosekund |
| Czas do pierwszego wyniku | < 2 ms |
Jak sa obslugiwane duze pliki?
Streaming z ograniczona pamiecia -- testowane przy 50 000 transakcji na plik. Uzyj parse_streaming() do inkrementalnego przetwarzania plikow XML. Kazda transakcja jest zwracana jako slownik; elementy sa czyszczone po przetworzeniu, aby zapobiec wzrostowi pamieci. Pamiec nie skaluje sie z rozmiarem pliku -- test z 50K transakcji (25+ MB) uzywa mniej niz 2x pamieci testu z 10K transakcji.
Dla plikow przekraczajacych 50 MB (np. partie PAIN.001 host-to-host ze 100K+ platnosci), parser przetwarza strumieniowo przez plik tymczasowy z blokowym usuwaniem przestrzeni nazw -- caly dokument nigdy nie jest ladowany do pamieci.
Obslugiwane formaty
Jakie formaty wyciagow bankowych sa obslugiwane?
| Format | Standard | Typy plikow | Klasa parsera |
|---|---|---|---|
| CAMT.053 | ISO 20022 Wyciag bank-do-klienta | .xml |
CamtParser |
| PAIN.001 | ISO 20022 Inicjowanie przelewu | .xml |
Pain001Parser |
| CSV | Ogolne eksporty bankowe | .csv |
CsvStatementParser |
| OFX | Open Financial Exchange | .ofx |
OfxParser |
| QFX | Quicken Financial Exchange | .qfx |
QfxParser |
| MT940 | Standard SWIFT | .mt940, .sta |
Mt940Parser |
Czy parser obsluguje dialekty CAMT.053 specyficzne dla bankow?
Tak -- agnostyczny wobec przestrzeni nazw z zalozenia. Parser usuwa przestrzenie nazw XML przed przetwarzaniem, obslugujac kazdy wariant CAMT.053 (camt.053.001.02, camt.053.001.04 lub wlasne wrappery bankow) bez konfiguracji specyficznej dla przestrzeni nazw.
Instalacja i kompatybilnosc
Jak zainstalowac Parser wyciagow bankowych?
pip install bankstatementparser
Dla opcjonalnej obslugi DataFrame Polars:
pip install bankstatementparser[polars]
Jakie wersje Pythona sa obslugiwane?
Python 3.9 do 3.14. Wszystkie wersje sa testowane w CI z 467 testami przy 100% pokryciu branchow.
Jakie sa zaleznosci?
Biblioteka ma 5 bezposrednich zaleznosci:
lxml-- analiza XML z wzmocnieniem bezpieczenstwapandas-- DataFrames i manipulacja danymiopenpyxl-- eksport Excelpydantic-- walidacja danych i modeledefusedxml-- ochrona XXE
Wszystkie zaleznosci maja wersje zablokowane hashem SHA-256. SBOM CycloneDX mapuje kazdy komponent uruchomieniowy.
Czy dziala na macOS, Linux i Windows?
Tak. Biblioteka dziala na macOS, Linux i Windows (przez WSL). Nie ma zaleznosci specyficznych dla platformy.