swiftGuard — Anti-forensic app to safeguard your USB ports.
Tags: macos, python, security, opsec
Published: 2023-09-26 16:59:58

<!--- Logo -->

<div align="center">  
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://github.com/Lennolium/swiftGuard/blob/main/img/banner/banner_dark.png?raw=true" width="600vw">
  <source media="(prefers-color-scheme: light)" srcset="https://github.com/Lennolium/swiftGuard/blob/main/img/banner/banner_light.png?raw=true" width="600vw">
  <img alt="Application Banner" src="https://github.com/Lennolium/swiftGuard/blob/main/img/banner/banner_light.png?raw=true" width="600vw">
</picture>
</div>
<br>

----

<!--- Description -->

<div align="center">
Anti-forensic macOS tray application designed to safeguard your system by monitoring USB ports. It ensures your device's security by automatically initiating either a system shutdown or hibernation if an unauthorized device connects or a connected device is unplugged. It offers the flexibility to whitelist designated devices, to select an action to be executed and to set a countdown timer, allowing to disarm the shutdown process.
<br><br>

&nbsp;

<!--- Features -->

## What it offers

- __Monitoring:__ Continuously monitors USB ports for device activity, even in sleep mode.
- __Whitelisting:__ Allows users to whitelist authorized devices, ensuring hassle-free connectivity.
- __Discrete:__ Operates in the macOS system tray, minimizing interruptions.
- __Customizable:__ Allows users to configure various settings, including action (shutdown/hibernate), countdown timer and whitelist.
- __Lightweight:__ Designed to consume minimal system resources for optimal performance.
- __Privacy:__ Does not require an internet connection, ensuring the privacy of your data.
- __Open Source:__ Provides transparency and allows community contributions for continuous development.

&nbsp;

<!--- Screenshots -->

## See it in Action!
<div align="center">  
<picture>
  <source srcset="https://github.com/Lennolium/swiftGuard/blob/main/img/screenshots/screenshots.png?raw=true" width="600vw">
  <img alt="Application Screenshots" src="https://github.com/Lennolium/swiftGuard/blob/main/img/screenshots/screenshots.png?raw=true" width="600vw">
</picture>
  
*__Left:__ Manipulation button to defuse the alarm. __Right:__ Whitelist and Settings menu.*
</div>
<br>

&nbsp;

<!--- Why -->

### Why should You care?

A few reasons to use this tool:

- __Anti-Forensic Measures:__ In case the police or other thugs break in. The police often use a [mouse jiggler](https://en.wikipedia.org/wiki/Mouse_jiggler)
to prevent the screen saver or sleep mode from being activated.
- __Prevent Data Exfiltration:__ You do not want someone adding or copying documents to or from your computer via USB.
- __Public Environments:__ If you frequently use your Mac in public places like libraries or cafes, swiftGuard 
acts as an additional layer of security against physical attacks in a [potentially vulnerable](https://www.ccn.com/fbi-illegally-stole-ross-ulbrichts-laptop-brought-silk-road/) setting.
- __Server Protection:__ You want to improve the security of your home or company server (e.g. your Raspberry Pi, NAS, etc.).
- __Data Protection Regulations:__ Many industries and organizations are subject to strict data protection 
regulations. swiftGuard helps maintain compliance by preventing unauthorized data transfers and access through USB ports.

> **Tip**: You might also want to use a cord to attach a USB key to your wrist. Then plug the key into your computer and 
> run swiftGuard. If your computer is robbed, the USB is removed and the computer shuts down immediately.

&nbsp;

<!--- Planned Features -->

### What Features are planned next?

- __Bluetooth:__ If a Bluetooth Device (tries to) connect(s), or if a new Bt Device comes near you MacBook, swiftGuard will shutdown/hibernate.
- __More Actions:__ When it detects a Manipulation swiftGuard is able to delete or encrypt files/folders, wipe ram, send an email notification, ...)
- __Custom Actions:__ You can define custom shell/python commands to be executed, e.g., run a script.
- __Linux Support:__ Cross-platform support.
- __Encryption:__ More security on top, with password protected configuration and defusing.
- __Auto Start/Update:__ I think this one is clear.

&nbsp;

<!--- Download -->

### Getting started!

Visit the [GitHub Repository](https://github.com/Lennolium/swiftGuard) to explore the code, contribute to development, or download the latest release.


<a href="https://github.com/Lennolium/swiftGuard" > 
<img src="https://camo.githubusercontent.com/f549d6224e6cd2d0762ceb9bc9858b17896d16d8e0e534db51d916148e73ae10/68747470733a2f2f736f6369616c6966792e6769742e63692f4c656e6e6f6c69756d2f737769667447756172642f696d6167653f6465736372697074696f6e3d3126666f6e743d52616c6577617926666f726b733d31266973737565733d31266c6f676f3d68747470732533412532462532466769746875622e636f6d2532464c656e6e6f6c69756d25324673776966744775617264253246626c6f622532466d61696e253246696d672532466c6f676f2532466c6f676f5f6d61636f7325343032782e706e6725334672617725334474727565266e616d653d31266f776e65723d31267061747465726e3d436861726c696525323042726f776e267374617267617a6572733d31267468656d653d4175746f" alt="swiftGuard" width="500" height="250" />