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

# How Livry Serves Themes to Your Application at Runtime

> The Serving API delivers a resolved theme for an Organization through a CDN, authenticated with signed URLs rather than bearer tokens.

The Serving API is the hot path. It answers one question — what does this Organization's theme resolve to — and it answers it fast, from a CDN, on every page load of your application.

## Shape of the integration

1. Your backend or build step constructs a **signed URL** for an Organization, using the signing key held by an [Application](/core-concepts).
2. Your frontend fetches that URL.
3. Livry returns the default theme with the Organization's overrides already applied.
4. Your application maps the returned tokens onto whatever your components consume — CSS custom properties, a theme provider, or your own runtime.

## Why signed URLs rather than tokens

Theme fetches happen in the browser, at volume, and should be cacheable at the edge. A bearer token would either have to be exposed client-side or force every request through your own backend, adding a hop to something that should be a CDN hit.

A signed URL can be computed server-side ahead of time, handed to the browser safely, and cached like any other static asset.

<Warning>
  The signing key never belongs in client-side code. Compute signatures on your server or at build time.
</Warning>

<Card title="Signed URLs" icon="link" href="/serving/signed-urls">
  How to construct a signed URL.
</Card>
