Suggestions for System app replacements for upcoming adb script (Targeting stock android)

Hey yo,

Just wanted to get the community’s feedback regarding replacing privacy invading/Google apps to private alternatives on stock OSes and wanted see what does the privacy community generally agree. I Plan to do this for one of my friends who based on their phone needs and threat model decided on a Vivo phone so I thought replacing stock apps to ones that don’t communicate with servers is great (of course debloating is also in the course for this) and of course publish it for everyone which means everyone wins. Especially that we’re in a situation of: GrapheneOS, if unable → Stock OS or Other Custom OSes like Lineage. This is meant for those who chose stock but want a way to replace privacy invading stock apps easily (balancing both privacy and security in that specific way).
To be clear, if you can afford a Pixel, do that and put GrapheneOS, this won’t be for you.

Planned Implementation:

It will be an open source python software with executables for Linux and Windows and a CLI Interface, with open feedback to GUI (even though I never made GUI software and I would probably suck and maybe use AI for assistance, but the open source community could come together), mostly utilizing ADB for the operation. I will most likely start with initial support for Samsung and/or Xiaomi and at some point Vivo but may be able to actually utilize the Universal Android Debloater list to expand support but I would wish it was organized tbh so it will be slow!
There will also be both online and offline versions which will have vastly different sizes (online fetches them from github/gitlab/official sources while offline will contain APKs ready to install)
The process order is as follows:

  • Authorize android device (ADB)
  • Ask a few question (Firefox or Brave? Replace Google Suite with Proton Suite? Replace Play Store with Aurora Store?)
  • Install the apps necessary
  • Change defaults (on browser default gets reset, the user will be prompted to set it as default)
  • Uninstall system apps equivalents and only those (for Play Store: if you’ve chosen Aurora Store, play store is disabled instead, if not, Play Store remains)

Limitations:

This will not be a debloater (use Universal Android Debloater-ng for that) and nor will it provide a way to update the apps installed (whenever through online or offline means of initial installation), it is up to the apps or user to provide a way or let them know (FUTO Keyboard for instance Does let them know) in regards to updating those apps, I may work on an Updater but generally it is best to guide users towards using obtainium to provide updates for most apps. For phones that dont have Google Play Services (eg. Chinese ROMs, Custom OSes) this will not install them and in my research, they provide a way to enable it, The way Google Play Services is available or obtained is at the user’s discretion. Also factory resetting the device will return the system apps, which warrants rerunning the script.
It is also designed with balance of accessibility and privacy with some emphasis on security in mind, meaning these apps are curated specifically for it! If you know what you’re doing I generally recommend DIY rather than using a script or replace the apps with ones of your choosing after the script, this is for users who want an easy way out and can choose to swap individually at anytime!

Planned Apps:

(Stock App) → (Replacement) [Format]

  • Camera → GrapheneOS Secure Camera
  • PDFs → Also GrapheneOS PDF Viewer
  • Browser(OEM [and/or] Chrome) → Brave [Reason: GrapheneOS does specify that they’re working on a version that will work on any device <quote>Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.</quote> but for now, Brave it is]
    For diehard Firefox Users (you will be given the choice between either, no in between): IronFox

[Safe to say those dont need particular reasons I hope, but those that do will be in brackets like this text]

  • Keyboard → FUTO Keyboard [Most important reason is that it supports latin languages now like Japanese! Also is the closest to replicating stock/google keyboard with voice input and glide typing]
  • File Manager → Tiny sized app that basically opens the AOSP File Manager (Like GrapheneOS) while also allowing it to be in the app drawer and not just a shortcut, besides the AOSP File Manager is also whats locked to for file picker [Play Store Link], Users can choose to install their own file manager, this is just the starting point.
  • Google Maps → CoMaps & Gmaps WV
  • YouTube app → Grayjay [Mainly because it is the only kind of frontend to have account support with easy importing of playlists and subscriptions using the account support for YouTube. You can also add Peertube for creators like Privacy Guides, Techlore etc. which is a Plus]
  • Google Suite → Proton Suite [If said yes by the user. Google Meet will replace with Proton Meet when it is out of closed beta and app is available.]
  • Play Store → Aurora Store [also if consented by the user, and it will not uninstall play services nor the play store, it will only disable play store, it can always be re-enabled if needed.]
  • Messaging → Google Messages [exclusively because of RCS E2EE Capability between Android to Android, it is recommended to use that. You need Google Play Services for it to work]
  • Suite of apps from (Dialer, Music Player, Voice Recorder, Notes, Launcher, Calculator, Gallery, Calendar and Contacts) to be replaced with → Fossify suite [Also adds paint app (come on you know you liked old Microsoft Paint), these apps can be uninstalled anytime in favour of an app of your choosing, It’s just, the name checks out, it “fossifies” the stock apps]

Any app shown here can be replaced with one of your choosing if you would like after the initial replacements or if DIY


So yeah im awaiting what you have to say. Thanks for reading! (with that long write up might as well have been writing a wiki :joy: but hey, it is a detailed plan ready to go, just need the devices I can test on and write code)

3 Likes

I think it’s a good list and I use/used most of these.

My only comments:

  • I personally think the GOS PDF viewer is bad and it hasn’t displayed fonts correctly for me before. I’m currently using Librera instead.
  • is Aurora store really legal to recommend to people? I can’t imagine how they’re not breaking Google’s TOS by stealing their bandwidth for .apk downloads. I like obtanium but it’s probably too hardcore for the casual audience.
  • you’ll need to note that the Phone permission is required in Google play services for RCS to work.
  • I like that you have Brave there as that’s also what GOS guys recommend for users that don’t want to use Vanadium. Cromite is insecure/bad according to GOS.

I wouldn’t tell anyone to use Firefox on Android, not even my worst enemy. Other than that, it seems okay.

hey thanks,

Strange never had a problem in my experience and I would guess theirs it just adds a nice Securing layer for a pdf viewer, and yes I literally have opened many PDFs including during my days at college with GrapheneOS’s

Privacy Guides certainly recommends it so if I get in trouble why don’t they right?

Then I’ll more consider a updater but maybe something to teach users on Obtainium may work!

for permissions on RCS, hmm sure but again with how it is obtained or installed is at the user’s discretion the play services, to my understanding either in already installed at system level or enabled via an official option, those would grant full permission already so generally less of a worry there

as I said it seems there are plan for outside of GOS vanadium but yeah it will be a little nerfed and it’s not out yet so Brave for the time being

I agree and I would bet many people especially in this community would most likely if not might as well be 100% of them would choose brave.

But hey you never know if you have that user who uses Firefox on their Desktop with Sync. Let alone the diehards one who are on Firefox to spite on Google’s Chromium dominance or otherwise.

think of it as the blue pill and red pill among the PG community and I am not against either side at this point but the least that needs to happen is to pick the good options among those (Brave for chromium, IronFox for that type of audience)

1 Like

This is a cool project

Ive always been told messing with core system apps like Google or GOS stock risks breaking OS functionality, due to a complex web of interdependencies under the hood. Im excited to see what kind of framework you need to get around that

This immediately sounds like a security concern, even the most obsessive user can miss a security update for a few hours/days. Id strongly recommend all intended stock replacement apps come preconfigured with some kind of auto update capability

1 Like

Note that:

CTS requires operating systems to handle various intents which GrapheneOS relies on AOSP apps to provide. Many third party apps rely on these intents. We have to provide alternative apps that handle these intents if the AOSP apps will be removed.

eg. You can see all the various intents that Gallery handles listed in its manifest
platform_packages_apps_Gallery2/AndroidManifest.xml at 14 · GrapheneOS/platform_packages_apps_Gallery2 · GitHub

You need some way to test/verify that everything works as expected when these apps are replaced, even after things like a reboot (because it could be quite distressing if your keyboard stops working/does not work BFU).

1 Like

Hey thanks:

this is true, and this is why Device Support will be kinda slow with only those manufacturers planned. the reason is that there are packages names (its the unique package name that Android can understand wg. com.brand.app.example) that are so specific that blindly searching it will not work (eg. Samsung’s keyboard is no joke, in the end of the package name it’s honeyboard so searching for “keyboard” in packages wouldn’t work). To be able to target these specific apps I would have to be relying on having the device physically which will also marked as tested and rely on Universal Android Debloater’s list for other OEMs which is slow and will be marked untested and therefore target these exact packages.
Uninstalling systems apps that are can be replaced like the dialer app or sms app or browser is fine and that of course if you have already replaced it before going ahead, it will be possible to report issues if something goes unnoticed!

True and now I thought of this but my initial idea is updater and/or teaching on obtainium and manually adding the right sources for apps to.be able to update

but I’m curious if I can make versions of obtainium configs that would be as simple as opening obtainium and importing it, will check out later.

1 Like

Will keep that in mind.

with that said because these target the apps themselves and not the dependencies I don’t see how it could be break but it is definitely something to test, maybe with keeping the system keyboard disabled instead of uninstalled as a recovery form.

still at that

How can you downvote @james1992? Even with IronFox, sandboxing doesn’t work. I understand your point of view, since you can surely defend yourself on the internet. But what about those who can’t, when its security isn’t even up for discussion?