Wanted to share something I’ve been trying for the last few months on my Samsung phone (I know, I know) to cut down ads, tracking, and random background noise. Perhaps it is of use to others.
It’s a bit more manual than most setups, so YMMV. Also, my device doesn’t have reliable custom firmware that keeps VoLTE working (which I need here), so this is the “no-root, stock OS” route.
TL;DR: I’m running a layered setup. DuckDuckGo App Protection (local VPN), Private DNS (Mullvad adblock), Karma Firewall to sandbox network access, plus ADB to disable stubborn background/analytics apps. All free tools.
What each layer actually does:
-
DuckDuckGo “VPN” (App Protection) - this is a local/on-device VPN, not a traditional “change your IP” VPN. It routes app traffic through Android’s VPN interface so it can block trackers and hidden connections system-wide. It’s more of a privacy filter than an anonymity tool, but it still reduces data leakage.
-
DDG Browser - lightweight, minimal background noise, and pairs nicely with the tracker blocking above. I know DDG has some controversy attached to it but it works for me / is somewhat faster on my device than alternatives (eg: Fennec). YMMV.
-
Mullvad Private DNS (adblock) - filters at the DNS level, so many ad/tracking/malicious domains never resolve in the first place. Works across the whole device without root. Free to use with ZDR policy.
-
Karma Firewall - lets me block apps from accessing the network unless I explicitly allow them. Stops a lot of “phone home” behavior from random apps. Testing between this and DDG as only 1 VPN slot.
-
ADB cleanup - disables leftover bloat/analytics services that keep waking the phone (Samsung, M$oft etc) that otherwise can’t be killed.
My approach is basically: filter first, restrict second, minimize trust, sleep the rest.
Results so far:
- On a 2019 Galaxy A20 (3 GB RAM), I’m getting ~2 days of usable battery. Thats a 6yr old phone.
- UI feels noticeably snappier (setting animations to 0.5x in Developer Options helps too).
- Less background traffic, less tracking/metadata leakage, built-in ad filtering (no root).
- Lower data usage → cheaper mobile plan is now viable (I switched to a $120 for 365 days unlimited SMS and calls with 120GB data)
Fair warning: because multiple layers are filtering traffic, some people may see:
- Apps/login flows breaking
- Slower connections
- Certain services (banking/streaming/region-sensitive apps) acting weird
In my case it’s been stable, but layered setups always depend on your exact app mix and network.
Anyway, just sharing my “no-root privacy stack” setup. YMMV.
Karma FW: https://droidify.app/app/?id=net.stargw.fok&repo_address=https%3A%2F%2Ff-droid.org%2Farchive
Note: Private DNS can run alongside a VPN-based tracker blocker just fine, but Android typically allows only one VPN-based firewall/tracker-blocker per profile at a time.
So DDG App Tracking Protection and a VPN-style firewall may conflict unless you separate them by profile or choose one.
The work around is: Settings → Connections → Data usage → Data saver Enable Data Saver Only allow a short whitelist of apps as “Unrestricted”.


Ah, it makes sense, ddg browser uses builtin webview, of course it is lighter.
You can keep using DDG app protection, but you can reduce the battery usage of tracker control by going into settings and disabling “find new trackers”
This option finds and shows you the trackers each app has, disabling it will stop finding the trackers but will continue to block them.
All the best with that.