Engineering

Fintech Software Development: Compliance-First Architecture for 2026

PCI DSS, PSD2, and AML/KYC are cheapest to satisfy when they shape the architecture from day one — tokenized payments, append-only ledgers, and async verification, not a pre-launch checklist.

Anupam

Anupam

Co-Founder & Lead Database/Backend Engineer

7 min read

Compliance work that gets bolted onto a fintech product after the architecture is already set costs more than compliance work that shaped the architecture from the start — not because the individual controls are harder to add later, but because the data model, the audit trail, and the service boundaries all end up fighting the requirement instead of expressing it.

Why compliance can't be a final pass

The instinct to build the product first and add compliance before launch treats PCI DSS, SOX, AML/KYC, and GDPR as a checklist to satisfy rather than constraints that should shape the data model. In practice, a system built without those constraints in mind tends to store card data where it shouldn't, log PII into general-purpose application logs, and mix regulated and unregulated data in the same tables — all of which are expensive to unwind once real customer data is already flowing through the system, and none of which show up as a problem until an audit or an incident forces the question.

PCI DSS scope reduction as an architecture decision, not an afterthought

The cheapest way to satisfy PCI DSS is to never touch card data at all: tokenize at the point of entry through a PCI-compliant processor (Stripe, Adyen, and similar all support this), and let your own systems store and pass around a token rather than a primary account number. This is a decision that has to be made in the initial API design, not retrofitted — once card numbers have flowed through your logging, your database backups, and your error-reporting pipeline even once, the PCI DSS scope of an audit expands to cover all of those systems, and narrowing it back down means auditing and remediating each one individually.

Audit trails as an architectural primitive, not a logging feature

Financial state that can be silently overwritten is a liability under most of the regulatory frameworks that apply to fintech, and it's also just bad engineering for a system handling money. An event-sourced or append-only ledger model — where a balance is the sum of an immutable sequence of transactions, not a single mutable row — gives you both an audit trail that satisfies SOX-style change tracking and a natural way to reconstruct state at any point in time, which regulators and your own finance team will both eventually ask for.

KYC/AML workflows that don't block the entire signup

The naive implementation makes identity verification a synchronous, blocking step in signup: the user waits on a third-party verification call before they can do anything else. This works until the verification provider has a slow day, at which point your entire funnel is blocked on a dependency you don't control. Better-architected KYC/AML flows treat verification as an asynchronous background process — the user gets a provisional, limited account immediately, with clearly scoped capabilities until verification completes, rather than a spinner and a prayer.

PSD2 and strong customer authentication, if you touch EU payments

Any product handling EU payment initiation or account access needs to account for PSD2's Strong Customer Authentication requirements — two-factor authentication combining at least two of knowledge, possession, and inherence factors, with specific exemption rules for low-value or low-risk transactions. This is worth scoping explicitly at the start of a project rather than discovering mid-build that a payment flow needs to be redesigned around an authentication requirement nobody accounted for.

Testing compliance controls, not just building them

A tokenization boundary or an append-only ledger is only as good as the tests that verify it stays intact as the codebase changes. Compliance controls need the same automated-testing discipline as any other critical path: a test that fails the build if a code change introduces a route that logs a raw card number, or a migration that would allow a ledger row to be updated in place instead of appended to. Without that enforcement, a control that was correctly designed on day one quietly erodes as new engineers, unfamiliar with why the boundary exists, work around it under deadline pressure six months later.

What this looks like in practice

None of this is exotic engineering — tokenized payment data, append-only ledgers, and asynchronous verification are all well-understood patterns. What determines whether a fintech build goes smoothly is whether these decisions get made in week one, when they're a design choice, or in month six, when they're a migration. We scope compliance requirements (PCI DSS, PSD2, SOC 2, or whatever combination applies) as part of the initial architecture conversation, not as a pre-launch checklist, specifically because the cost difference between those two timings is the single biggest lever on a fintech engagement's actual budget.

Anupam

Written by

Anupam

Co-Founder & Lead Database/Backend Engineer

Specializes in high-throughput database architecture, payment integrations, and resilient multi-tenant backend systems.

Want to build software that scales?

Book a free 30-minute discovery call