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

# Remote UI placements

> Create and manage PNLight Remote UI placements, configure per-locale variants, set display rules, and control how remote screens appear in your app.

A Remote UI placement is a named app location where PNLight can return remote screens.

## Create or edit a placement

<Steps>
  <Step title="Open Remote UI">
    Select the project and open **Remote UI**.
  </Step>

  <Step title="Choose a placement">
    Open an existing placement or create one with a stable placement ID such as `paywall`.
  </Step>

  <Step title="Name the placement">
    Use a readable name that dashboard users can recognize.
  </Step>

  <Step title="Add locale configs">
    Add JSON configs for the locales your app requests, such as `en` or `en-US`.
  </Step>

  <Step title="Enable the placement">
    Turn on the placement when it is ready for app traffic.
  </Step>
</Steps>

## Placement controls

| Control                 | Use                                                                      |
| ----------------------- | ------------------------------------------------------------------------ |
| Enabled                 | Allows the placement to return configs to the SDK.                       |
| Debug                   | Lets you test the placement without the normal production display rules. |
| Show only once per user | Prevents the same user from seeing the placement repeatedly.             |
| Protection mode         | Controls secure rendering and capture handling for the placement.        |
| Default locale          | Fallback locale used when the requested locale does not have a config.   |

### Protection modes

| Mode                           | Use                                                                                             |
| ------------------------------ | ----------------------------------------------------------------------------------------------- |
| Off                            | Do not apply Remote UI capture protection.                                                      |
| Secure only                    | Render the placement in secure mode when supported by the SDK wrapper.                          |
| Secure and block after capture | Render in secure mode and stop returning the placement after capture is detected for that user. |

## Targeting conditions

Targeting conditions restrict a placement to matching users. Add conditions when a placement should appear only for specific campaigns, devices, countries, or SDK versions.

Available fields:

* Ad campaign.
* Device family.
* Device model name.
* OS version.
* IP country.
* Store country.
* SDK version.

Each condition can include or exclude values. Numeric or version-like fields can also use greater-than-or-equal and less-than-or-equal modes.

<Tip>
  Use **Debug enabled** or a test device when you need to verify a placement before the targeting conditions are ready for production.
</Tip>

## Metrics

| Metric   | Meaning                                          |
| -------- | ------------------------------------------------ |
| Requests | Users who requested the placement.               |
| Shown    | Users who received a config that could be shown. |

For a time-series view of these metrics per placement, see [Remote UI analytics](/dashboard/analytics#remote-ui-analytics).

<Tip>
  Keep placement IDs stable. Changing a placement ID requires an app code change.
</Tip>
