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

# Branding & Public URLs

> Apply your organization's look and authorized launch URLs to your Digital Twin.

This page covers two settings tabs that sit close together because they both shape what your users — and external sites — see when they reach your Digital Twin.

<CardGroup cols={2}>
  <Card title="Visual Branding" icon="paintbrush">
    Name, logo, colors, custom CSS — the look and feel of your instance.
  </Card>

  <Card title="Public URLs" icon="link">
    The allow-list of origins that may embed or launch your Digital Twin from the outside.
  </Card>
</CardGroup>

## Visual Branding

Branding is set on each instance under **Admin → Digital Twin → edit instance → Personalization and AI Models**. Most fields apply immediately on save — refresh any open tab to pick them up.

### Name and avatar

<ParamField path="ainame" type="string">
  The display name for your Digital Twin. Defaults to "Pria". Shown in the chat header, the welcome screen, and the browser tab title.
</ParamField>

<ParamField path="picture" type="image">
  Light-mode logo. Click the avatar to upload. Square aspect ratio works best (we render it at 192×192 in most places).
</ParamField>

<ParamField path="picture_dark_bg" type="image">
  Dark-mode variant of the logo. Optional — if not set, the light-mode logo is used in both themes.
</ParamField>

<ParamField path="picture_animated" type="image">
  Optional animated (Lottie or WebP) variant used while Pria is "thinking" in the chat header.
</ParamField>

<Tip>
  Click the avatar itself to launch the upload dialog — there is no separate **Upload** button. The same pattern applies to user, instance, and assistant avatars across the product.
</Tip>

### Theme and colors

<ParamField path="theme" type="enum">
  Force `light`, force `dark`, or leave unset to follow the user's system preference. Most instances should leave this unset.
</ParamField>

<ParamField path="css" type="string">
  Custom CSS applied across the whole Digital Twin UI. Use this for primary color, accent color, button shapes, font choices, and layout tweaks. See [UI Customization](/mdx/admin-guide/ui-customization) for the full class reference and a starter template.
</ParamField>

### Where branding shows up

| Surface         | What it picks up              |
| --------------- | ----------------------------- |
| Login page      | Logo, name, theme, custom CSS |
| Chat header     | Logo, name, animated avatar   |
| Welcome screen  | Name, "About" text, logo      |
| Embedded SDK    | Logo, name, custom CSS        |
| Email templates | Logo, name, contact email     |
| Browser tab     | Name (as title), favicon      |

## Public Authorized URLs

The **Public Authorized URLs** list is an allow-list of origins that are permitted to embed your Digital Twin via the SDK or receive OAuth redirects. Any origin not on the list is rejected — this is what stops a random third-party site from dropping your assistant into their page.

<Warning>
  Treat this list as a security boundary. Only add origins you control or trust.
</Warning>

### Adding an authorized URL

<Steps>
  <Step title="Open the Integrations section">
    On the instance editor's main tab, scroll to **Integrations → Public Authorized URLs**.
  </Step>

  <Step title="Add the URL">
    Click the **+** button and paste the URL. Include the scheme (`https://`) and host. A trailing slash is ignored.
  </Step>

  <Step title="Save the instance">
    The new URL is live as soon as you save.
  </Step>
</Steps>

### Matching rules

Hosts match by **hostname suffix**. Adding `https://example.com` authorizes that host **and every subdomain underneath it** (single- or multi-level). Adding `https://app.example.com` authorizes only that host and anything deeper. No wildcard syntax is needed.

| You enter                 | What is allowed                                                        |
| ------------------------- | ---------------------------------------------------------------------- |
| `https://example.com`     | `example.com`, `app.example.com`, `eu.app.example.com`, etc.           |
| `https://app.example.com` | `app.example.com` and any sub-subdomain like `staging.app.example.com` |
| `http://localhost:3000`   | Local development from that exact host and port                        |

<Note>
  The match is host-only — Pria compares the URL's hostname, not the path. Pick the most specific host that covers your real launch surfaces; broader entries authorize more.
</Note>

## Public Instance ID

Each instance has a **Public ID** — a short, opaque identifier safe to share with anyone. The SDK and the public chat link both use it to identify *which* Digital Twin to launch. Where the instance's internal id is private (never put it in a URL), the Public ID is designed to be visible.

<Steps>
  <Step title="Find it">
    Under **Integrations**, copy the **Public ID** field.
  </Step>

  <Step title="Use it in an SDK launch">
    Pass it as the `publicId` option when initializing the SDK on your site. See the [SDK integration guide](/mdx/sdk/javascript).
  </Step>

  <Step title="Use it in a chat link">
    Share `https://<your-pria-host>/chat/<publicId>` to let users open a branded chat directly.
  </Step>
</Steps>

## Custom domain (white-label)

Running Pria on your own subdomain — `assistant.yourcompany.com` rather than the default Pria host — is a hosted setup we configure for you. Contact the Praxis AI team at [humans@praxis-ai.com](mailto:humans@praxis-ai.com) to request a custom domain. We will coordinate DNS, the TLS certificate, and the instance routing.

## Email-from name and reply-to

<ParamField path="ainame" type="string">
  Used as the **From name** on transactional emails Pria sends on behalf of your instance.
</ParamField>

<ParamField path="contactEmail" type="string">
  Used as the **Reply-To** on those same emails. If a user replies to a Pria-sent message, it lands here. Leave blank to use the platform default.
</ParamField>

The sending address itself is platform-managed for deliverability. Contact [humans@praxis-ai.com](mailto:humans@praxis-ai.com) if you need a fully white-labelled `from:` domain.

## Favicon and app icons

The instance's **logo** doubles as the favicon and the touch icon for users who add the Digital Twin to a home screen. Upload a single square logo with reasonable contrast against both light and dark backgrounds and you are done — Pria renders the appropriate variant for each surface. If you need fully distinct favicon and app-icon assets, ship them via custom CSS using `background-image` declarations on the documented favicon classes (see [UI Customization](/mdx/admin-guide/ui-customization)).

## Related

* [Personalization](/mdx/admin-guide/personalization) — name, About text, welcome screen, conversation model
* [UI Customization](/mdx/admin-guide/ui-customization) — custom CSS class reference and starter template
* [Web App integration](/mdx/integrations/web/introduction) — embedding Pria in your site
* [SDK integration](/mdx/sdk/javascript) — JavaScript SDK launch options
