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

# Installations

> Find registered devices, understand permission and validity states, and inspect delivery history.

An installation represents one installed copy of your app. Client SDKs register and update installations automatically.

## Find an installation

Open an application and select **Installations**. Search by installation ID or external user ID, or filter by platform, status, and permission.

| Field            | Meaning                                                   |
| ---------------- | --------------------------------------------------------- |
| External user ID | Your stable identifier, or **Anonymous** before SDK login |
| Status           | `active`, `stale`, or `invalid`                           |
| Permission       | The operating system's notification permission state      |
| Last seen        | The most recent registration or SDK update                |

## Installation details

The detail page shows non-sensitive metadata such as app version, OS version, device model, locale, and timezone. It also lists recent deliveries with provider, result, attempts, and error code.

<Note>
  Calling an SDK's `logout` removes the external user association but keeps the installation registered anonymously. It does not revoke notification permission.
</Note>

<AccordionGroup>
  <Accordion title="Active">The installation is eligible when its permission and provider identifier also allow delivery.</Accordion>
  <Accordion title="Stale">The installation has not been seen recently. A later SDK registration can make it current again.</Accordion>
  <Accordion title="Invalid">The provider rejected the identifier as invalid. The SDK must register a current identifier before delivery can resume.</Accordion>
</AccordionGroup>
