DEV Community

Cover image for Flutter Dev + AppSec Engineer Built a KRA PIN Checker That Stores ZERO User Data (And Still Makes Money with M-Pesa Tokens) ๐Ÿ›ก๏ธ๐Ÿ‡ฐ๐Ÿ‡ช
SAINT
SAINT

Posted on

Flutter Dev + AppSec Engineer Built a KRA PIN Checker That Stores ZERO User Data (And Still Makes Money with M-Pesa Tokens) ๐Ÿ›ก๏ธ๐Ÿ‡ฐ๐Ÿ‡ช

Flutter Dev + AppSec Engineer Confessions: How I Built a Privacy-Obsessed KRA PIN Checker That Even My Paranoid Security Friends Approve Of ๐Ÿ›ก๏ธ๐Ÿ‡ฐ๐Ÿ‡ช

Hey devs, DevSecOps ninjas, and fellow security weirdos! ๐Ÿ‘‹

Iโ€™m a part-time Flutter dev by night and a full-time Application Security Engineer by day. That means I spend 9-5 hunting bugs in other peopleโ€™s codeโ€ฆ and then come home to make sure I donโ€™t become the bug myself. ๐Ÿ˜…

Let me tell you about PinSight(checKRA) โ€“ the app I built from absolute scratch that lets Kenyans verify any taxpayer PIN by kenyan IDs instantly using M-Pesa tokens.

No login. No data stored. No โ€œfree tierโ€ nonsense. Just pure, privacy-first magic.

And yes โ€” ONE codebase, ALL platforms:

โœ… Android

โœ… iOS

โœ… macOS

โœ… Windows

โœ… Linux

Because why write the same secure app five times?

Hereโ€™s the story from both sides of my brain:

1. The Developer Side (Flutter Joy ๐ŸŽจ)

  • Entire UI in Flutter โ†’ single codebase, zero platform-specific nightmares
  • Kenyan-themed design with slide + fade animations (animated_widgets)
  • Single screen flow: dropdown โ†’ ID โ†’ โ€œCheck PINโ€ โ†’ result card in flag colors ๐Ÿ‡ฐ๐Ÿ‡ช
  • Token balance in app bar, auto-triggers Buy Tokens dialog when zero (feels like magic)
  • flutter_dotenv so I never commit secrets (lesson learned the hard way)

2. The Security Engineer Side (Paranoia = Default Setting ๐Ÿ”’)

Most apps treat privacy like a suggestion. Mine treats it like oxygen.

What I deliberately DIDNโ€™T do:

  • โŒ No Firebase Auth
  • โŒ No Google/Sign-in-with-anything
  • โŒ No SharedPreferences / Keychain abuse
  • โŒ No logging of IDs, names, or phone numbers
  • โŒ No analytics with PII (Firebase Analytics events only, anonymized)

What I DID do (AppSec flex):

  • Every query is ephemeral โ€“ deleted instantly after response
  • Tokens stored on private Node.js backend (MongoDB Atlas) behind HTTPS
  • Tokens auto-delete when count = 0 (no zombie data)
  • M-Pesa callback IP-whitelisted to Safaricom only
  • Always ACK ResultCode: 0 to M-Pesa (no infinite retries)
  • Signed releases with upload keystores (Android) & Apple Developer certs (iOS/macOS)
  • Secrets in .env โ€“ never committed
  • Custom regex validation per taxpayer type

3. The DevSecOps Side (Shift-Left or GTFO)

  • Backend on Render with auto-TLS
  • /health endpoint for uptime monitors
  • MongoDB Atlas IP access list
  • Full CI/CD ready (GitHub Actions workflows in repo)
  • Tested every flow in Daraja sandbox
  • Repo structured so contributors canโ€™t leak secrets

Payment Methods (Kenya + Global)

  • ๐Ÿ‡ฐ๐Ÿ‡ช M-Pesa STK Push & Buy Goods (instant)
  • ๐ŸŒ PayPal coming next week! (for diaspora & international users)

Pricing? Brutally honest:

1 token = 1 verification. Buy exactly what you need.

KES 50 โ†’ 1 token
KES 100 โ†’ 2 tokens
KES 300 โ†’ 6 tokens
KES 600 โ†’ 14 tokens (best value)

Pay via M-Pesa โ†’ approve โ†’ paste SMS code โ†’ done.

PayPal flow drops soon โ€” same token system, global reach.

Tech Stack

Frontend: Flutter (Dart) โ€“ truly cross-platform

Backend: Node.js + Express + MongoDB Atlas

Payments: Safaricom Daraja API + PayPal (incoming)

Hosting: Render (paid HTTPS)

Analytics: Firebase (events only)

Download Links

  • Android: Play Store (live!)
  • iOS: App Store (review passed, live in 24h)
  • macOS / Windows / Linux: Direct download from GitHub Releases
  • APK / IPA / DMG / EXE / AppImage on request โ€“ DM โ€œAppSec approvedโ€ ๐Ÿ˜‰

GitHub โ€“ All Assets for early access of the app

๐Ÿ”— assets + desktop builds:

https://github.com/HovSaintBrandon/checKRA-supaApp-release

Star it if you hate data leaks. Fork it if you want to help add PayPal! ๐Ÿš€

Support: hovsaintbrandon@gmail.com

If youโ€™re a dev who actually cares about security, a DevSecOps warrior tired of fixing messes, or just a Kenyan (or friend of Kenya) sick of shady โ€œfreeโ€ PIN checkers that sell your dataโ€ฆ

โ€ฆtry it. I built it the way I wish EVERY app was built.

Letโ€™s make privacy the default โ€” on every platform. ๐Ÿ‡ฐ๐Ÿ‡ช๐Ÿ”’๐ŸŒ

P.S. Yes, I pentest my own app in my free time. Yes, Iโ€™m that guy. ๐Ÿ˜Ž

Flutter #Dart #CyberSecurity #AppSec #DevSecOps #KenyaTech #PrivacyFirst #Mpesa #PayPal #CrossPlatform #DesktopApps #NoLoginNoProblem

Top comments (0)