Skip to content

Latest commit

Β 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PrivaDoT Logo

PrivaDoT

Next-Generation Privacy Indicator for Android

Android Build Status API License Open Source Stars Forks

Empowering users with real-time transparency. Know exactly when your device's most sensitive hardware is being accessed, right when it happens.

Features β€’ Screenshots β€’ Architecture β€’ Installation


⚑ Why PrivaDoT?

While modern operating systems (like Android 12+) have started including basic privacy indicators, millions of older devices are left completely unprotected and blind to background spying.

PrivaDoT solves this by bridging the gap:

  1. Universal Protection: Brings modern iOS 14+ / Android 12+ style privacy indicators to all Android devices (down to Android 7.0), ensuring everyone has the right to privacy, regardless of their phone model.
  2. Beyond the Basics: Even on newer devices, native indicators lack historical tracking and customization. PrivaDoT provides an aggressive, always-on, zero-telemetry solution with an immutable audit log, giving you absolute control over your privacy.

πŸ“Έ Interface

Dashboard Access History
Customization Permissions

πŸ›‘οΈ Privacy Commitment

Important

PrivaDoT is a 100% Offline Application. The internet permission (android.permission.INTERNET) is strictly omitted. It is physically impossible for this app to transmit your data anywhere.

  • πŸ“¦ Offline Sandbox: All access history logs are stored securely via encrypted local SQLite (Room).
  • πŸ›‘ Zero Telemetry: No crashlytics, no analytics, no third-party tracking SDKs.
  • πŸ“– Open Source: Every single line of code is completely auditable by the community.

βš–οΈ Privacy Policy & Terms of Use

By using PrivaDoT, you agree to the following terms and our unwavering privacy guarantees:

1. Absolute Zero Data Collection

PrivaDoT does NOT collect, transmit, upload, or share any personal data, device identifiers, location data, or usage statistics. The application operates entirely offline and is physically restricted from accessing the internet (the android.permission.INTERNET permission is completely omitted from the AndroidManifest).

2. Local Storage Only

All hardware access logs (camera, microphone, location history) are stored exclusively within a private local SQLite database (Room) on your physical device. This data never leaves your phone and can be completely wiped at your command.

3. Open Source Transparency

This software is provided under the MIT License as a 100% open-source project. You are encouraged to audit the source code to verify our zero-telemetry claims. There are no hidden third-party tracking SDKs, no crash analytics, and no backdoors.

4. Disclaimer of Liability

PrivaDoT is designed to enhance your awareness of background hardware usage. However, it is provided "AS IS" without warranties of any kind. InvisusNova and the contributors are not liable for any bypassed detections (e.g., highly sophisticated malware or OEM-level rootkits) or any damages arising from the use of this software.

πŸš€ Core Features

  • Real-Time Indicators: Instant visual feedback when hardware is active.
    • 🟒 Camera - Active capture detection
    • 🟠 Microphone - Audio recording detection
    • πŸ”΅ Location - GPS / Network location polling
  • Hardware-Level Call Detection: Employs advanced AudioManager event-driven polling to instantly detect microphone usage even during native cellular phone calls, bypassing OEM dialer stealth techniques.
  • Immutable Audit Log: Detailed history of which app accessed what, down to the exact millisecond.
  • Dynamic Positioning: Freely move indicators via X/Y axis sliders to prevent UI overlap.
  • Auto-Boot Protection (BootReceiver): Automatically starts background protection the moment you restart your phone.
  • Anti-Kill Engine (KeepAliveService): Aggressively fights OEM battery optimizations to ensure the service is never silently killed in the background.

βš™οΈ Architecture & Data Flow

graph TD
    A[Third-Party App] -->|Requests Hardware| B(Android OS)
    B -->|Grants Access| C{Hardware Sensors}
    B -->|Fires Accessibility Event| D[PrivaDoTService]
    
    D -->|Renders Overlay| E((Indicator Dot))
    D -->|Writes to DB| F[(Room Database)]
    
    G[PrivaDoT UI] -->|Reads| F
    G -->|Updates| H[DataStore Prefs]
    H -->|Modifies State| D
Loading

πŸ“‚ Project Structure

app/src/main/java/com/invisusnova/privadot/
β”œβ”€β”€ data/                  # Local Storage Layer
β”‚   β”œβ”€β”€ AppDatabase.kt     # Room Database Configuration
β”‚   β”œβ”€β”€ HistoryDao.kt      # Data Access Object for logs
β”‚   β”œβ”€β”€ HistoryEntity.kt   # SQLite Table schema for access events
β”‚   └── SettingsManager.kt # Jetpack DataStore for user preferences
β”œβ”€β”€ service/               # Core Background Engine
β”‚   β”œβ”€β”€ BootReceiver.kt      # Auto-starts protection on device reboot
β”‚   β”œβ”€β”€ KeepAliveService.kt  # Foreground service to prevent OS battery kills
β”‚   β”œβ”€β”€ OverlayManager.kt    # SYSTEM_ALERT_WINDOW logic for drawing dots
β”‚   β”œβ”€β”€ PrivaDoTService.kt   # Core AccessibilityService implementation
β”‚   └── SensorUsageDetector.kt # Algorithms to detect Camera/Mic/Location
β”œβ”€β”€ theme/                 # Jetpack Compose Material 3 UI Tokens
β”œβ”€β”€ MainActivity.kt        # Primary Dashboard & Navigation Host
β”œβ”€β”€ HistoryScreen.kt       # UI for viewing the immutable audit log
└── SettingsScreen.kt      # UI for customizing indicator X/Y positions & colors

πŸ› οΈ Tech Stack

PrivaDoT is built using modern Android development standards:

  • 100% Kotlin: Leveraging Coroutines and Flow for asynchronous operations.
  • Jetpack Compose: Fully declarative, responsive UI with Material Design 3.
  • Architecture: MVVM (Model-View-ViewModel) with strict separation of concerns.
  • Persistence: Room Database for logs, Jetpack DataStore for asynchronous user preferences.

πŸ“₯ Installation & Build

Prerequisites

  • Android Studio Ladybug (or newer)
  • JDK 17
  • Android SDK 36

Building from Source

# Clone the repository
$ git clone https://github.com/InvisusNova/PrivaDoT.git

# Navigate to directory
$ cd PrivaDoT

# Build the debug variant
$ ./gradlew assembleDebug

The output APK will be located at: app/build/outputs/apk/debug/app-debug.apk

πŸ” View Required Permissions (Expand)
Permission Purpose
SYSTEM_ALERT_WINDOW Required to draw the indicator overlay seamlessly on top of other running apps (OverlayManager).
BIND_ACCESSIBILITY_SERVICE Core engine. Allows PrivaDoTService to listen for passive hardware access events triggered by the OS.
ACCESS_FINE_LOCATION Required only to detect when other apps are requesting location data. PrivaDoT itself does not use your location.
QUERY_ALL_PACKAGES Allows the app to resolve package names (e.g., com.whatsapp) into human-readable app names and fetch their icons for the history log.
POST_NOTIFICATIONS Ensures KeepAliveService remains alive via a foreground notification.
RECEIVE_BOOT_COMPLETED Allows BootReceiver to restart the app after the phone restarts.

Note

Despite requiring ACCESS_FINE_LOCATION, PrivaDoT only detects when other apps request your location. It never accesses your actual GPS coordinates.


Architected with ❀️ by InvisusNova
If you find this project valuable, consider leaving a ⭐

About

πŸ›‘οΈ Real-time privacy indicator for Android β€” Know who is watching, listening, or tracking you.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages