> ## Documentation Index
> Fetch the complete documentation index at: https://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.

## Client visibility

Visibility controls which clients see an app in their Portal. Client-facing apps default to hidden, and you make them visible explicitly by choosing one of three options:

<Tabs>
  <Tab title="Visible to all people">
    Every client in your workspace sees the app in their Portal.
  </Tab>

  <Tab title="Hidden from all people">
    No client sees it, while the app keeps working for your team. Use this while testing, and to take an app offline temporarily — hiding preserves the app's data, history, and configuration. Unhide and clients pick up where they left off. See [Organizing your apps](/docs/core-concepts/organizing-apps) for disabling and deleting.
  </Tab>

  <Tab title="Custom visibility">
    Pick specific contacts or companies, or build rules from tag-type custom fields. Good for pilots and for apps that only apply to certain segments.
  </Tab>
</Tabs>

This works identically for Classic apps, apps you build, and embeds.

<Card title="Custom visibility for apps" icon="eye" href="/docs/core-concepts/custom-visibility">
  Full visibility configuration
</Card>

## Keeping your own sidebar clean

Visibility settings only affect clients. Hiding an app or folder from your team's Dashboard sidebar is a separate thing, covered in [Organizing your apps](/docs/core-concepts/organizing-apps).

## Visibility during build vs after build

You can set visibility either way:

* During the build: tell the app builder during the planning step. "Only the Onboarding Cohort companies should see this" or "Keep this hidden from clients until I say otherwise."
* After the build: set it in the **Publish** popover before publishing, or change it any time from the App Library. See [Launching apps](/docs/building-new-apps/launching-apps).

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>
