---
url: https://docs.sunlicense.com/guide/customer-portal.md
---
# Customer portal

The customer portal is a page where your buyers help themselves: they sign in with the email they bought with, see their licenses, show or copy a key, free a machine, download an offline license file, claim a purchase from one of your stores and keep their details up to date. It shows your [branding](/guide/branding), and with white-label nothing of SunLicense.

The portal is on the **Lite** and **Standard** [plans](/guide/plans).

## Turn it on

Open **Settings → Customer portal**, switch **Customer portal on** and save. The page shows your portal's address:

```
https://portal.sunlicense.com/your-organization
```

The last part is your organization's short name. Link the address from your store page, website, Discord or emails. Turning the portal off signs everyone out of it at once; your customers' licenses keep working either way.

## Your own domain

On **Standard**, the portal can also run on an address of yours, like `licenses.your-company.com`. It's part of [white-label](/guide/branding#white-label), and each organization has one domain.

1. In **Settings → Customer portal → Custom domain**, enter the domain and choose **Add domain**. Use a subdomain (`licenses.your-company.com`, not `your-company.com`).
2. Where your domain's DNS is managed, add the **CNAME** record the page shows (for example `licenses.your-company.com` → `domains.sunlicense.com`). If your DNS is on Cloudflare, set the record to **DNS only** (grey cloud).
3. We check the record every few minutes, or straight away with **Check now**. Once it's found, Cloudflare issues the HTTPS certificate by itself, usually within minutes, and the domain shows **Live**.

From then on the portal answers at your domain, and sign-in and email-change links point there. Your `portal.sunlicense.com/your-organization` address keeps working. If the domain stays waiting for hours, the page lists one or two TXT records that confirm it's yours; add them too.

Sign in with Discord works on your portal's SunLicense address only: Discord sends customers back to a fixed address. Customers whose Discord account is already linked can still use the email sign-in on your domain.

If your plan stops including white-label, customers who open your domain are sent to your SunLicense address, and sign-in emails link there. We keep the domain for 30 days: upgrade within that time and it works again with nothing to set up. After 30 days it's released, and you can add it again later. **Remove domain** releases it at once.

## How customers sign in

1. They open your portal's address and enter the email they bought with.
2. We email them a sign-in link, from your name and in your branding. It works once, for 15 minutes.
3. The link opens the portal, signed in. The session lasts while they use it (up to a week) and only in that browser tab: closing it signs them out.

The sign-in page never says whether an email has licenses, so it can't be used to find out who your customers are. A blocked customer, or one on an organization-wide [blacklist](/guide/access-rules), gets no link and is signed out at once. Each address can ask for 5 links an hour, and a bot check protects the form.

Sign-in links count towards your daily [customer email](/guide/customer-emails) limit. They are always sent; there's no switch for them.

### Sign in with Discord

If you allow it, customers can also sign in with Discord. That works for customers whose Discord account is already linked: linked in the portal's profile, or by [claiming a license in your Discord server](/guide/discord). A customer whose Discord email is verified and matches their purchase email is linked the first time.

## What customers can do

You choose these under **What customers can do**:

| Action | What it does |
|---|---|
| Show the full license key | Keys are masked (`AX8P-XXXX-XXXX-XXXX`) until the customer shows or copies one. Each time is logged. |
| Reset a machine | Frees a machine slot on their license so a new computer can use it, up to **machine resets per customer per day** (default 1, counted per UTC day; 0 turns resets off). Only on active licenses. |
| Download the offline license file | The signed [offline file](/guide/offline-licenses), when your plan includes offline licenses. |
| Claim a purchase | Adds a license bought through one of your connected stores, with the same proof as the [redeem page](/integrations/) (an order number and the email used, or the store's own proof). A license on another customer moves over only when that customer has no email (a store account only) or the same one. |
| Sign in with Discord and link it | See above. |
| Change their name and email | A new email is confirmed with a link sent to it; it changes when they open the link, unless another of your customers already uses it. |

The **welcome text** (plain text, up to 500 characters) appears on the sign-in page and above the licenses.

## What you see

Everything a customer does in the portal (sign-ins, keys shown, files downloaded, machines reset, purchases claimed, profile changes) appears in the **Activity** list on their customer page, with the country it came from. We keep it for a year.

## Privacy

The portal sets no cookies and runs no analytics or session recordings. Sign-in links are stored only as a one-way hash. Your customers' portal use is Customer Data that we process for you; see the [privacy policy](/legal/privacy) and the [data retention policy](/legal/data-retention).
