- Our own product
- macOS
- Open source
Eject Guard
A notarised macOS app protecting backups before you unplug the cable.
Project facts
- Platform
- macOS 14+ · Apple Silicon
- Signing
- Developer ID + Apple notarisation
- Languages
- SK · CS · EN · DE
- Distribution
- GitHub Releases · automatic updates
- Swift 6
- SwiftUI
- EventKit
- Sparkle
- XCTest
- GitHub Actions
The brief
Eject Guard is a macOS app that safely disconnects external disks before meetings. It watches selected disks and the calendar, distinguishes meetings from blocked time, gracefully stops Time Machine backups and ejects disks five minutes ahead. It is Developer ID signed, Apple notarised and updates automatically.
A meeting starts in a minute and you remember your backup disk only after unplugging it. We built Eject Guard to check the calendar and disconnect selected external disks before you leave your desk. Time Machine is the common case, but it supports any external disk. We use it ourselves and publish it as open source.
What we did
Disks disconnected before you leave your desk
Selected disks are ejected five minutes before a meeting, with configurable timing and a notification. Cancelled meetings are detected and disks left alone.
Distinguishes meetings from blocked time
Only events with other attendees that you have not declined trigger ejection. Focus and lunch blocks do not, without comparing titles. Individual meetings can be skipped and restored.
Backups stop gracefully
If Time Machine is writing to a selected disk, the app stops that backup before ejecting. Backups on other disks continue. If ejection fails, it reports which app holds the disk.
Safety as a rule
System disks and unselected disks are never touched. Stable identifiers distinguish disks. Automated tests enforce these rules. Calendar data stays local; internet access is only for updates.
Delivered as a finished product
Four languages including Slovak and Czech, Developer ID signing, Apple notarisation and signature-verified updates. A production bug was fixed with a signed release the next day and a regression test.
What does this mean for your project?
Eject Guard does a job people remember too late: five minutes before a meeting it ejects the disks on its own. It has firm rules on what it must never touch, the system disk and any disk you have not selected, and automated tests check them on every change. When a disk cannot be ejected, it says which app is holding it, so you do not pull the cable blindly. When a bug turned up in use, the fix shipped the next day with a test that keeps it out. A task your company relies on someone remembering is worth handing to an app, as long as it has clear limits and speaks up when it cannot do its job.
Links
Need something similar?
Tell us about your project in a few sentences. We get back to you with a suggested next step.
Write to us

