자주 묻는 질문

은행 명세서 파서에 대한 일반적인 질문

데이터 프라이버시 및 컴플라이언스

데이터가 내 인프라를 떠나나요?

아니요. 은행 명세서 파서는 상태 비저장 라이브러리로 작동합니다. 모든 처리 -- 파싱, PII 마스킹, 아카이브 추출 -- 는 로컬 런타임 메모리 내에서 발생합니다. API 호출 없음, 클라우드 서비스 없음, 텔레메트리 없음. XML 파서는 no_network=True로 강화되어 파서 수준에서 모든 아웃바운드 접근을 차단합니다.

PII 마스킹은 어떻게 작동하나요?

민감한 필드는 애플리케이션 로직에 도달하기 전에 마스킹됩니다. 파서는 채무자 이름, 채권자 이름, IBAN 및 우편 주소를 식별하여 콘솔 출력 및 스트리밍 모드에서 ***REDACTED***로 대체합니다.

  • 마스킹은 기본적으로 활성화되어 있습니다 (CLI 출력 및 스트리밍 모드).
  • 파일 내보내기 (CSV, JSON, Excel)는 다운스트림 처리를 위해 마스킹되지 않은 데이터를 유지합니다.
  • CLI에서 --show-pii 또는 API에서 redact_pii=False로 전체 데이터에 옵트인합니다.

추출 프로세스는 결정론적인가요?

예 -- 매 실행마다 바이트 동일한 출력. 동일한 입력 파일이 주어지면 파서는 매번 동일한 결과를 생성합니다. 무작위성, 모델 추론, 휴리스틱 샘플링 없음. CI는 Hypothesis를 통한 속성 기반 퍼징을 포함하여 100% 브랜치 커버리지의 467개 테스트로 결정론을 강제합니다.

성능 및 확장성

은행 명세서 파서는 얼마나 빠른가요?

측정
CAMT.053 처리량 27,000+ 트랜잭션/초
PAIN.001 처리량 52,000+ 트랜잭션/초
트랜잭션당 지연 시간 (CAMT) 37 마이크로초
트랜잭션당 지연 시간 (PAIN.001) 19 마이크로초
첫 번째 결과까지의 시간 < 2 ms

대용량 파일은 어떻게 처리되나요?

제한된 메모리로 스트리밍 -- 파일당 50,000개 트랜잭션에서 테스트됨. parse_streaming()을 사용하여 XML 파일을 점진적으로 처리합니다. 각 트랜잭션은 딕셔너리로 생성되며, 요소는 처리 후 클리어되어 메모리 증가를 방지합니다.

설치 및 호환성

은행 명세서 파서를 어떻게 설치하나요?

pip install bankstatementparser

선택적 Polars DataFrame 지원:

pip install bankstatementparser[polars]

어떤 Python 버전이 지원되나요?

Python 3.9~3.14. 모든 버전은 CI에서 467개 테스트, 100% 브랜치 커버리지로 테스트됩니다.