A clean and elegant macOS menu bar TOTP authenticator
English · 中文
| Feature | |
|---|---|
| 🔐 | Secure Storage - TOTP secrets stored in macOS Keychain with encryption |
| 📋 | One-Click Copy - Click to copy verification codes instantly |
| 📷 | QR Code Support - Scan QR codes or export tokens as QR images |
| 📥 | Batch Import - Import multiple accounts via clipboard or input field |
| 🔄 | Google Authenticator Migration - Import accounts from Google Authenticator via migration QR code or link |
| ☁️ | GitHub Gist Sync - Optional sync via private GitHub Gist |
| 💾 | Offline First - Works without internet, all data encrypted locally |
| 🎨 | Theme Support - Light/Dark mode, follows system preference |
| 🌍 | Multi-Language - English, Simplified Chinese, Traditional Chinese, Japanese |
| 📌 | Pin & Reorder - Pin frequently used accounts, drag to reorder |
| 📂 | Group View - Group accounts by issuer for better organization |
| ⌨️ | Global Hotkey - Customizable keyboard shortcut (default: ⌘⇧K) |
| 🖥️ | CLI Tool - Command-line interface for scripts and automation |
| 🔄 | Import/Export - Backup and restore your tokens easily |
| 🚀 | Launch at Login - Start automatically with your Mac |
brew install --cask tasselx/tap/keydenDownload the latest DMG from Releases
Since the app is not signed with a paid Apple Developer account, macOS may not properly recognize the screen recording permission after installing a new version.
Solution:
- Open "System Settings" → "Privacy & Security" → "Screen Recording"
- Find Keyden and click "-" to remove the authorization
- Reopen Keyden, the system will request permission again
- Click "+" to add Keyden and grant permission
After installing a new version, macOS may prompt you to authorize Keychain access. This is normal because the app signature changes with each update.
Solution:
Simply click "Always Allow" or "Allow" when prompted. Your TOTP secrets are stored securely in the macOS Keychain and will remain intact after the update.
Since the app is not notarized by Apple, macOS Gatekeeper may block it and show a "damaged" error message.
Solution:
Open Terminal and run:
xattr -cr /Applications/Keyden.appThis removes the quarantine attribute and allows the app to run normally.
- Launch Keyden - icon appears in menu bar
- Click "+" to add TOTP accounts (scan QR or enter manually)
- Click any code to copy to clipboard
- Right-click for more options (pin, delete, export QR)
Keyden includes a CLI tool for scripts and automation.
Installation:
- One-Click Install: Right-click any account → "Copy CLI Command" → prompted to install if not found
- From Settings: Settings → General → CLI Tool → Install
- Manual: The CLI is bundled inside the app at
Keyden.app/Contents/Resources/CLI/keyden
# Usage
keyden get GitHub # Get TOTP code for GitHub
keyden get GitHub:user@example.com # Specific account (issuer:account format)
keyden get GitHub user@example.com # Same as above (space separated)
keyden list # List all accounts with codes
keyden search google # Search accounts
keyden help # Show help
# Use in scripts
CODE=$(keyden get GitHub)
echo "Your code is: $CODE"
# Auto-fill example (copy to clipboard)
keyden get GitHub | pbcopy💡 Tip: When you have multiple accounts under the same issuer (e.g., multiple GitHub accounts), use the
issuer:accountformat to specify which one.
- Go to Settings → Sync
- Create a GitHub Personal Access Token with
gistscope - Enter your token and enable sync
- Your tokens will be synced to a private Gist
🌐 Social & Communication
| Platform | 2FA Settings |
|---|---|
| Security Settings | |
| Security Settings | |
| 🐦 X (Twitter) | Account Security |
| Security Settings | |
| 🎮 Discord | Account Settings → User Settings → My Account |
| Account Settings | |
| 💬 Slack | Workspace Settings → Account Settings → Two-Factor Authentication |
💻 Developer Tools
| Platform | 2FA Settings |
|---|---|
| 🐙 GitHub | Two-Factor Authentication |
| 🦊 GitLab | Account Security |
| 🪣 Bitbucket | Account Security |
| 🐳 Docker Hub | Account Security |
| 📦 npm | Account Settings |
☁️ Cloud Services
| Platform | 2FA Settings |
|---|---|
| ☁️ AWS | IAM Security |
| ☁️ Azure | Security Info |
| ☁️ Google Cloud | Security Settings |
| ☁️ DigitalOcean | Account Security |
| 🔷 Cloudflare | Account Security |
🎮 Gaming Platforms
| Platform | 2FA Settings |
|---|---|
| 🎮 Steam | Steam Guard |
| 🎮 Epic Games | Account Security |
💰 Finance & Payment
| Platform | 2FA Settings |
|---|---|
| 💰 PayPal | Security Settings |
| 💰 Coinbase | Security Settings |
| 💰 Binance | Security Settings |
🔐 Password Managers
| Platform | 2FA Settings |
|---|---|
| 🔐 1Password | Account Settings |
| 🔐 Bitwarden | Account Settings |
📱 Other Services
| Platform | 2FA Settings |
|---|---|
| 🟦 Microsoft | Security Options |
| 🍎 Apple | Account Security |
| 🟠 Amazon | Two-Step Verification |
| 📦 Dropbox | Security Settings |
| Two-Step Verification | |
| 📧 ProtonMail | Account Settings |
| 🎵 Spotify | Account Security |
| 🛒 Shopify | Account Security |
| 📝 Notion | Account Settings → Security |
| 🎨 Figma | Account Settings |
💡 Tip: For platforms not listed, 2FA settings are typically found in Account Settings → Security or Privacy & Security.
Requirements: macOS 12.0+ / Xcode 15.0+
git clone https://github.com/tasselx/Keyden.git
cd Keyden
make build # Build universal app
make dmg # Create DMG installer
make clean # Clean build artifactsMore build options
make build-arm # Apple Silicon only
make build-intel # Intel only
make build-all # Universal- SwiftUI + AppKit - Native macOS UI
- CryptoKit - TOTP generation
- Keychain Services - Secure storage
- Vision Framework - QR code scanning
If you find Keyden helpful, consider buying me a coffee ☕
Your sponsorship can help me purchase an Apple Developer account, which will allow the app to be properly signed and notarized — no more "damaged" warnings!
| App | Description |
|---|---|
| LanShare-Mac | A simple and efficient LAN file sharing tool for macOS |
MIT License © tasselx



