A simple, secure, and customizable clipboard history manager for macOS with automatic password protection.
- π― Sticky Mode: Revolutionary multi-paste workflow - press Space to keep popup open for rapid sequential pasting
 - β¨οΈ Enhanced Keyboard Navigation: Full arrow key navigation with visual selection highlighting
 - π Cursor-Based Popup: Optional experimental feature to show clipboard history at cursor location
 - π Direct Text Insertion: Smart paste behavior that appends text without overwriting existing content
 - β¨ Improved UX: Better visual feedback, persistent popups, and keyboard-first design
 
See CHANGELOG.md for full release history.
- Clipboard Monitoring: Automatically captures text and images copied to clipboard
 - History Storage: Stores up to 50 recent clipboard items
 - Menu Bar App: Runs discreetly in your menu bar without cluttering the dock
 - First Launch Onboarding: Welcome message on first run explaining how to use the app
 
- Customizable Hotkey: Default is Ctrl+Shift+V, fully customizable in Settings
 - Search: Instantly search through clipboard history
 - Full Keyboard Navigation: Arrow keys to navigate, Enter to paste, numbers 1-9 for quick selection
 - Sticky Mode: Press Space to enable persistent popup for rapid multi-pasting workflow
 - Visual Selection: Clear highlighting with blue borders shows current selection
 - Cursor-Based Popup: Optional experimental feature to show popup at cursor location
 - Visual Feedback: Items show preview text, source application, and paste status
 
- App-Specific Behaviors: Configure custom paste behaviors for different applications
 - Google Docs Integration: Automatically converts URLs to clickable links when pasting in Google Docs
 - Context-Aware: Detects both application and current URL for intelligent paste behavior
 - Direct Text Insertion: In sticky mode, text is inserted without changing clipboard or overwriting content
 - Intelligent Appending: Automatically positions cursor and adds spacing to prevent content overwriting
 - Multiple Paste Methods: Fallback strategies ensure paste works across all applications
 
- Password Protection: Automatically masks content from password managers (1Password, Bitwarden, etc.)
 - Smart Password Detection: Identifies password-like strings but excludes URLs
 - Privacy Settings: Configure which apps should have their content masked
 - Secure Pasting: Masked passwords are pasted with their actual values
 - Local Storage Only: All data stays on your machine, no external connections
 
- macOS 13.0 or later
 - Xcode Command Line Tools
 - Swift 5.9 or later
 
- Clone or download this repository
 - Navigate to the project directory
 - Build the app:
make release
 
For other build options:
make help        # Show all available commands
make build       # Debug build
make test        # Run tests
make clean       # Clean build artifactsAfter building:
- Move 
ClipboardHistory.appto your Applications folder - Double-click to launch
 - Grant accessibility permissions when prompted (required for global hotkey)
 - The app will appear in your menu bar
 
- Look for the clipboard icon in your menu bar (top-right of screen)
 - Copy something - The app automatically captures it
 - Press Ctrl+Shift+V to see your clipboard history
 - Click any item or press its number (1-9) to paste it
 - Right-click the menu bar icon for settings and options
 
That's it! The app runs quietly in the background, keeping your clipboard history safe and accessible.
- Ctrl+Shift+V (or custom hotkey): Show clipboard history popup
 - Left-click menu bar icon: Show/hide clipboard history
 - Right-click menu bar icon: Show menu with Settings and Quit options
 - β/β Arrow keys: Navigate through clipboard items
 - Enter: Paste currently selected item
 - Number keys (1-9): Quickly paste items 1-9 from history
 - Escape: Close popup
 - Search: Type to filter clipboard history
 - Click any item: Paste that item
 
- Space: Toggle sticky mode on/off (shows π indicator when active)
 - In sticky mode: Popup stays open after pasting for rapid sequential pasting
 - Example workflow:
- Press Ctrl+Shift+V β popup opens
 - Press Space β sticky mode enabled
 - Press 2 β pastes item 2, popup stays open
 - Press 5 β pastes item 5, popup stays open
 - β arrow β navigate to item 3
 - Enter β pastes item 3, popup stays open
 - Space β disable sticky mode
 - Escape β close popup
 
 
Access Settings by right-clicking the menu bar icon and selecting "Settings..."
- Click the recorder field and press your desired key combination
 - The app will show the current shortcut (e.g., ββ§V)
 
- Mask Passwords: Toggle automatic password masking on/off
 - Show clipboard at cursor (Experimental): Enable popup to appear at cursor location instead of menu bar
 - Excluded Applications: Manage apps whose content will be masked
- Default includes: 1Password, Bitwarden, LastPass, Dashlane, Keeper, KeePassXC, Enpass
 - Add custom apps by typing the app name
 
 
- Configure special paste behaviors for specific applications
 - Google Docs Link Paste: Automatically converts URLs to clickable links
- Only applies when pasting URLs (http:// or https://)
 - Works with Chrome, Safari, Firefox, Edge, and Arc
 - Can require specific URL patterns (e.g., docs.google.com)
 
 
- View current storage limit (50 items)
 - Clear History: Remove all items from clipboard history
 
- View app version and information
 - Quick access to app description
 
- Password Masking: Content from password managers is automatically masked as "β’β’β’β’β’β’β’β’"
 - Smart Detection: Automatically detects password-like strings (mixed case, numbers, special characters)
 - Source App Display: Shows which app the content was copied from
 - Secure Pasting: Masked passwords are pasted with their actual values, not the masked version
 
This app requires:
- Accessibility Access: For global hotkey support and simulating paste events
 
Grant these permissions in System Preferences > Security & Privacy > Privacy.
- 
Hotkey not working
- Ensure accessibility permissions are granted in System Settings > Privacy & Security > Accessibility
 - Try setting a different hotkey combination in Settings
 - Restart the app after granting permissions
 
 - 
App not launching
- Check System Settings > Privacy & Security and allow the app
 - If you see "damaged" warning, right-click the app and select Open
 - Build from source if downloaded version doesn't work
 
 - 
No clipboard history
- Start copying items - the app captures them automatically
 - Check if the source app is in the excluded list (Settings > Privacy)
 - Ensure the app is running (look for icon in menu bar)
 
 - 
Paste not working
- Grant accessibility permissions if prompted
 - Try the fallback paste methods (app tries multiple approaches)
 - Make sure the target app is active before pasting
 
 - 
Google Docs link paste not working
- Ensure you're pasting a URL (starts with http:// or https://)
 - Verify you're on docs.google.com
 - Check app-specific behaviors in Settings
 
 
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
 - Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
 
See the Development section above for build instructions.
This project is licensed under the MIT License - see the LICENSE file for details.
- HotKey - Inspiration for the vendored global hotkey implementation
 - The Swift community for excellent tools and libraries
 
This app takes security seriously with comprehensive supply chain protection:
- No Network Access: App doesn't connect to external services
 - Local Storage Only: All clipboard data stays on your machine
 - Password Protection: Content from password managers is automatically masked
 - Memory Safety: Swift's memory safety prevents common vulnerabilities
 
- Dependency Pinning: All dependencies pinned to exact versions (none currently required)
 - Checksum Verification: Dependencies verified with cryptographic checksums when present
 - Minimal Dependencies: Zero third-party runtime dependencies
 - Automated Scanning: CI/CD includes security scanning and secret detection
 - Regular Audits: Dependencies regularly reviewed and updated
 
- Reproducible Builds: Deterministic build process
 - Security Checks: Required security validation before releases
 - Code Review: All changes require review before merging
 - Static Analysis: SwiftLint checks for common security issues
 
See SECURITY.md for our complete security policy and vulnerability reporting process.
- Issues: Please report bugs and request features via GitHub Issues
 - Discussions: Join the conversation in GitHub Discussions