M-Pesa phone numbers are personal data
Every Daraja callback hands you an MSISDN and a KYC name. Kenyan law treats both as personal data, and the obligations attach the moment you write them to a database.
4 min read
In short
Is an M-Pesa phone number personal data under Kenyan law?
Yes. The Data Protection Act, 2019 defines personal data as information relating to an identified or identifiable natural person, and a mobile number that identifies a specific subscriber falls squarely inside that. A Daraja callback also returns a KYC name, which removes any remaining ambiguity. Storing either makes you a data controller with registration, lawful basis and retention obligations.
What the callback actually hands you
A successful Lipa na M-Pesa transaction produces a callback to your server containing the transaction identifiers you expected and two things most integrations do not think about carefully: the customer mobile number and, depending on the endpoint, a name from Safaricom’s KYC record.
Both go straight into a database in almost every integration, usually into the same row as the amount and the reference, because that is the convenient shape for a reconciliation query. That single design decision is the point at which an engineering task becomes a compliance one.
The obligations attach immediately
The Data Protection Act, 2019 came into force in November 2019 and gives effect to the privacy right in Article 31 of the Constitution. If you determine why and how personal data is processed, you are a data controller, and controllers have duties that do not wait for scale.
In practice, for a business storing M-Pesa transactions, that means four things. Registration with the Office of the Data Protection Commissioner where the thresholds apply. A lawful basis for processing, which for transaction records is usually contractual necessity rather than consent, and knowing which one you are relying on matters because they carry different rights. A published privacy notice that describes what you actually do rather than a template. And a retention period that somebody decided, rather than the default of forever that a database gives you for free.
Masking is now the direction of travel
In March 2026 the Central Bank of Kenya approved masking of customer phone numbers in Lipa na M-Pesa Till and Paybill transactions. The immediate effect is on what merchants can see. The signal is broader: the regulatory expectation is moving toward merchants holding less identifying data by default, not more.
If your reconciliation logic depends on a full MSISDN being visible in a merchant statement, that is now a design assumption with a shelf life. Build against the transaction identifiers, which are stable and are not personal data, and treat the phone number as something you hold because you need it rather than because it arrived.
What to actually do
Separate the transaction record from the person record. The transaction needs an amount, a reference, a timestamp and Safaricom’s identifiers. It does not need a phone number embedded in it. Link to a customer record instead, so that deleting or restricting one person does not mean surgery on your financial history.
Do not log callbacks verbatim. The most common leak in Kenyan integrations is not a database breach, it is an application log containing raw callback bodies, shipped to a third-party log service, retained for ninety days, and readable by anyone with dashboard access. Redact the MSISDN and the KYC name at the logging boundary.
Write down the retention period and enforce it in code. A cron job that deletes or anonymises customer records after the retention period is a few hours of work and is the difference between a policy and a claim.
Check where the data physically sits. Cross-border transfer has its own requirements, and a default managed database in a European or American region is a transfer whether or not anyone framed it that way.
The part that needs a lawyer
This is groundwork, not legal advice, and the distinction is not a disclaimer. Registration thresholds, whether your specific processing needs a data protection impact assessment, and the correct lawful basis for your particular model are questions for a qualified advocate.
What engineering can do is arrive at that conversation with the processing already mapped: what is collected, from where, on what basis, held for how long, and in which jurisdiction. That makes the legal engagement shorter and considerably cheaper, and it is work nobody else can do for you.
Questions
Do I need to register with the ODPC to accept M-Pesa payments?
Registration as a data controller or processor is required where the statutory thresholds apply, and storing customer phone numbers and names from transactions is processing personal data. Whether your specific business meets a registration threshold is a question for a qualified advocate, but the processing itself is not in doubt.
Can I store the M-Pesa phone number in my transactions table?
You can, and most integrations do, but it is the wrong shape. Keep the transaction record to amounts, references, timestamps and Safaricom identifiers, and link to a separate customer record. That way a deletion or restriction request touches one row rather than your financial history.
What is the most common data protection mistake in Kenyan payment integrations?
Logging the raw callback. The phone number and KYC name end up in application logs, get shipped to a third-party logging service, are retained on that service’s default schedule, and are visible to everyone with dashboard access. Redact at the logging boundary before anything else.
Sources
- Data Protection Act, 2019 (Kenya Law) ↗
- Office of the Data Protection Commissioner ↗
- Safaricom Daraja API documentation ↗
We link the instrument rather than paraphrasing it. If our reading and the source disagree, the source is right.
Related
- Regulatory groundwork
We are not lawyers. We will tell you precisely when to hire one.
- Product engineering
A demo is the twenty per cent of a product that is easy to show. We are usually hired for the rest.
- SpaceYako
A property platform for Kenya, built around a single question: can you believe the listing?