As I continue dissecting Fire TV and Fire TV Stick software update 18.104.22.168, I’ve discovered a new system app dedicated to disabling blacklisted apps that Amazon doesn’t want installed. The app is humorously named “Not In My House” and has a package name of com.amazon.tv.nimh. When Amazon first introduced an app blacklist in software version 22.214.171.124, and used it to disable FireStarter and FiredTV Launcher, it was done in a very rudamentary manner. The two blocked apps were hardcoded into the Fire TV’s settings app, which is why it was easy to circumvent the block by changing FireStarter’s package name, which is what FireStopper’s developer did. The new app blocking mechanism introduced with this latest software update is more sophisticated.
The original app blacklist mechanism on the Fire TV and Fire TV Stick was likely just a quick temporary solution for Amazon. Hardcoding app names into the settings app to create a blacklist was certainly not the ideal way to do things. It meant Amazon had to push a settings app update, or worse a full OS update, anytime they wanted to modify the blacklist. The new “Not In My House” (NIMH) system app can be thought of as a proper way to block apps.
NIMH is a dedicated app with the sole purpose of tracking and disabling unwanted apps. Making it a standalone app actually makes it easier for rooted Fire TV owners to disable the blacklist by simply disabling the entire NIMH app, using the adb command
The new app disabling mechanism does not have any hardcoded app names to block. Instead, it appears the app downloads the list of blacklisted apps from Amazon’s servers. This would allow Amazon to more easily and quickly update the blacklist if necessary. On the positive side, because the app relies on a server connection to function, it may be possible to block the app’s ability to download its blacklist using your router or a service like OpenDNS.
In addition to having a dynamic blacklist, NIMH appears to examine not only the package name of the apps you install, but also the package properties. I can’t tell for sure, but this may allow Amazon to block apps by characteristics, instead of package name, which would make things difficult for a developer who wants to circumvent the blacklist, like FireStopper’s developer did when FireStarter was blacklisted.
Currently, it’s unclear if Amazon is actively using NIMH for anything yet. The app does get triggered every time an app is installed, but it may not be doing anything. The old app blacklist in the settings app is still present on the latest software update and seems to still be how FireStarter and FiredTV Launcher are being disabled. Additionally, FireStopper is still not being disabled in the new 126.96.36.199 update.
A more sophisticated app blocking mechanism was expected, given how easily and quickly the old system was circumvented. We’ll see, however, if Amazon decides to use it for anything in the future.