Is there a way to limit which installed apps a macOS user can use? If so, how? [duplicate]

I'm interested in having two users on my MacBook, but restrict some apps from being used by one of them. Is there a way to block apps from being used by another user of the same Mac? Or maybe whitelist some apps that can be used and restrict all others? (Which would have the same end result.)

I'm a remote worker and I don't have strict hours, it's incredibly easy to get distracted while working. Procrastination is a real issue, and I would like to create one user that could only access work-related apps.

I imagine I can sort of improvise a solution to this using Screen Time restrictions on my main user, but that's a bit too finicky. The ideal solution would be for me to have a Work user and be really strict about which apps this user can and can't access.

Is this possible? If so, how?

I'm also open to using any kind of 3rd-party software that can help me achieve something close to this.


Solution 1:

You can consider moving all non-work related apps away from the /Applications directory, which are automatically made available to all the users on the computer.

A common approach is to create an Applications directory in a user's home home directory. This way, the apps installed in ~/Applications are only accessible to the user and not system wide.

The apps residing in ~/Applications would work in the exact same way as if they were residing on /Applications. There would be no difference in using them whatsoever. macOS apps are generally distributed as .app bundles. You can execute a .app bundle from any location in macOS. So, the exact location of where a bundle is located doesn't generally matter when it comes to using the app.

This approach works on any release of macOS, not just macOS Catalina.