ShizuStore

IMD

soul-99

3 · GitHub

Download APK
Automation Android 7.0+ 4 weeks ago GPL-3.0
153 ShizuStore
6.6k GitHub
427 Stars
3 MB Size

More about this app

Fork of Geto that hides developer options, ADB, accessibility services and Shizuku itself for restrictive apps like banking, then restores them

IMD - It's My Device

Supercharged fork of Geto

Poster: IMD - It's My Device. A settings/services manager that shows the live status of your settings, and a hider that turns them off and back on around a restrictive app. Lists the supported settings, the three automations, and five screenshots of the app

Get it on Obtainium Get it on GitHub Get it on F-Droid

Latest release GitHub downloads

IMD (It's My Device) is a  powerful settings/ services manager  and  settings/ services hider  (automated disable-enable settings) for restrictive apps (banking, payments...etc). It supports the following settings / services :

  1. Developer settings
  2. ADB / Debugging
  3. Accessibility services
  4. Display over other apps (needs active Shizuku service)
  5. Shizuku service
  6. and many more (per app configuration - hiding framework, hint: use Settings observer for help)

How this works

flowchart TD
    A["User opens app from IMD / IMD generated app shortcut"]
    B["IMD actually disables these settings<br/><b><mark>no app's security policy is broken</mark></b>"]
    C["Use your app normally"]
    D["Use Revert function<br/><i>(accessible via: notification / quick toggle / Quick settings tile / homescreen shortcut / IMD settings manager)</i>"]
    E["IMD enables the disabled settings"]
    A --> B
    B --> C
    C --> D
    D --> E

Settings manager

The Settings Manager window over a homescreen: All off / All on, then Developer settings, USB debugging, Wireless debugging, Shizuku service, Accessibility services and Display over other apps, each with a switch and a link out to Android's own page, and Hide settings / Revert to default at the bottom The Quick Settings shade with three IMD tiles: Settings hidden, Settings manager and Revert to default

IMD's settings manager allows you to:

  1. View the live status of your settings/ services
  2. Quickly toggle them on-off

Automations

The 'How auto unhide works' page: seven numbered steps from IMD hiding your settings to the notification going away once everything is back The 'How IMD+ works' page: nine numbered steps from opening a watched app to IMD's own accessibility service coming back and IMD+ being armed again The IMD intents screen, showing the per-install auth key with a refresh, and the type, package, class and action of each intent with a copy button on every value

  1. Auto unhide settings
  2. Auto hide settings (IMD+ : needs background service)
  3. IMD Intents (Tasker / MacroDroid integration, secured with auth keys)

About Permissions

  • WRITE_SECURE_SETTINGS (one time grant via adb shell or Shizuku) (MANDATORY, needed to change settings state)
  • Shizuku service (optional) (needed to hide Display over other apps permissions - an appops permission)
  • Post notifications (optional)
  • Other permissions (optional: only needed if you use automations like IMD+)

Security Concerns

  • No internet access or unnecessary continuous background services (so almost zero battery / system resource use).
  • Does not tamper with any apps on the device.
  • The parts of this app that change settings cannot be triggered by another app, so only you can change them.
  • No ads, analytics, trackers or accounts of any kind. The app has no network permission at all - which is also why it cannot check for its own updates, and why Obtainium is how you find out there is one.
  • Package: com.soul_99.suIMD - installs alongside stock Geto, both can coexist
  • Requires: Android 7.0 (API 24) or newer. No root.
  • Licence: GPL-3.0

Changelog

Every release and what changed in it: CHANGELOG.md

Support the project 🫶 (for free)

I created this app in my busy schedule of full-time medical residency.

Initially it was born out of my personal needs, but after positive community feedback, I decided to share it with the FOSS community.

I want it to be taken over by more capable developers in future, as my profession does not allow me to maintain it all year round.

You can do these for free, if you want to support this project and keep it alive.

  1. Share this project/app to community. This is most helpful and will help to keep the project alive. (I don't need any credit or mentions) Share the repo »

    https://github.com/soul-99/SU_IMD
    
  2. ⭐ Star the GitHub repo to increase its visibility.

  3. Report bugs in the main repo.

  4. Join discussions.

  5. Contribute to the code or docs, if you are a developer.

- soul_99
(Dr. Utkarsh Rajput)

Development & Contributions

  • Created by: soul_99 (Dr. Utkarsh Rajput)
  • Contributions: RafayGhafoor (Display over other apps initial framework)
  • Original Project: Geto by JackEblan
  • License: IMD is licensed under the GNU General Public License v3.0, same as the original. See the license for more information.

Before you change anything, read SUIMD.md first. It documents how the app works, how each of its logics runs, and what was changed from the original Geto and why - including the bugs found in it and the reasoning behind each fix. Almost everything that looks odd in this code is answered there.

Then read CONTRIBUTING.md before you open a pull request.

About this project

I'm a full time radiology resident doctor, software is just a part time hobby.

This app exists because I wanted it to exist for myself, I have made multiple revisions after testing every build, fixing bugs and adding features, making the app what it is now - on par with my expectations.

Please know that due to my profession, it might take me some time for me to reply to queries, fix bugs and add new features in future builds, so please be patient.

But I do plan to maintain this app for the near future, until someone else makes a better app for the same purpose.

 

Namaste 🙏 & Thanks !


Long live free and open source software!

Close

How Shizuku is used

Can grant setup permissions, hide overlay access and system settings, and force-stop apps via `Shizuku shell`

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

IMD uses Shizuku to run privileged shell commands that set up its own access and hide or restore sensitive settings for restrictive apps.

  • Grant setup permission: gives itself WRITE_SECURE_SETTINGS with the pm grant shell command through Shizuku so it can hide and restore system settings without a computer.
  • Enable auto unhide detection: gives itself DUMP with pm grant and usage access with an AppOps command through Shizuku so it can tell why a watched app died and when it leaves the foreground.
  • Manage overlay access: checks who holds display over other apps and withdraws or restores it with cmd appops query and set commands through Shizuku as part of hiding and reverting.
  • Force-stop target apps: stops a selected app with the am force-stop shell command through Shizuku at the start of a hide so the app rereads the hidden settings on relaunch.
  • Enable detector service: clears the Android 13 plus restricted-settings block for its own package with a cmd appops command through Shizuku so its auto-hide accessibility detector can be switched on.

Android APIs or commands used

  • pm grant
  • cmd appops query-op
  • cmd appops set
  • am force-stop

Notable details

The same DUMP and setup grants can also be done with adb shell commands from a computer for users without Shizuku, and usage access can also be granted in the system settings list. Once granted, DUMP and usage access persist, so auto unhide can watch apps while Shizuku itself is stopped and hidden.

Close

Changelog

What's new for version 3

v3 - 3 September 2026 The largest release since the fork.

Major new features:

  1. Automations (auto unhide, auto hide/IMD+ needs background service)
  2. New material 3 expressive design with progressive UI blur
  3. Fully revamped logics and failsafes.
  4. Shevery framework corrections
  5. NEW HIDE SETTINGS QS TOGGLE

for full list (very long), see changelog.md

Close

Permissions

11 permissions requested

  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.POST_NOTIFICATIONS
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • android.permission.WRITE_SECURE_SETTINGS
  • android.permission.QUERY_ALL_PACKAGES
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_DATA_SYNC
  • android.permission.DUMP
  • android.permission.PACKAGE_USAGE_STATS
  • com.soul_99.suIMD.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close

Sources

2 sources

3 Universal GitHub · com.soul_99.suIMD
Selected Download
3 arm64-v8a,armeabi-v7a,x86,x86_64 F-Droid · com.soul_99.suIMD · com.soul_99.suIMD
Download