# Introduction (/docs/embed)

Your menu on the left, our Leads and pixel-install screens on the right, in an iframe. Your users sign in to **your** app only, your server opens each session, and nothing secret ever reaches the browser. Most teams are live in a day.

## Try it [#try-it]

This is exactly what your users see (our read-only demo account; pixel checks are simulated, so any domain works).

<EmbedPreview />

## Three ways to integrate [#three-ways-to-integrate]

Not sure embedded screens are the right fit? Compare them:

| | [API only](/docs/websites/websites/api) | [Embedded screens](/docs/embed) | [Full white label](/docs/white-label) |
| --- | --- | --- | --- |
| **Where your clients work** | Your own screens, fed by our API | Your app, with our screens in an iframe | Our dashboard on your domain (`reveal.yourdomain.com`) |
| **Who signs them in** | You | You (we never see their password) | Our sign-in page, with your brand |
| **What you build** | The leads list, pixel install, settings | One server endpoint and an iframe | Your marketing site and your billing |
| **Who bills your clients** | You | You | You: your server calls our API on every payment |
| **Time to launch** | Weeks | A day | A few days (DNS + branding) |

All three use the same building blocks: **one website per client**, created with your master key, and **leads (credits) that follow what the client pays you**.

## Your path through this section [#your-path-through-this-section]

<Cards>
  <Card title="1. Quickstart" href="/docs/embed/quickstart" description="Your own website inside a local page in about 10 minutes: one key, one call, one HTML file." />
  <Card title="2. Understand the flows" href="/docs/embed/how-it-works" description="One-time setup, a client signing up, a client logging in: every call in order, as a diagram and as API calls." />
  <Card title="3. Build it, step by step" href="/docs/embed/setup" description="Your domain and keys, what your users see, a website per client, the one-time link, the iframe." />
  <Card title="4. Billing" href="/docs/embed/start-trial" description="Leads follow what your clients pay you: trial, paid, plan change, cancel." />
  <Card title="5. Go live" href="/docs/embed/existing-clients" description="Bring your existing clients across, run the security checklist, or let your AI assistant build it." />
</Cards>

## The two keys [#the-two-keys]

| Key | Looks like | Where you get it | What it can do |
| --- | --- | --- | --- |
| **Master key** (`HL_MASTER_KEY`) | `master-priv-…` | Account settings → API Keys | Create and change websites, set credits and trials. Sent as `?privateKey=`. |
| **Embed key** (`HL_EMBED_KEY`) | `hle_…` | Account settings → White label → Embed in your app | Only open embedded sessions. Sent as `Authorization: Bearer`. |

<Callout type="warn" title="Both keys stay on your server">
Never put either key in front-end code, a mobile app or a public repository. The browser only ever gets a link that works once.
</Callout>
