Take back control of your privacy.
A sleek system tray indicator that shows you exactly when apps are spying through your microphone or camera.
| Feature | Description |
|---|---|
| 🟢 Green Dot | A single app is using your device |
| 🟠 Orange Dot | Multiple apps are accessing your device simultaneously |
| ⚪ Gray Dot | All clear — no activity detected |
| 📊 History Log | SQLite database with timestamps, app names, and duration |
| ⚙️ Settings GUI | Enable/disable monitoring per device, customize colors with live preview |
| 🎨 Color Picker | Built-in color chooser for each indicator state |
| ⏱️ Configurable Check Interval | Adjust how often Dot checks for device access (0.1s - 5s) |
| 🚀 Auto-start Toggle | Enable/disable run on boot from Settings |
| 🔍 App Menu Entry | Search "dot" in Activities to launch |
| 🔒 Single Instance | Only one Dot runs at a time |
| 🐧 Native Linux | Built with GTK3 and AppIndicator, integrates with GNOME/Ubuntu |
| 🛡️ Secure Installation | install.sh with systemd service and anti-tamper protection (chattr) |
| 🔄 Auto-Restart | Automatically restarts if killed or crashed |
| 🔔 Desktop Notifications | Get notified when apps access your devices |
| 🔧 CLI Commands | Block devices, kill apps, check status from terminal |
| 🌐 Web Panel | Monitor devices from browser at localhost:8080 |
| 🚫 Kill Switch | Ctrl+Shift+K — instantly block all devices |
Android 12 introduced the famous green dot indicator. iOS has it. Windows has it.
Linux desktop didn't — until now.
Dot monitors PipeWire/PulseAudio streams and video devices in real-time. If any app accesses your microphone or camera, you'll know immediately.
| Tray (Active) | Menu |
|---|---|
![]() |
![]() |
| History | Settings | Web Panel | Notification |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- Python 3 — Core logic
- GTK3 + AppIndicator3 — Native Linux UI
- SQLite3 — Lightweight local logging
- PipeWire / D-Bus — Audio/video stream monitoring
- psutil — Process information
- YAML — User configuration
- Cairo — Color preview rendering
sudo apt install gir1.2-appindicator3-0.1 python3-pip python3-venv xdotool python3-gi python3-gi-cairo -yInstalls with systemd service and anti-tamper protection.
git clone https://github.com/OandONE/dot.git && cd dot/dot
bash install.shWhat this does:
- Copies files to
/opt/dot - Locks critical files with
chattr +i(even root can't delete without unlock) - Creates a systemd service that auto-restarts Dot if killed
git clone https://github.com/OandONE/dot.git && cd dot/dot
python3 -m venv .venv --system-site-packages
source .venv/bin/activate
pip install psutil pyyaml
python3 main.py- Dot appears in your system tray (top-right corner)
- Search "Dot" in Activities to launch
- Enable Run on startup from Settings
# Remove systemd service
systemctl --user stop dot.service
systemctl --user disable dot.service
rm -f ~/.config/systemd/user/dot.service
# Unlock and remove files
sudo chattr -i /opt/dot/main.py /opt/dot/core/*.py 2>/dev/null
sudo rm -rf /opt/dot
# Remove autostart
rm -f ~/.config/autostart/dot.desktop
# Remove desktop entry
rm -f ~/.local/share/applications/dot.desktop
# Clean temp files
rm -f /tmp/dot.pid /tmp/dot_*.pngDot comes with a powerful command-line interface:
| Command | Description |
|---|---|
dot help |
Show all commands |
dot start |
Launch the GUI |
dot status |
Show current device status |
dot kill |
Kill all apps using devices |
dot kill mic |
Kill apps using microphone only |
dot kill cam |
Kill apps using camera only |
dot block cam |
Disable camera (unload driver) |
dot unblock cam |
Re-enable camera |
dot block mic |
Mute microphone |
dot unblock mic |
Unmute microphone |
dot history |
Show access history in terminal |
dot settings |
Open Settings window |
💡 After install, run
source ~/.bashrcto activate thedotcommand.
Edit config.yaml or use the built-in Settings GUI:
devices:
microphone: true
camera: true
location: false # coming soon
screenshare: false # coming soon
settings:
check_interval: 0.8 # seconds (0.1 - 5.0)
auto_delete_logs: 30 # daysgraph TD
A[PipeWire / D-Bus] -->|Stream events| B[Watcher]
B -->|Check foreground| C[Detector]
B -->|Log access| D[SQLite Database]
B -->|Get status| E[Indicator]
E -->|Show dot| F[System Tray]
D -->|Read history| G[History Window]
H[config.yaml] -->|User settings| B
H -->|Custom colors| E
I[Settings GUI] -->|Save| H
H -->|Reload| B
- 📍 Location monitoring (GPS / GeoClue)
- 🖥️ Screenshare detection (PipeWire video streams)
- 📈 Statistics dashboard
- 📷 Fake Camera (v4l2loopback)
- 🎨 Custom themes
- 📦 Debian/Flatpak/Snap packages
Pull requests are welcome!
Found a bug? Open an issue.
git clone https://github.com/OandONE/dot.git
cd dot/dot
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 main.pyMIT © [OandONE] (2026)
- Inspired by Android 12 Privacy Indicators
- Built for the Linux community with ❤️
- Thanks to PipeWire, GTK, and the open-source community
If this project helped you, consider giving it a ⭐





