IMD
3 · GitHub
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
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 :
- Developer settings
- ADB / Debugging
- Accessibility services
- Display over other apps (needs active Shizuku service)
- Shizuku service
- 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
IMD's settings manager allows you to:
- View the live status of your settings/ services
- Quickly toggle them on-off
Automations
- Auto unhide settings
- Auto hide settings (IMD+ : needs background service)
- 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.
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⭐ Star the GitHub repo to increase its visibility.
Report bugs in the main repo.
Join discussions.
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!
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_SETTINGSwith thepm grantshell command through Shizuku so it can hide and restore system settings without a computer. - Enable auto unhide detection: gives itself
DUMPwithpm grantand 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 appopsquery and set commands through Shizuku as part of hiding and reverting. - Force-stop target apps: stops a selected app with the
am force-stopshell 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 appopscommand through Shizuku so its auto-hide accessibility detector can be switched on.
Android APIs or commands used
pm grantcmd appops query-opcmd appops setam 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.
Changelog
What's new for version 3
v3 - 3 September 2026 The largest release since the fork.
Major new features:
- Automations (auto unhide, auto hide/IMD+ needs background service)
- New material 3 expressive design with progressive UI blur
- Fully revamped logics and failsafes.
- Shevery framework corrections
- NEW HIDE SETTINGS QS TOGGLE
for full list (very long), see changelog.md
Permissions
11 permissions requested
Sources
2 sources
Sources
2 sources


