For SACCOs, microfinance and insurance

You already message your members. Can you prove they agreed?

Statements go out by bulk SMS at a flat rate whether anyone reads them. Reminders come from a staff handset. And when a member disputes being contacted — or the Data Protection Commissioner asks — there is nothing to show. Sema sends on WhatsApp, and keeps the record that makes it defensible.

The four things you send

All of them are templates Meta has approved in advance, so they reach a member whether or not a conversation is already open.

Statements and balances

Utility

Send a member their balance or a statement summary as an approved utility template. They reply in the same thread, and that reply opens a free window your team can answer in.

Repayment and premium reminders

Utility

A reminder that arrives where people actually read, with an M-Pesa request attached so paying is one prompt rather than a separate errand.

Renewals and lapse notices

Utility

Reach a policy or loan cohort before it lapses. Contacts are segmented by tag, so a renewal run goes to the people it concerns and nobody else.

Login and confirmation codes

Authentication

One-time passwords over WhatsApp rather than SMS, on the authentication rate. Delivery is recorded per message, so a disputed login has an answer.

What an auditor asks

Four questions, and where the answer lives

Sending is the easy part. These are the questions that come afterwards, and the reason a spreadsheet of numbers and a staff phone stop being good enough once you are regulated.

Did this member agree to hear from us?
Every contact carries when and how they opted in, and each consent change is kept as an event rather than overwritten. STOP is honoured automatically and recorded, so an opt-out is provable too.
Who sent this, and from where?
Actions are written to an audit log with the member of staff, what they acted on, and the address they acted from. A message is never just "sent by the system".
What did it actually cost?
Each message is priced before it sends and reconciled afterwards against what Meta charged. A message that turns out free is not billed to you, and a failed one is refunded automatically.
Can we remove a member’s data on request?
A contact’s data can be exported for a subject access request and erased on request, while billing records are retained for the seven years Kenyan tax law requires.
Who can see what

Segregation of duties, enforced by the database

Roles are not a setting the interface honours and a script ignores. The boundary is a row-level policy in the database, so a member of your finance team can reconcile the bill without being able to read a single member conversation — however they connect.

An organisation always keeps an owner, and only an owner can appoint another. That rule is a database trigger, which means it holds for the interface, for support scripts, and for anything else.

Owner
Everything, including closing the workspace
Admin
Everything operational, including billing and connecting numbers
Manager
Runs conversations and campaigns. No billing
Agent
Answers members. No billing, no settings
Billing
Credit and invoices only — cannot read a single conversation
Viewer
Read-only

Start with one product line.

Connect your number, import the members for a single scheme, and send one statement run. You will see the cost before it goes and the record after.

Start free

No card needed. Talk to us first on 0784 155 752.