MaterialAuth is a compact native macOS TOTP authenticator with a clean Material Design 3-inspired interface.
- 6- and 8-digit TOTP codes with 30-second refresh
- SHA-1, SHA-256, and SHA-512 algorithms
otpauth://totp/...link import- QR-code import from screenshots or image files
- Manual account creation
- Secret storage in macOS Keychain
- One-click code copying
- Search
- System, light, and dark appearance modes
- Four Material 3-inspired color palettes
- Local service icons for popular providers
- macOS 14 or newer
- Swift 6 toolchain
- Xcode 16 or newer for full app development
swift run MaterialAuthYou can also open Package.swift in Xcode.
./build_app.shThe packaged app will be created at:
dist/MaterialAuth.app
The build script creates a release build, copies Info.plist and Resources/MaterialAuth.icns into the app bundle, clears extended attributes, and signs the app ad hoc for local use.
.
├── Assets/
│ └── MaterialAuthIcon.png
├── Resources/
│ └── MaterialAuth.icns
├── Sources/
│ └── MaterialAuth/
├── Info.plist
├── Package.swift
└── build_app.sh
MaterialAuth stores account metadata in UserDefaults and stores TOTP secrets in the macOS Keychain using a local generic-password service. Secrets are not committed to the repository and are not stored in plaintext project files.
MaterialAuth is released under the MIT License. See LICENSE for details.