Built like it holds money, because it does
Two things here are worth protecting properly: other people’s money, and children’s fingerprints. Here is specifically how each is handled.
The ledger is the product
The till, the app, and the console are all just interfaces onto it.
Checked by proof, not by hope
Four rules hold at all times: entries sum to zero, a wallet never goes negative, money is conserved, and replaying the same instruction twice changes nothing. Each one is verified automatically against thousands of generated cases on every change, rather than against a handful of examples somebody thought to write down. Separately, a daily integrity job compares M-Pesa’s record against the ledger and raises the alarm on any discrepancy, so a problem is found by us rather than reported by a parent.
Biometrics of minors, treated accordingly
A child’s fingerprint deserves more care than a login password. Six rules govern how it is captured, stored, matched, and removed.
Things we deliberately do not do
Most of the safety in a payment system comes from what it refuses to be capable of.
Store a picture of anybody’s fingerprint.
Keep a balance as a number that a person or a bug could edit.
Let the till decide whether a student can afford something. The ledger decides, and it refuses to go negative.
Reverse a payout we are not certain failed, so a parent is never debited twice for one withdrawal.
Put fingerprint data in the same database as money or payment details.
Ask us the hard questions
Bring your bursar, your IT person, or your lawyer. We would much rather answer this before you sign up than after.
We usually reply within two working days.