Shelter
by PeterCxy · GPL-3.0-only · open source
Creates a work profile on your phone and manages it: install apps inside to keep them apart from your main apps, freeze them when you’re not using them, or run two copies of one app.
Needs:No root · Android 7.0+ · no other work profile
2113 Apps is independent, not affiliated with or endorsed by PeterCxy. Official sources: source code on gitea.angry.im.
- Version
- 1.9.1
- Size
- 2.8 MB
- Requires
- Android 7.0+
- Updated
- 2023-12-12
Introduction
Shelter uses Android’s work profile, the feature companies use to keep work apps separate on employees’ phones, for your own purposes. It creates the profile and becomes its manager, and apps you put inside run apart from your main profile, with their own data and storage.
It is written by Peter Cai (PeterCxy). Its README describes three uses: “Installing apps inside a work profile for isolation”, “Freeze” apps “to prevent them from running or being woken up when you are not actively using them”, and “Installing two copies of the same app on the same device”.
What you can do with it
- Clone an app into the work profile, or from it back to the main profile. Shelter installs the app’s own APK files into the other profile; the copy starts without data or logins. System apps can only be cloned into the work profile, where Android already keeps a disabled copy.
- Freeze an app in the work profile, so it can’t run at all until you unfreeze it. Freezing only works inside the work profile, which Shelter controls.
- Unfreeze and launch from a home-screen shortcut, and auto-freeze apps again when the screen turns off, optionally after a delay and skipping the app you were just using.
- Install an APK straight into the work profile.
- Allow widgets from a work app on your main home screen, and, on Android 11 and later, cross-profile interaction for chosen apps, for example so a keyboard can work in both profiles.
- File Shuttle, to browse and copy files between the two profiles through Android’s Files app, while keeping the storage separate.
Every setting is off by default: File Shuttle, auto-freeze, blocking the main profile from searching work contacts, and a stub payment service that works around an Android bug with NFC payment apps in the work profile.
Before you set it up
- No other work profile. If your phone already has one, from an employer, from Island or Insular, or from an earlier Shelter, you have to remove it first.
- Your phone must support work profiles. Shelter warns that some manufacturers’ “very invasive customizations” break them. On MIUI it warns that cloning non-system apps doesn’t work and suggests cloning your app store into the profile and installing from there.
- No root, no ADB. The README: “the features of Shelter can only be a strict subset of the exposed, unprivileged APIs.”
- Isolation has limits. The README says Shelter “is only as safe as the Work Profile implementation of the Android OS you are using.” From the code, Shelter also always lets work apps share content and open web links into the main profile; there is no switch for that in this version.
- Removing the profile deletes everything in it. Back up anything inside first.
Project status
Shelter is in what its README calls “an effective maintenance mode”, while promising to keep adapting it to new Android versions. The last tagged release, 1.9.1, dates from December 2023 and targets Android 14. The developer’s own F-Droid repository carries newer untagged builds targeting Android 15, which F-Droid doesn’t pick up because it waits for a tag. Shelter is no longer on Google Play, and GitHub is only a mirror whose last release, 1.6, says “SHELTER IS NO LONGER PUBLISHED ON GITHUB”. Bug reports go to a mailing list on SourceHut.
What goes online
Nothing. Shelter doesn’t request internet access. The only web addresses in it, the source code, translations, mailing list and donation pages, open in your browser when you tap them.
About this file
- This is F-Droid’s build of version 1.9.1, compiled from the developer’s source and signed with F-Droid’s key. It can’t update, or be updated by, the developer’s own builds without uninstalling.
- The 2.8 MB file runs on Android 7.0 and later and declares 13 permissions. Most are for optional features: all-files access and display over other apps for File Shuttle, usage access for skipping the current app when auto-freezing, NFC for the payment stub. Installing and removing apps is for cloning. Shelter also becomes the work profile’s administrator, which is how it can freeze apps there.
- Shelter is licensed under the GPL-3.0.
- The project publishes no screenshots.
What’s inside the APK
Trackers
No code matching the Exodus Privacy tracker signatures.
Native code
Pure Java/Kotlin, so it runs on any CPU.
Android versions
Built for Android 14 (target API 34).
Permissions
3 of them need your approval first.
Asks you first (3)
Android shows a prompt before the app can use these.
- Show notifications (Android 13+) · POST_NOTIFICATIONS
- Read shared storage (Android 12 and older) · READ_EXTERNAL_STORAGE
- Write shared storage (Android 10 and older) · WRITE_EXTERNAL_STORAGE
You switch these on in Settings (4)
Special app access. Nothing is granted until you turn it on yourself.
- All files access · MANAGE_EXTERNAL_STORAGE
- Usage access · PACKAGE_USAGE_STATS
- Install unknown apps · REQUEST_INSTALL_PACKAGES
- Display over other apps · SYSTEM_ALERT_WINDOW
Granted at install (4)
Low-risk permissions Android grants automatically, plus any we have not classified.
- FOREGROUND_SERVICE
- FOREGROUND_SERVICE_SYSTEM_EXEMPTED
- NFC
- REQUEST_DELETE_PACKAGES
Defined by other apps (2)
Permissions that belong to another app or to this app itself.
- com.android.launcher.permission.INSTALL_SHORTCUT
- net.typeblog.shelter.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
More Information
- Package name
- net.typeblog.shelter
- Version
- 1.9.1 (build 445)
- File size
- 2.8 MB (2,756,345 bytes)
- Requires
- Android 7.0 or later
- Category
- System Tools
- License
- GPL-3.0-only
- Developer
- PeterCxy
- Source code
- gitea.angry.im/PeterCxy/Shelter
- Released
- Dec 12, 2023
- Signed by
- F-Droid, which built this APK from the published source code. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub (or the other way round) without uninstalling first.
- Signer SHA-256
- 2d4837134f3519a11d104630ed42a4a795f4ab2327e1c9899cbebfbf89aba483
- File SHA-256
- d6d67b22f066d40f8771d8d7c0e0efe9315b37224d5b7e724f4c0e9b0eecca07
- Checked
- , against the F-Droid index · how we check · verify it yourself
Common questions
Is this APK the official Shelter release?
It is F-Droid’s build rather than the developer’s own: F-Droid compiled Shelter 1.9.1 from the published source code and signed it with its own key. Its SHA-256 matches F-Droid’s signed index. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub without uninstalling first.
What Android version does Shelter need?
Android 7.0 or later (API level 24). Version 1.9.1 is built for Android 14 (target API 34). Pure Java/Kotlin, so it runs on any CPU.
Can Shelter access the internet?
No. The APK doesn’t request Android’s internet permission, so the app can’t go online by itself. In total it declares 13 permissions, and 3 of them need your approval first.
Does Shelter contain trackers?
No known trackers: our scan of version 1.9.1 found no code matching the Exodus Privacy tracker signatures. The scan covers known tracker libraries; it doesn’t show what data the app itself sends.
Is Shelter open source?
Yes. Shelter is released under the GPL-3.0-only licence, and its source code is published at https://gitea.angry.im/PeterCxy/Shelter.
What happens to my apps if I remove Shelter?
The README’s steps are to delete the work profile in Settings › Accounts first, then uninstall Shelter. Google’s help says that when a work profile is deleted, “all local data on the device within that profile is deleted”. Apps in your main profile aren’t touched.
Can I use Shelter alongside Island, Insular or my employer’s work profile?
Not side by side. Shelter’s setup needs a phone without a work profile: “you will have to remove that profile in Settings -> Account before Shelter can proceed.”
Does cloning an app copy my login or data?
From the code, no. Cloning installs the app’s APK files into the other profile, so the copy starts empty, like a fresh install. For system apps, cloning switches on the copy that is already built into the work profile.
Can I update this to the newer builds in the developer’s own repository?
Not directly. They are signed with the developer’s key, this one with F-Droid’s, and the README says you can’t switch between differently signed versions “without uninstalling Shelter first”, which means removing the work profile and everything in it.
Recent releases
| Version | Released | Size | Requires |
|---|---|---|---|
| v1.9.1 · this download | Dec 12, 2023 | 2.8 MB | Android 7.0+ |
| v1.9 | Dec 3, 2023 | 2.8 MB | Android 7.0+ |
| v1.8 | Sep 29, 2022 | 2.5 MB | Android 7.0+ |
Versions currently kept in the F-Droid repository. We host and check only the newest one. Full changelog.