Skip to main content
Designing a Compliance-First Data Model for African Fintech — Anselm Fowel
AI & Technology

Designing a Compliance-First Data Model for African Fintech

4 min read
455 views
Share:

In most software, the data model exists to serve the features. In regulated fintech, the data model also has to serve the auditor, the regulator, and a future version of you trying to reconstruct, two years after the fact, exactly what happened to a single transaction. Designing it compliance-first, from the very first table, changes decisions that a typical application would make on autopilot. Doing this across African markets, where regulation is real, fast-moving, and varies sharply by border, has taught me a specific discipline.

In regulated fintech, the history is the asset.
In regulated fintech, the history is the asset.

Immutability over convenience

The default instinct in ordinary CRUD applications is to update records in place; a row represents the current truth, and you overwrite it when the truth changes. In a compliance-first model, financial records are append-only. You do not edit a transaction. You record a new event that supersedes the old one, and the old one remains, visible and intact, forever.

If a regulator asks what this balance looked like last March, your data model must be able to answer precisely, without depending on the existence and integrity of a database backup.

The history is the asset, and overwriting it is, in this context, destroying evidence you are legally required to retain. This single principle ripples through every schema decision that follows.

Separate the ledger from the application state

One pattern that has served me extremely well is keeping a strict double-entry ledger as the financial source of truth, deliberately separate from the operational state that drives the application's day-to-day behavior. The application layer can be flexible, denormalized, and free to evolve as product needs change. The ledger is sacred: balanced, append-only, and incapable of lying about the money.

Conflating the two, letting the convenient operational state also be your financial record of truth, is how organizations end up unable to prove their own numbers when it matters. The ledger answers "what is true about the money." The application state answers "what does the product need to function." Keeping those concerns physically separate is worth the redundancy many times over.

Model jurisdiction explicitly

African fintech is rarely single-country for long, and regulations differ sharply and consequentially across borders. Data residency requirements, reporting obligations, and the operations you are even permitted to perform all vary by jurisdiction, and they change.

Enjoying this article?

Get more like it in your inbox — practical engineering leadership, fintech, and AI. No spam, unsubscribe anytime.

So jurisdiction belongs in the data model as a first-class attribute, not as something inferred later from an address field when a regulator asks an uncomfortable question.

  • Tag every relevant record with the jurisdiction it belongs to, explicitly.
  • Design for data residency before you actually have a residency requirement, because retrofitting it is brutal.
  • Assume your reporting obligations will grow over time, not shrink, and build room for that.

Personal data is a liability, not just an asset

There is a cultural shift required here that engineers trained on "collect everything, you might need it" find genuinely difficult. Every piece of personal data you store is something you must protect, justify the holding of, and potentially delete on request. It is a liability you carry, not merely an asset you have accumulated.

So you design to collect the minimum you actually need, isolate the sensitive fields so they can be protected and deleted as a unit, and make consent and deletion tractable operations from the very start. Retrofitting privacy and deletion onto a model that cheerfully hoarded everything into every table is one of the most painful and error-prone projects an engineering team can be handed.

Reconciliation as a design property

In a payments business, reconciliation, proving that your records agree with your partners' records and with the actual movement of money, is not a periodic chore bolted on afterward. It should be a property the data model actively supports. That means capturing, for every movement, enough identifying and timing information to match it against external statements, and designing so that breaks are detectable quickly rather than discovered at month-end. A model that makes reconciliation easy is a model that catches errors and fraud early; a model that makes it hard is one where problems compound silently in the dark until they are large.

Anselm Fowel, CTO and fintech architect
Anselm Fowel — CTO & fintech architect

Conclusion: slow start, calm audits

A compliance-first data model feels slower at the beginning. More tables, stricter rules, less convenience, more discipline demanded of every developer who touches it. But when the audit arrives, when you expand into a new country with its own regulator, when a customer exercises their rights, you are answering questions calmly in hours rather than launching a frantic, expensive archaeology project across systems that were never designed to answer them. In this industry, that calm, earned by the upfront discipline, is the entire point.

Enjoyed this article? Share it with others!

Share:

Get new posts in your inbox

Occasional, practical notes on engineering leadership, fintech, and building with AI. No spam, unsubscribe anytime.

Comments (8)

Leave a Comment

Comments are moderated and will appear after review.

Ashley Martinez

July 18, 2026

If anyone hits this in CI cost spike specifically, we had good luck with NATS JetStream — the operational visibility alone pays for itself.

Onyeka Umeh

July 10, 2026

DevOps lead at a chartered digital bank. We hit this exact thing with CBN audit trail last Nov — error rate was the presenting symptom, and the "Reconciliation as a design property" section is basically how we untangled it. Ended up carving off a materialised view on Oracle 19c, cut error rate by 50%. For context: 11 DR drills a year.

Abena Nkrumah

July 1, 2026

Good topic. Tech lead at a pan-African lending platform here. What we do differently: run a shadow processor comparing against production for a week before cut-over on Kafka MSK. It is not universally better; the on-call story is worse, but the recovery story is dramatically better and that pays for itself the first time you have to answer a FCA question at 4am.

Matilda Bennett

June 30, 2026

Good writeup. A small nit on "Separate the ledger from the application state": the retry-after budget for DORA compliance is usually more like 32 hours in practice, not 6.

Grace Whitaker

June 30, 2026

Enjoyed this one. A small nit on "Model jurisdiction explicitly": worth mentioning write amplification on batched flushes — otherwise the pattern degrades under real load.

Rachel Lee

June 23, 2026

Quick q on "Immutability over convenience" — how do you handle partial failures when the core banking system times out? We're on Envoy and our current answer is jitter-and-pray.

Adaeze Okonkwo

June 22, 2026

Not fully sold — the "Immutability over convenience" advice maps cleanly onto high-throughput consumer payments, less so onto cross-border FX where the regulator specifies the workflow, not the engineer. In our operations we ended up doing the opposite and it's been the right call.

Lily Middleton

June 21, 2026

Good topic. Independent consultant, 5 due-diligence engagements a year across UK/EU fintechs here. What we do differently: keep an append-only audit log and rebuild state from it on demand on nothing fixed — I evaluate their stack. It is not universally better; operational complexity is real, but the audit story is dramatically better and that pays for itself the first time you have to answer a FCA question at 4am.

About the author

Anselm Fowel

Anselm Fowel

Chief Technology Officer & fintech architect. 16+ years leading engineering across AlliancePay, Mondu, Transalliance, Global Accelerex, and Fidelity Bank — writing here about engineering leadership, fintech architecture, and AI in production.

Read next

Subscribe to the newsletter

Practical notes on engineering leadership, fintech, and building with AI — delivered to your inbox. No spam, unsubscribe anytime.

Anselm Fowel

Chief Technology Officer | Fintech Architect | Engineering Leader

Building the future of financial technology through innovative engineering and strategic leadership.

Expertise

  • CTO Advisory
  • Fintech Architecture
  • Team Leadership
  • Technical Strategy
  • System Design

Get In Touch

[email protected]
Lagos, Nigeria

© 2026 Anselm Fowel. Crafted with passion.