/Vigilante

🛡️ Android security (camera/microphone dots indicators) app using Hilt, Animations, Coroutines, Material, StateFlow, Jetpack (Room, ViewModel, Paging, Security, Biometrics, Start-up) based on MVVM architecture.

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

Vigilante

API GitHub release (including pre-releases)

If my noble work has helped you, consider becoming a Sponsor me.

An app that focuses on your privacy and alerts you when a third-party application uses your device camera or microphone, plus few other goodies.

Features

  • Notifications when microphone/camera is used
  • Screen dots when microphone/camera is used
  • Screen dots customizations when microphone/camera is used (size, color, screen position)
  • History when apps requested permissions
  • History when you disconnected/connected your charger
  • History when you connected/disconnected your headphones
  • History of your notifications
  • Lock screen history
  • Security sensible device informations
  • No useless permissions
  • Does not connect to the Internet
  • All of your data is encrypted (database and preferences)
  • Dark mode/light mode
  • Built with many amazing open source libraries such as (Kotlin extensions and helpers, Crashy, SQL Cipher, Color picker)
  • and many more...

Download

Get it on GitHub releases Get it on F-Droid

Screenshots

Light

Dark

Translations

To add a translation, please open a pull request, Crowdin was removed because it worked 2 out of 10 times.

Known issues

Built With 🛠

Some of the popular libraries and MVVM clean architecture used with Room database as a source

  • Kotlin - First class and official programming language for Android development.

  • Coroutines - Threads on steroids for Kotlin

  • Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.

  • StateFlow - A live data replacement

  • Android JetPack - Collection of libraries that help you design robust, testable, and maintainable apps.

    • Paging3 - Load and display small chunks of data at a time.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - A robust replacement for findViewById, kotlin sytnhetics and DataBinding
    • Navigation Components - Navigate fragments as never easier before
    • SavedStateHandle - A handle to saved state passed down to androidx.lifecycle.ViewModel.
    • Room - Persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
    • Biometrics - Authenticate with biometrics or device credentials, and perform cryptographic operations.
    • Security - Safely manage keys and encrypt files and sharedpreferences.
    • Start-up - Implement a straightforward, performant way to initialize components at app startup such as our crash reporting library Crashy.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.

  • Dependency Injection -

    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Architecture

    • Clean Architecture
    • MVVM
    • Offline with Room + SQL Cipher
  • Tests

Find this repository useful? ❤️

Support it by joining stargazers for this repository. 🌠

And follow me or check my blog for my next creations! ⭐

Contributions

To add a language that the app wasn't translated into, please open an issue!

Feature requests and translations are always welcome!

License

GNU General Public License v3.0