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

# Custom Pages

> Wrap the FaceSign session with your own landing and recap pages when you generate an app through the MCP server.

When you ask the [FaceSign MCP server](/docs/mcp) to create a verification experience — via `launch_session_ui` for a hosted preview or `export_app` to get a runnable Next.js project — the result is a small three-screen web app:

<Steps>
  <Step title="Landing page">
    The first thing your user sees. It's a page you describe in plain language — its layout, copy, brand, and what (if anything) it should collect before the session. The AI agent turns that description into the page's HTML.
  </Step>

  <Step title="The FaceSign session">
    Your user clicks Start (or whatever you named your button), and the FaceSign verification session loads in an iframe right inside your app. The user never leaves your page.
  </Step>

  <Step title="Recap page">
    Once the session finishes, the user is taken to a final page. This can be as simple as a short thank-you with a confirmation, or as rich as a full verification report — it's up to you.
  </Step>
</Steps>

***

## Describing the pages to the agent

You don't build or wire these pages yourself. You describe them — the AI generating the app produces the HTML, handles passing the flow to the session, and polls for the session result when the recap needs it.

Tell the agent things like:

* What the landing page should say, and whether it should collect any information before the session starts (e.g., a pre-filled name, a scenario the user picks from a list).
* What brand to apply — your company name, a hex colour, a logo URL, or a reference website you'd like it to take visual cues from. See [Session Customization › Auto-brand from your website](/docs/guides/customize-branding#auto-brand-from-your-website-facesign-mcp).
* What the recap should show — a short confirmation message, or a fuller report (transcript, per-step outcomes, an overall result banner).

If you don't specify something, the agent picks a sensible default and tells you what it chose.

***

## Landing vs. recap — what changes between them

|                     | Landing page                                                           | Recap page                                                         |
| ------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------ |
| **When it runs**    | Before the session                                                     | After the session ends                                             |
| **Main job**        | Set context, collect anything needed, hand off to the session          | Tell the user how it went; optionally show details                 |
| **Typical content** | Heading, short intro, Start button; sometimes a form field or a choice | A confirmation line — or an outcome banner plus supporting details |
| **Length**          | Short, conversion-oriented                                             | Depends on the use case — one sentence or a full report            |

***

## Recap page: minimal vs. rich

The recap is where the most variation happens. Two shapes cover almost all real-world use cases:

**Minimal recap.** A short thank-you page that confirms the session is complete and, if relevant, tells the user what happens next ("We'll send you a confirmation email shortly."). This is what you want in production — the detailed verification result should be consumed server-side through [webhooks](/docs/guides/add-webhooks) or `GET /sessions/:id`, not rendered in the browser.

**Rich recap.** A full verification report with an outcome banner, per-step timeline, behavioural analysis cards, session transcript, and so on. This is great for demos and internal stakeholder reviews, where you want to showcase what FaceSign saw. Ask the agent for a "demo-style recap" and it will build one out.

<Warning>
  **Rich recaps are for demos, not production.** They render sensitive session data — biometrics, location, behavioural signals — in the user's browser. In a production-facing app, keep the recap minimal and consume the full results server-side via webhooks or `GET /sessions/:id`.
</Warning>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Session Customization" href="/docs/guides/customize-branding">
    Brand the FaceSign permissions page and tell the agent which website to pull styles from.
  </Card>

  <Card title="Add Webhooks" href="/docs/guides/add-webhooks">
    Receive the authoritative session result server-side.
  </Card>
</CardGroup>
