> ## Documentation Index
> Fetch the complete documentation index at: https://studio.assembly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Controlling app visibility

Visibility is what separates an app from a live app. By default, custom-built apps install with conservative visibility — internal users see them, clients don't, until you change that.

## The two visibility scopes

Every app has two visibility settings:

| Scope               | Controls                                                 |
| ------------------- | -------------------------------------------------------- |
| Internal visibility | Which team members see the app in the Dashboard          |
| Client visibility   | Which clients see the client-facing view in their Portal |

Internal-only apps only have the internal scope. Client-facing apps have both.

## Internal visibility

By default, every internal user sees every installed app in their Dashboard sidebar. You can scope this down two ways:

<Tabs>
  <Tab title="By role">
    Show the app to admins only, or to admins and staff. Useful when the app exposes configuration or sensitive actions that staff shouldn't see.
  </Tab>

  <Tab title="By specific user">
    Pick the internal users who should see the app. Everyone else has it hidden. Useful for pilots — give a new app to two team members first, then expand.
  </Tab>
</Tabs>

## Client visibility

Client-facing apps default to hidden from clients. You make them visible explicitly. Three patterns:

<Tabs>
  <Tab title="All clients">
    Every client in your workspace sees the app in their Portal. Default once you turn it on for clients.
  </Tab>

  <Tab title="Specific clients">
    Pick the clients who should see it. Other clients have it hidden. Good for pilots and for apps that only apply to certain customer segments.
  </Tab>

  <Tab title="Specific companies">
    For company-level apps, pick which companies see it. All clients in those companies get access; other companies don't.
  </Tab>
</Tabs>

<Card title="Custom visibility for apps" icon="eye" href="https://assembly.com/guide/custom-visibility-for-apps">
  Full configuration in the Assembly Studio guide
</Card>

## Hiding without uninstalling

If you want to take an app offline temporarily — for maintenance, for a redesign, for a pause — set visibility to no one rather than uninstalling. Hiding preserves the app's data, history, and configuration. Uninstalling removes it.

Unhide when you're ready and clients pick up where they left off.

## Visibility during build vs after build

You can set visibility either way:

* During the build: tell the app builder during the planning step. "This app should be visible only to admins" or "Only the Onboarding Cohort companies should see this."
* After the build: open the app's settings and adjust visibility there.

The during-build path is faster when you know up front. The after-build path is more flexible when visibility evolves with the app.

<Tip>
  When in doubt, launch narrower than you think you need. Expanding visibility later is one click. Shrinking it after clients have already started using the app is awkward — they'll see it disappear from their Portal and ask why.
</Tip>
