Skip to content

Repository files navigation

Harbor — Private Android work spaces

F-Droid GitHub release Android 10+ Apache License 2.0

Install from F-Droid · GitHub Releases

Harbor is a free and open-source Android work-profile manager. It creates an isolated Work space where apps keep separate data from the Personal side of the phone.

Harbor does not require Google Play services, root, an account, analytics, advertising, or the INTERNET permission for its core features.

Harbor is alpha software. Use it for testing and non-critical data while device compatibility is still being expanded.

Screenshots

Harbor Personal privacy dashboard Harbor Work app manager

Harbor Personal and Work interfaces.

Why Harbor

Harbor is designed to keep its normal Work-profile path local and based on Android's supported APIs.

Harbor
Internet permission No
Analytics or telemetry No
Advertising No
Account required No
Google Play services required No
Root required No
Shizuku required for core features No
Core management API Android DevicePolicyManager

Core features

  • Create a standard Android work profile.
  • Show and search apps installed inside Work.
  • Launch apps and open Android app details.
  • Freeze and unfreeze eligible apps.
  • Perform batch app-management actions.
  • Use Android's confirmation flow for uninstall.
  • Create launcher shortcuts for Work apps.
  • Send selected files from Personal to Work.
  • Prepare APK installation while Android keeps its normal source-consent prompts.

Shizuku is not required for these normal Work-profile features.

Optional advanced tools

Shizuku can be enabled separately for advanced functionality, including:

  • Local diagnostics.
  • Package cloning.
  • Android-user discovery.
  • Secondary-user creation where supported.
  • Harbor installation for those users.
  • User switching.
  • Experimental additional workspaces.

Additional workspaces depend on Android and OEM support. Harbor intentionally does not provide destructive full-user deletion.

How Harbor works

Android work profiles are separate spaces managed by the operating system. Apps inside Work have their own app data and appear with Android's work badge.

Your phone
├── Personal
│   ├── Harbor
│   └── Personal apps
│
└── Work
    ├── Harbor (profile owner)
    └── Isolated Work apps

Harbor uses Android's supported DevicePolicyManager APIs. The Harbor copy inside Work becomes the profile owner and performs management actions locally. Harbor respects Android's one-managed-profile-per-parent-user model rather than trying to bypass it.

Install

F-Droid

Install Harbor from F-Droid

F-Droid is the recommended installation source.

GitHub Releases

Alpha APKs are also available from GitHub Releases.

Signing note: the F-Droid build is signed by F-Droid, while GitHub releases use the Monstera signing identity. Because the signing keys differ, a GitHub-signed installation may not upgrade directly to the F-Droid-signed package.

Create your Work space

  1. Install and open Harbor on the Personal side.
  2. Tap Create Work space.
  3. Follow Android's Work-profile setup screens.
  4. Open the work-badged Harbor app.
  5. Manage apps inside Work from there.

Personal to Work file sharing

Harbor supports sending files from Personal to Work. Selected files are copied into:

Downloads/Harbor

inside Work. The original Personal file is not deleted. Harbor does not provide a Work-to-Personal export flow.

Current limitations

Harbor is still alpha software, and some behavior remains device-dependent.

  • Work-profile provisioning and device-policy behavior can differ by manufacturer.
  • Additional Shizuku workspaces are experimental.
  • Some launcher behavior remains device-dependent.
  • Harbor supports Personal-to-Work file transfer, not Work-to-Personal export.
  • Android generally permits one managed profile per parent user.

See Compatibility for tested configurations and device-specific limitations.

Compatibility

Harbor targets Android 10 through Android 16 (API 29-36).

Help test Harbor on more devices

Harbor needs real-device testing across more Android versions and manufacturers before it can move beyond alpha. If you have an untested device, compatibility reports are useful even when everything works correctly.

Testing is especially useful on:

  • Google Pixel running Android 16.
  • A physical encrypted Android 10 device.
  • Xiaomi / HyperOS.
  • Oppo, Realme, or Vivo devices.
  • OnePlus devices.
  • LineageOS or another GMS-free Android build.
  • Any other manufacturer or Android version not listed below.

Please test the normal Harbor flow where possible: Work-profile provisioning, opening the Work Harbor instance, app listing, freeze/unfreeze, uninstall, launcher shortcuts, Personal-to-Work file sharing, reboot, and Harbor updates.

Open a device compatibility report and include your device model, manufacturer, Android version, Harbor version, and what worked or failed. Do not include personal data or sensitive app information.

For the detailed test matrix, see Compatibility.

Physical devices tested

  • Samsung Galaxy S24

The OnePlus 13 remains planned secondary coverage and has not been tested yet.

See Compatibility for emulator results and device-specific limitations.

Privacy and security

Harbor is designed to work locally:

  • No INTERNET permission.
  • No analytics or telemetry.
  • No advertising.
  • No account system.
  • No Firebase or Google Play services dependency.
  • No remote configuration.
  • App and user diagnostics stay on the device.

Harbor declares QUERY_ALL_PACKAGES because its local Work app catalog needs to enumerate installed applications. This permission does not grant access to another app's private data, Internet access, or arbitrary cross-user access.

For the security model and design boundaries, see Privacy, Threat model, and Architecture.

FAQ

Does Harbor require root?

No.

Does Harbor require Shizuku?

No. Shizuku is optional and only used for advanced functionality.

Does Harbor require Google Play services?

No.

Does Harbor access the Internet?

The core app does not declare the INTERNET permission.

Can Harbor send files from Work back to Personal?

No. Harbor currently provides Personal-to-Work file transfer only.

Can I switch directly from a GitHub APK to the F-Droid build?

A normal in-place upgrade may not work because the GitHub and F-Droid builds use different signing keys.

For developers

Requirements

  • JDK 17
  • Android SDK Platform 36
  • Android Build Tools 36.0.0

Build and verify

./gradlew testDebugUnitTest lintDebug assembleRelease
./gradlew generateSbom

Debug builds use com.monstera.harbor.debug. Production identity is com.monstera.harbor, with DPC receiver com.monstera.harbor.admin.HarborDeviceAdminReceiver.

Project structure

app/                    Compose UI, DPC receiver, manifests
core/policy/            Public DevicePolicyManager facade
core/data/              Local app catalog and preferences
core/topology/          Users, profiles, ownership, capabilities
privileged/shizuku/     Isolated Shizuku backend
feature/advanced/       Shizuku and multiple-user UI
fastlane/metadata/      F-Droid listing metadata, changelogs, and images
docs/                   Architecture, privacy, threat model, release guidance

Before contributing, read Architecture, Threat model, Compatibility, Dependencies, and Releasing.

License

Apache License 2.0.

Harbor is behaviorally inspired by Island, but it is a clean implementation with its own application identity and public-API-first architecture.

About

Privacy-focused Android work-profile manager using standard DevicePolicyManager APIs, with optional Shizuku tools.

Topics

Resources

Contributing

Security policy

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages