Blog
Thoughts on 2FA, security, and building cross-platform apps with Kotlin Multiplatform.

How Backups Work in TwoFac: Google Drive, iCloud, Local Files, and Pluggable Transports
In the previous post, I talked about how TwoFac unlocks secrets once they are already sitting on a device. This post is about the part that, in practice, caused me a lot more architectural pacing arou
Secure Session Management in TwoFac: Android Biometrics, iOS Local Auth, and WebAuthn
In the previous post, I focused on how TwoFac generates OTPs once it already has the secret material it needs. But that naturally leads to the next question: how do we unlock that secret material safe

Under the Hood: How TOTP Works and How TwoFac Generates Your 2FA Codes
In the previous article, I walked through how TwoFac is structured as a Kotlin Multiplatform project. With that groundwork out of the way, we can zoom in on one of the most important pieces in the sha

Architecting TwoFac: My Journey into Kotlin Multiplatform Module Structure
In my previous post, I talked about why I'm building TwoFac. The short version? I got tired of proprietary "digital cages" like Authy and wanted an authenticator that was open, secure, a

My Next Project: Building the Open-Source, Cross-Platform Authenticator I Always Wanted
Like many of you, I have a workflow. It’s a finely tuned set of tools and habits that lets me move between my different machines—a Mac for primary development, a Windows machine for gaming and testing