What good is a secure application if the people it’s supposed to protect can barely use it?
It’s a slightly unfair question, I know. Security exists for a reason. With a financial app, for example, I’d rather spend an extra minute verifying my identity than discover someone else has been helping themselves to my money. Still, there’s something worth questioning about the hoops we sometimes have to jump through just to access our own accounts.
The M-PESA example
Working with Safaricom, specifically in Financial Services, gave me a closer look at the decisions behind services that people use every day. One of the apps launched while I was there was My OneApp.
For me, it also came with a slightly different responsibility: receiving complaints from people who knew where I worked.
“M-PESA, fix M-PESA.”
“Si uturudishie ile app mzee?”
Basically, “Can you just bring back the old app?”
Friends and family don’t always make much distinction between working at Safaricom and being personally responsible for everything Safaricom does. If something wasn’t working, I was at least someone they could tell.
And I understood the frustration. People were having difficulties getting into an app they relied on. For some, particularly those abroad, the requirements around their Safaricom SIM and mobile-data connection made access more complicated than they expected. From their perspective, the previous app had worked for them, and now they were being asked to adjust to something that made an ordinary task harder.
But I could also understand the concern on M-PESA’s side. Before, you could set up the app with your SIM, remove it, and still use the app. That was useful if you used more than one phone. But if someone else managed to authenticate your account on their phone, getting your SIM back wouldn’t necessarily end their access. Looking at it that way, I could see why checking that the SIM was still there mattered.
Session timeouts made sense to me for a similar reason. If I left the M-PESA app open and someone else picked up my phone, I’d want it to ask them to authenticate again. Keeping an account accessible indefinitely just because I’d signed in earlier wouldn’t be particularly reassuring.
The supermarket queue
But picture being in a supermarket queue. Being a good citizen, you don’t want to hold up the people behind you, so you open the app and enter the till number while the cashier is still scanning the shopping of the person ahead of you. Then it’s your turn, and you wait as your own shopping is scanned. All that’s left is to enter the amount and pay, so the next person can be served.
Then the cashier gives you the total. You go to enter it, and the app asks you to authenticate again.
Now you’re standing there saying “one second” to the cashier, very aware of the queue behind you. First, you wait for the app to check your SIM. Then you log in and go through the payment steps again, including the till number you’d already entered, just to get back to where you can enter the amount.
You’re watching the screen, waiting for it to load, when you hear a sigh from somewhere behind you. You’d opened the app early specifically so you wouldn’t keep everyone waiting, and now you’re doing exactly that.
I can understand why the timeout exists. But in that moment, I’m still holding the phone, still making the same payment, and mostly wishing the app could have waited a little longer. From the app’s side, though, a pause doesn’t explain itself. It can’t simply assume I’m waiting for the cashier.
That’s what made the complaints difficult to dismiss, even when I understood the reasons behind the checks. Knowing why a session expires doesn’t make restarting a payment any less frustrating. And knowing that a SIM check helps protect an account doesn’t make it easier to complete when you’re abroad.
How much is reasonable?
I can understand the checks and still wish parts of the process worked differently. After signing back in, could I continue the payment I’d already started? Could checking a balance involve fewer steps than sending money to someone new?
Those feel like reasonable things to ask. But I don’t know every risk behind a particular check, and I wouldn’t assume that something is safe to remove just because it inconveniences me.
That’s the part I’m still thinking about. I want my account protected, but I also want to use it comfortably. Understanding the security concern doesn’t make the frustration disappear, just as being frustrated doesn’t make the concern any less real.
How much inconvenience would I accept to keep my account safe? And would I give the same answer while standing at that till?