macOS Surveillance Application for Security Monitoring
Turn your Mac into a powerful surveillance system with Lock-Watcher. Detect and capture unauthorized access attempts discreetly, receiving high-quality photos from your built-in or external camera and securely storing them locally or in the cloud.
Company Name: IGR Soft Domain: com.igrsoft Contact: support@igrsoft.com
Project Name: Lock-Watcher Bundle Identifier: com.igrsoft.Lock-Watcher Current Version: 1.2.2 (Build 1222)
Lock-Watcher transforms your Mac into a stealthy security guardian. It monitors various system triggers - wake-up events, login attempts, power changes, USB connections, and wrong password entries - to detect potential unauthorized access. When triggered, it captures high-quality photos along with location, IP address, and network trace-route information, storing everything securely for later review.
- Camera Selection - Choose between built-in or external cameras for surveillance
- High-Quality Capture - Optimal photo capture with smart compression
- Easy Configuration - Simple setup for triggers and storage locations
- On WakeUp - Captures when Mac exits sleep mode
- On Login - Captures on user login events
- On Battery Power Switch - Captures when switching between AC and battery (laptops)
- On USB Mount - Captures when USB devices are connected
- On Wrong Password - Captures on failed login attempts (Non-MAS only)
Each capture includes:
- Device location (GPS coordinates)
- Network IP address
- Network trace-route analysis
- Timestamp with date formatting
- Local Database - Encrypted storage on your Mac
- iCloud - Sync to iCloud Drive
- Dropbox - Cloud backup via Dropbox
- Mail - Email delivery (Non-MAS only)
- Organized Files - Date-formatted naming for easy retrieval
- Customizable Menubar - Icon indicator and notifications on triggers
- Password Protection - Secure access to snapshots and settings
- Biometric Authentication - Apple Watch and Touch ID keyboard support
- Language: Swift 6.2
- UI Framework: SwiftUI with AppKit integration
- Minimum Platform: macOS 14.1+
- Architecture: MVVM + Coordinator pattern
- Concurrency: Swift 6 strict concurrency
- Storage: EasyStash (encrypted local storage)
- Cloud: iCloud (CloudKit), Dropbox SDK
- Camera: PhotoSnap library
- Auto-Launch: LaunchAtLogin
- macOS: 14.1 or later
- Hardware: Mac with built-in or external camera
- Xcode: 16.3+ (for development)
- Swift: 6.2
Lock-Watcher/
├── Source/ # Main application source
│ ├── Application/ # App entry point and delegate
│ ├── Coordinator/ # Navigation coordination
│ ├── Managers/ # Core business logic
│ ├── Listeners/ # Event trigger listeners
│ ├── Notifiers/ # Output channel notifiers
│ ├── Views/ # SwiftUI interface
│ ├── Models/ # Data structures
│ ├── Extensions/ # Swift extensions
│ ├── Utils/ # Utility functions
│ └── Logger/ # Logging infrastructure
├── XPCServices/ # Privileged helper services
│ ├── XPCAuthentication/ # Biometric authentication
│ ├── XPCMail/ # Email delivery (Non-MAS)
│ └── XPCPower/ # Power management
├── Tests/ # Unit tests
├── UITests/ # UI automation tests
├── Resources/ # Assets and configuration
└── Configurations/ # Build configs (MAS/Non-MAS)
git clone <repository-url>
cd Lock-Watcheropen Lock-Watcher.xcodeprojSelect the appropriate scheme:
- Lock-Watcher - Mac App Store build
- Lock-Watcher-non-mas - Direct distribution build
Press Cmd+R to build and run.
xcodebuild -project Lock-Watcher.xcodeproj \
-scheme Lock-Watcher \
-configuration Release \
buildxcodebuild -project Lock-Watcher.xcodeproj \
-scheme Lock-Watcher-non-mas \
-configuration Release \
buildxcodebuild test \
-project Lock-Watcher.xcodeproj \
-scheme Lock-Watcher \
-destination 'platform=macOS'xcodebuild test \
-project Lock-Watcher.xcodeproj \
-scheme Lock-Watcher \
-destination 'platform=macOS' \
-only-testing:Lock-WatcherUITestsProject uses SwiftFormat for consistent code formatting:
swiftformat .Configuration in .swiftformat file.
For development testing, reset all permissions:
tccutil reset All com.igrsoft.Lock-Watcher| Config | Bundle ID | Features |
|---|---|---|
| MAS | com.igrsoft.Lock-Watcher | App Store compliant |
| Non-MAS | com.igrsoft.Lock-Watcher-nonmas | Full features (Mail, WrongPassword) |
Lock-Watcher prioritizes your privacy and security:
- No Third-Party Services: Data is never sent to external analytics or tracking services
- Local Storage: All captures stored locally or in your own cloud accounts
- Encrypted Storage: Local database uses encryption
- Biometric Protection: Optional Touch ID/Apple Watch authentication
- Minimal Permissions: Only requests necessary system permissions
- Format code: Run
swiftformat . - Run tests: Ensure all tests pass
- Update docs: If adding features
Follow Conventional Commits:
feat: add new trigger type
fix: resolve camera capture issue
chore: update dependencies
docs: improve README
- CLAUDE.md - AI development guidelines and agent configuration
Copyright 2025 IGR Soft. All rights reserved.
See LICENSE file for details.
Available on the Mac App Store
For issues or questions:
- Create an issue in this repository
- Contact: support@igrsoft.com
Made with care by IGR Soft