Skip to content

kitsumed/ShizuCallRecorder

ShizuCallRecorder

GitHub Repo stars GitHub Downloads (all assets, all releases) GitHub Release GitHub Actions Workflow Status

The first non-root FOSS call recorder app for Android 11+! ShizuCallRecorder empowers ADB through Shizuku to use an advanced list of permissions given to the shell application. Latest URL.

It can also be seen as an on-device wrapper for scrcpy-server.

This application is intended to be a very basic call recorder that focuses solely on call recording for phone carriers.

Note

I am not 100% opposed to adding support for third-party apps, but this is not the main focus and I want to keep the application simple. See contributing for more information. We would first need to look into this issue.

Features

  • Records both sides of phone calls (incoming and outgoing)
    • Should work even when using Bluetooth or a remote headset
  • Security toggles to manage Shizuku on/off state
    • An attempt to reduce the potential attack surface introduced by Shizuku
    • Helps with apps that detect / yells at you when USB Debugging or Shizuku is enabled
  • Automatic call recording option with basic exclusion rules:
    • Ignore anonymous calls
    • Ignore specific contacts
    • Ignore all contacts
  • Saves recordings with Opus or AAC codec.
  • The app runs only on phone event changes, no persistent background process and notifications

Requirements

  • Android 12 or more recent*.
    • Look at the Android Tested Versions table for more informations on limitations.
  • Shizuku* (we recommend thedjchi fork)
Android Tested Versions I cannot extensively test all of these versions, so issues may arise. This table may change as more testing by other users is done.
Android Version Supported Note
11 Limited Unlocked screen required, else it crash
12 Yes
13 Yes
14 Yes
15 Yes
16 Yes
17 Unknown Not yet released, has major ADB changes

Important

This application makes use of hidden internal Android APIs. As such, it is prone to breaking in new Android releases or due to specific OEM modifications to the source code. There are multiple breaking points and dependencies. The two main ones right now are scrcpy-server and Shizuku.

Installation

⚠️⚠️⬇️YOU WILL NEED TO DO SOME INITIAL CONFIGURATIONS.⬇️⚠️⚠️

Please follow the installation instructions in the SUPPORT documentation under Installation & Configuration.

You can download the latest version here.

Contributing

Please see the contributing guide.

Translation hosting generously provided by Weblate.

NOTE: By default, Weblate will use your account creation email when making commits to GitHub (to give you credits). This would leak your email address, you can change this behavior in your account settings.

Traduction Stats

License

The software is licensed under the GNU General Public License, version 3 (GPL-3.0). ⚠️ Additional terms under GNU GPL version 3 Section 7 are at the end of the file.

  • This License does not grant any rights in the trademarks, service marks, or logos of any Contributor.
  • As example, the name "ShizuCallRecorder" and com.kitsumed.shizucallrecorder are the property of the copyright holder kitsumed.

I decided to use the GPL-3.0 license, as no other FOSS call recording app for non-root devices exists yet, and I want to ensure that any potential future alternatives derived from this project remain FOSS.

Disclaimer

Recording phone calls may be subject to complex and varying laws in different countries and jurisdictions. For example, you may need to ensure you have consent from all parties before recording conversations. The developers and contributors are not responsible for any misuse or legal consequences arising from the use of this application. You can learn more on Wikipedia at: Telephone call recording laws.

If you are legally required to inform or ask someone for consent before recording, please note that the application DOES NOT handle this for you. In some cases, certain features, like automatic call recording, may not be legally allowed. It is your responsibility to ensure compliance with applicable laws. This is not legal advice. Please consult a legal professional for guidance regarding your specific situation.

Caution

APPLICATION BEHAVIOR

Due to the evolving Android ecosystem and varying hardware (OEMs), this software is subject to non-deterministic behavior:

  • Concurrent Calls: The app may fail to detect transitions (e.g., while in a call, a second incoming call arrives, or switching between held calls). In these scenarios, the application may continue to record audio into a single continuous file without separate notifications or new notifications prompts for subsequent callers.
  • Filter Logic Limitations: Due to Android privacy-driven restrictions on real-time phone number access, the app relies on fetching a deprecated value when it receives a phone state updates. We are not aware of other rational workaround for standard apps (alternatives are restrictive or incompatible). This initial check is used to decide whether to automatically record based on your settings. In cases where we receive the value too late, receive invalid data, or receive no data, the application is likely to consider the call as "anonymous" in its decision process. This should not affect the final file name since we can read the device call logs after the call ended.
  • Unforeseen Failures: Future OS updates, bugs, design choices in the app, or undocumented system behaviors may cause the app to start and/or continue recording, or fail, in a unexpected manner.

USER AWARENESS

Because deterministic behavior of the application cannot be guaranteed, it is your responsibility to:

  1. Ensure the recording behavior and your application settings aligns with your intent and the specific requirements in your jurisdiction.
  2. Monitor the app's behavior on your specific device. If you observe any behavior that does not comply with your local laws, you must immediately cease any activity that constitutes a legal infraction (For example, hanging up the call, deleting the audio files, etc).

Star History

Star History Chart

About

ShizuCallRecorder empowers ADB through Shizuku to record phone calls on non-rooted device!

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Contributors