Skip to content

About

Source code of BankStatementParser.com, the official website of the Bank Statement Parser is a Python library built for Finance and Treasury Professional

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Bank Statement Parser logo

Bank Statement Parser

High-throughput financial document parsing engine converting multi-format bank statements (PDF, CSV, OFX, MT940, CAMT.053) into validated JSON and ISO 20022 messages with zero telemetry.

Build Release: v0.0.2 Docs OpenSSF Scorecard License: Apache-2.0 OR MIT Built with Rust SSG


Contents

Getting started

The Bank Statement Parser ecosystem

Library reference

Operational


Install

As a Static Site Generator project

Ensure ssg (Static Site Generator) and Python are installed:

# Install the Rust static site generator
cargo install ssg

# Clone the documentation repository
git clone https://github.com/sebastienrousseau/bankstatementparser.github.io.git
cd bankstatementparser.github.io

Optional audit tooling includes html-validate, pa11y-ci, and @lhci/cli for CI conformance testing:

npm install -g html-validate pa11y-ci @lhci/cli

Requirements

  • Rust Toolchain: Rust 1.75+ (for compiling ssg static site generator).
  • Node.js: Node 20+ (for HTML validation and accessibility CI suites).
  • Python: Python 3.12+ (for contrast ratios and regression testing).
  • Target Platforms: Linux, macOS, Windows (cross-platform static deployment).

Quick Start

# Build the complete site using Rust SSG and post-build optimization
make build

# Run WCAG 2.2 Level AAA and regression test suites
make audit

# Serve locally for preview
python3 -m http.server 8000 --directory docs

Navigate to http://localhost:8000 to inspect the generated documentation portal.


The Bank Statement Parser ecosystem

The bankstatementparser suite provides end-to-end tooling for financial document extraction, verification, and web distribution:

Component Purpose Use case
bankstatementparser Core Rust engine & Python bindings Financial document parsing (PDF, CSV, OFX, MT940, CAMT.053)
bankstatementparser-cli Standalone CLI binary Batch file transformation and terminal automation
bankstatementparser.github.io Static documentation portal Sovereign, zero-telemetry documentation and architectural guides

Capabilities at a glance

Area Capability Status
Static Generation Rust SSG v0.0.63 + Tera template compilation Active
Accessibility 100% WCAG 2.2 Level AAA compliance (>= 7.0:1 contrast) Verified
Content Security Strict Content-Security-Policy (CSP) with zero inline scripts Enforced
Integrity SHA-384 Subresource Integrity (SRI) on all scripts and styles Active
Search Engine Client-side zero-telemetry indexing via search-index.json Active
Feeds & Syndication Atom, RSS 2.0, JSON Feed, Sitemap, and CycloneDX SBOM Automated

Ecosystem comparison

Project Zero Telemetry WCAG 2.2 AAA Subresource Integrity Fast Native SSG
Bank Statement Parser Web Yes Yes (17.8:1 worst) Yes (SHA-384) Yes (Rust SSG)
Docusaurus No (Default telemetry) Partial (AA) No No (Node.js)
GitBook / Cloud Docs No (Third-party hosted) Partial (AA) No No (Proprietary SaaS)

Benchmarks

Audit and regression suites are executed continuously on every commit:

Scenario Result Environment
Full Site Compilation (20 Pages) < 2.0s Rust ssg 0.0.63, 32 plugins
Worst Light Mode Contrast Ratio 17.79:1 WCAG 2.2 AAA (Threshold >= 7.0:1)
Worst Dark Mode Contrast Ratio 8.08:1 WCAG 2.2 AAA (Threshold >= 7.0:1)
Lighthouse Performance / A11y 100 / 100 Clean ECMAScript, zero heavy runtimes

Features

  • Rust Static Site Generator (SSG): Markdown content parsing and Tera template compilation with sub-second page generation.
  • Apple HIG Design Philosophy: Responsive glass-morphism sticky header, squircle buttons, and smooth contrast-mode toggling.
  • Subresource Integrity (SRI): SHA-384 cryptographic digests enforced across all assets.
  • Zero Third-Party Tracking: Completely self-hosted static assets on high-assurance edge CDN (cloudcdn.pro).
  • Offline PWA Readiness: Manifest generation and offline fallback routes.
  • AI Integration Manifests: Machine-readable llms.txt, llms-full.txt, and Agent API documentation.

Configuration

Site configuration is governed by config/ssg.json and ssg.toml:

{
  "title": "Bank Statement Parser",
  "description": "High-throughput, privacy-first parser converting bank statements into validated JSON and ISO 20022 messages.",
  "cdn": "https://cloudcdn.pro"
}

Template layouts reside in _layouts/ with Markdown articles under _posts/. Compiled web assets are mirrored to docs/ for GitHub Pages distribution.


Examples

Local Compilation & Contrast Verification

# Compile Markdown content and layout templates into public/ and docs/
make build

# Run mathematical color contrast verification
make contrast

# Run Markdown frontmatter schema validator
make validate

When not to use Bank Statement Parser

  • Dynamic Server-Side Applications: This repository produces purely static, pre-rendered HTML/CSS/JS. It does not include a dynamic backend database or runtime server.
  • In-Browser Statement Decryption: The documentation portal explains and distributes the parser; actual statement extraction is performed locally via the Rust CLI or Python package to ensure zero data leakage.

Development

# Run complete verification suite
make audit

# Run HTML5 and WCAG structural validation
npx html-validate "docs/**/*.html"

# Run color contrast compliance check
python3 audit/contrast.py

All pull requests must pass HTML validation, contrast analysis, and structural self-hosting guardrails before merging.


Security

Every deployment enforces strict cryptographic and architectural controls:

  • Strict Content Security Policy: Eliminates unsafe script evaluation and restricts asset loading.
  • Air-Gapped Operation: Zero outbound analytics, telemetry, or external tracking beacons.
  • Supply Chain Assurance: CycloneDX SBOM generated on every build (docs/sbom.cdx.json).

Report vulnerabilities according to SECURITY.md.


Documentation


Stability guarantees

Versions follow strict Semantic Versioning (0.0.1 -> 0.0.2 -> ...), advancing incrementally per user repository conventions. The layout, visual contrast, and WCAG AAA compliance are regression-tested on every release.


License

Dual-licensed under Apache-2.0 OR MIT, at your option. See LICENSE.

About

Source code of BankStatementParser.com, the official website of the Bank Statement Parser is a Python library built for Finance and Treasury Professional

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages