Open source

The fintech building blocks we’d want off the shelf.

Every client build leaves behind small, sharp tools that don’t belong to any one project — a sort-code validator, an AIS mock, a tamper-evident audit log. We clean them up and open-source them under MIT. Ten so far, all TypeScript, all on GitHub.

Browse the org on GitHub →Work with us
10
Public repositories
MIT
Licensed, every repo
TypeScript
Typed and tested
UK·US·CA
Rails & rules covered
— Why we publish

The unglamorous bits should be shared.

Modulus checks, Luhn validation and CPA-005 file formats aren’t where anyone’s competitive edge lives — but everyone rebuilds them, usually badly, usually under deadline. Publishing ours means our clients start a notch ahead, and the wider community stops reinventing the same regulated plumbing. It’s also the most honest portfolio we have: read the code.

open-banking-mock

A local, dependency-free mock of Plaid's account-information (AIS) API — accounts, balances, auth, identity, transactions, institutions and income, with seedable data for tests.

TypeScriptMIT
open-bankingplaidaismock-server

modulus-check-uk

Validate UK sort code + account number combinations using the official Pay.UK / VocaLink modulus-checking rules. TypeScript, zero-dependency, all 34 official test cases passing.

TypeScriptMIT
paymentsukmodulus-checkvocalinkbacs

card-validator

Luhn check, card-network detection (Visa, Mastercard, Amex, Discover, Diners, JCB, Maestro, UnionPay) and CVV / expiry validation. TypeScript, zero-dependency, PCI-friendly.

TypeScriptMIT
paymentscard-validationluhnpci

eft-canada

Canadian EFT toolkit: validate and convert account identifiers (transit / institution / account), parse cheque MICR, validate Interac aliases, and build / parse AFT files (Payments Canada CPA-005).

TypeScriptMIT
paymentscanadainteracaftcpa-005

rails-matrix

An open, machine-readable dataset of payment-rail capabilities — limits, cut-offs, settlement and identifiers across UK, EU, US and Canada — with typed accessors and a source for every fact.

TypeScriptMIT
payment-railsfpssepaachfednow

decide

A tiny decision-table and scorecard evaluator with explainable, auditable output. Fixed operators, custom predicates and a safe expression language. TypeScript, zero-dependency.

TypeScriptMIT
rules-enginedecision-enginescorecardexplainable

conc-lint

Compliance-as-code: check a declarative manifest against FCA Consumer Duty / CONC, CFPB and FCAC rule packs in CI. Each rule maps a control to a check. (Not legal advice.)

TypeScriptMIT
complianceregtechfcaconsumer-duty

audit-log

Tamper-evident, append-only audit logging for Node — a SHA-256 hash chain (optional HMAC), RBAC-aware events, built-in PII redaction and pluggable sinks. Built to survive an audit.

TypeScriptMIT
audit-logtamper-evidenthash-chainregtech

pii-redact

Mask PANs, sort codes, account numbers, IBANs, emails, phones, DOBs, NI numbers and SSNs out of strings and log objects. Configurable strategy, with pino & winston adapters.

TypeScriptMIT
piiredactionpcigdpr

device-nuid

Privacy-first device-signal collector: enumerate and normalise device / browser signals into a canonical schema and send them to an endpoint that mints a NUID. Consent-aware by design.

TypeScriptMIT
privacyfrauddevice-intelligenceconsent

Using one of these in production?

We’d love to hear about it — and if you need the team that wrote them to build the rest, that’s what we do.