Case study · Architecture
Authentication redesign and a shared Core SDK
Protocol-oriented, service-based authentication modules and one shared SDK for Keychain, Core Data, settings and dialogs.
- Swift
- UIKit
- Protocol-oriented design
- SOLID
- Service-oriented architecture
- Keychain
- Core Data
Context and problem
KSF Technologies AG is a Zürich-based company where I worked remotely as a Senior iOS Engineer on a large iOS application.
Its login and authentication code had grown tightly coupled and carried anti-patterns that made every change risky. Infrastructure such as secure storage, persistence, settings and dialogs was implemented again and again across features.
My role
I re-architected the login and authentication system, and I designed and built the Core SDK. Engineers across the iOS team then moved their features onto the SDK.
Architecture
Authentication is split into protocol-defined services with single responsibilities, so each part can be replaced or tested on its own.
Shared infrastructure lives in the Core SDK — Keychain storage, Core Data, settings and dialog services — behind stable interfaces that every feature uses.
Decisions
- Service-oriented boundaries for authentication, with each service behind a protocol.
- One shared SDK for cross-cutting infrastructure instead of per-feature copies.
- SOLID, DRY and KISS applied deliberately to keep module boundaries clear.
Testing and reliability
The modular, protocol-based design made authentication testable in isolation and releases more predictable.
Results
Authentication-related defects decreased, feature delivery became faster, and duplicated infrastructure code fell as features moved onto the shared SDK.