How caidensilverstein-svg/token-depot works
TokenDepot is a macOS menubar app for encrypted floating sticky notes. Users set a master and panic password, optionally configure recovery, unlock, then create and edit notes that are encrypted for persistence; locking clears the session. The graph includes authentication, recovery, note presentation, encrypted storage, and security primitives. Edges are limited to relationships shown in excerpts, the source index, or README; some UI and supporting-module behavior is unsampled, so uncertain links are omitted.
Main entry points: AuthManager.swift Authentication · NoteStore.swift Note Persistence · AppDelegate.swift App Lifecycle · RecoveryManager.swift Recovery Verification
Components 19
App and Notes
- App Lifecycle
TokenDepot/App/AppDelegate.swift - Menubar Controls
TokenDepot/UI/MenuBarController.swift - Setup Flow
TokenDepot/UI/SetupView.swift - Unlock Flow
TokenDepot/UI/UnlockView.swift - Note Window
TokenDepot/UI/StickyNoteWindow.swift - Note View Model
TokenDepot/UI/StickyNoteView.swift
Authentication and Recovery
- Authentication
TokenDepot/Auth/AuthManager.swift - Rate Limiting
TokenDepot/Auth/RateLimiter.swift - Recovery Flow
TokenDepot/UI/RecoveryView.swift - Recovery Verification
TokenDepot/Auth/RecoveryManager.swift - Keychain Access
TokenDepot/Auth/KeychainManager.swift
Encrypted Storage
- Note Persistence
TokenDepot/Storage/NoteStore.swift - Note File Model
TokenDepot/Storage/NoteFile.swift - Secure Wipe
TokenDepot/Storage/SecureWipe.swift
Security Primitives
- Authenticated Encryption
TokenDepot/Crypto/CryptoEngine.swift - Key Derivation
TokenDepot/Crypto/KeyDerivation.swift - Secure Memory
TokenDepot/Crypto/SecureMemory.swift
Other components
- User
- macOS Services
Connections 30
- User → App Lifecycle: starts app
README.md - App Lifecycle → Setup Flow: shows setup
TokenDepot/App/AppDelegate.swift - App Lifecycle → Unlock Flow: shows unlock
TokenDepot/App/AppDelegate.swift - App Lifecycle → Menubar Controls: starts controls
TokenDepot/App/AppDelegate.swift - App Lifecycle → Authentication: checks auth
TokenDepot/App/AppDelegate.swift - App Lifecycle → Note Persistence: loads notes
TokenDepot/App/AppDelegate.swift - Setup Flow → Authentication: sets passwords
TokenDepot/UI/SetupView.swift - Setup Flow → Recovery Verification: creates token
TokenDepot/UI/SetupView.swift - Unlock Flow → Authentication: authenticates
TokenDepot/UI/UnlockView.swift - Authentication → Rate Limiting: limits attempts
TokenDepot/Auth/AuthManager.swift - Authentication → Key Derivation: derives keys
TokenDepot/Auth/AuthManager.swift - Authentication → Keychain Access: reads credentials
TokenDepot/Auth/AuthManager.swift - Authentication → Note Persistence: panic wipes
TokenDepot/Auth/AuthManager.swift - Recovery Flow → Recovery Verification: verifies recovery
TokenDepot/UI/RecoveryView.swift - Recovery Flow → Key Derivation: derives replacement key
TokenDepot/UI/RecoveryView.swift - Recovery Verification → Keychain Access: stores token hash
TokenDepot/Auth/RecoveryManager.swift - Recovery Verification → Key Derivation: hashes token
TokenDepot/Auth/RecoveryManager.swift - Menubar Controls → Authentication: gets session key
TokenDepot/UI/MenuBarController.swift - Menubar Controls → Note Persistence: saves new note
TokenDepot/UI/MenuBarController.swift - Menubar Controls → Note Window: opens note
TokenDepot/UI/MenuBarController.swift - Note Window → Note Persistence: deletes note
TokenDepot/UI/StickyNoteWindow.swift - Note View Model → Authentication: uses session
TokenDepot/UI/StickyNoteView.swift - Note View Model → Note Persistence: uses notes
TokenDepot/UI/StickyNoteView.swift - Note Persistence → Authenticated Encryption: encrypts payload
TokenDepot/Storage/NoteStore.swift - Note Persistence → Key Derivation: derives note keys
TokenDepot/Storage/NoteStore.swift - Note Persistence → Secure Wipe: wipes files
TokenDepot/Storage/NoteStore.swift - Keychain Access → macOS Services: accesses Keychain
TokenDepot/Auth/KeychainManager.swift - Authenticated Encryption → macOS Services: uses CryptoKit
TokenDepot/Crypto/CryptoEngine.swift - Note Persistence → macOS Services: stores note files
README.md - Recovery Verification → macOS Services: requests Touch ID
TokenDepot/Auth/RecoveryManager.swift