arpanjot-coding/AVault

Security & Privacy

An Android call recorder that encrypts recordings with hardware-backed AES-256-GCM and works without root via Shizuku.

363
24
Kotlin
NOASSERTION
new today

What AVault does

AVault is a call recording and audio vault app for Android 12 through Android 16+. Standard recorders leave unencrypted MP3 or M4A files in shared storage, where other apps and media indexers can read them. AVault instead writes each recording into a .vault container encrypted with AES-256-GCM. The master key is generated in the device's hardware security module (TEE / StrongBox) through the Android KeyStore, so raw key material stays out of normal app memory.

Recording without root is the other main piece. AVault uses Shizuku to obtain a privileged ADB shell context for the telecom and audio capture permissions, so no bootloader unlock, Magisk, or custom ROM is required. Playback decrypts on the fly into an ephemeral internal stream and zero-fills it when playback stops, so plaintext audio is not left on disk.

It is aimed at privacy-conscious Android users and security researchers who need encrypted local call archives. The app also adds biometric or PIN locking, FLAG_SECURE screenshot blocking, and an auto-delete retention policy with bookmark exemptions.

Quick start

You need an Android 12–16+ device, a PC with ADB or on-device wireless debugging, and the Shizuku app.

  1. Install AVault from the latest release APK, or build it yourself. For a manual build, the prerequisites are Git, JDK 17 or 21, Android SDK platform android-36 with build-tools 36.0.0, and a connected device (see the manual build guide):

    git clone --recurse-submodules https://github.com/arpanjot-coding/AVault.git
    cd AVault
    

    Create local.properties with sdk.dir=/path/to/your/android/sdk, then:

    ./gradlew assembleDebug
    adb install -r app/build/outputs/apk/debug/app-debug.apk
    

    On Windows PowerShell, use .\gradlew.bat assembleDebug.

  2. Start Shizuku. Without a PC, enable Developer Options → Wireless Debugging, pair the device in Shizuku with the 6-digit code, and tap Start. With a PC and USB debugging enabled, run:

    adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/start.sh
    
  3. Open AVault, tap Authorize on the Shizuku permission prompt, and complete onboarding. Then make or receive a call; a discreet notification shows Started during capture and Saved afterward. The encrypted file appears in the vault, and playback requires the app lock you configured.

The README also offers a one-prompt setup via AI coding assistants that resolves hidden API stubs and builds and installs the APK. That path depends on the assistant and is not a documented sequence of exact commands.

Using it safely

  • Consent law: Recording calls is regulated differently by country and state, with one-party and all-party consent regimes. The README limits the project to academic, security, and educational research and places responsibility for lawful use on the operator.
  • Shizuku dependency: Recording needs a running Shizuku service. OEM battery managers (notably Samsung's Sleeping Apps) may kill it; set battery usage for Shizuku and AVault to unrestricted.
  • Key binding: Vault keys are bound to the app UID in the Android KeyStore. Reinstalling with cleared data or losing the KeyStore key makes existing recordings undecryptable, and the README lists this as a cause of playback failure.
  • Retention deletes unless bookmarked: With auto-delete enabled, non-bookmarked recordings are pruned after the chosen horizon (1 day to 1 year). Bookmark calls you want to keep.
  • Audio path variance: If the remote party's audio is silent, the troubleshooting guide suggests switching the audio source or enabling AudioPlaybackCapture; OEM audio routing can vary.
  • License: The project is released under the MIT License, according to the README and its license file.

HotRepo's take

AVault is a young repository: created on 2026-10-31 and first observed on the HotRepo new-project list on 2026-11-01, where it recorded 349 stars gained in a window beginning 2026-10-31T19:21Z and 17 forks in the same window. The collected hourly star samples run from 262 at 05:45 UTC to 349 at 09:45 UTC on 2026-11-01, a steady rise over those four hours. It has no recorded GitHub all-language daily rank, so there is no broader ranking evidence to weigh.

The attention is understandable given the pitch: encrypted rootless call recording on recent Android is a narrow, technically demanding niche, and the README documents the .vault container layout, key derivation, and threat model in unusual detail for a new project. That documentation is a claim, not an independent audit. The fast early star growth is also a one-day signal and should not be read as a quality or adoption measure.

Written by AI from the project's README, updated . The project's own docs are the source of truth.