---
title: Legal pages
description: Write the Terms of Service and Privacy Policy shown at /terms and /privacy — default neutral text, English and Vietnamese versions, and safe markdown rules.
url: https://nexcmp.com/docs/customers/legal/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Legal pages

> **Where in the admin:** System › Settings › Legal (`/settings/legal`). **Where customers see them:** `https://<your-domain>/terms` and `/privacy`, linked from sign-up and checkout.

## What it does

Your installation publishes two pages: **Terms of Service** and **Privacy Policy**. Until you write your own, NexCMP shows a **neutral default text** that does not mention the software vendor and promises no particular service. Replace it with text reviewed by your lawyer before you start selling.

## Requirements

| Item | Requirement |
|---|---|
| Role | An administrator. |
| Content | Plain markdown, up to **50 KB** per page and language. |
| Dependencies | Brand name and seller details ([Branding](https://nexcmp.com/docs/customers/branding/)) are inserted into the default text. |

## Steps

1. Open **System › Settings › Legal**. Each of the two pages has its own card with the tag *Using the default text* or *Using your text*.
2. Choose the language tab, **English** or **Tiếng Việt**.
3. Type your text. While the box is empty the default text is shown faintly as a placeholder. To start from it, click **Start from the default text**, then edit.
4. Click **Save**. The size counter shows `used / 50 KB`.
5. Click **View on the customer site** to open `/terms` or `/privacy`.
6. To go back to the default for one language, click **Clear, back to default** and save.

![Legal settings with the Terms of Service card showing the default text as a starting point](https://nexcmp.com/docs/images/customers/legal-01-terms.webp)

## What the default pages contain

The default text is stored in the product as `legal_default.json` and filled with your brand name, seller name, site URL and contact e-mail (from **Seller & invoicing** under System › Settings › General; if no e-mail is set it points to your support team).

| Page | Sections |
|---|---|
| **Terms of Service** | 1 The service · 2 Accounts and verification · 3 Prices and billing · 4 Refunds · 5 Your data · 6 Acceptable use · 7 Availability and support · 8 Suspension and termination · 9 Liability · 10 Changes and governing law (the law of the seller's place of business) |
| **Privacy Policy** | 1 What we collect · 2 Why we use it · 3 Cookies and local storage · 4 Who else sees it · 5 Retention · 6 Your rights · 7 Contact |

::: warning Not legal advice
The default text is a neutral template. Have it reviewed before using it with real customers, especially the sections on refunds, liability and governing law.
:::

## Markdown rules

- Supported: headings (`# 1. Title`), paragraphs, bullet and numbered lists, **bold**, and links `[text](https://example.com)`.
- Links must start with `http://` or `https://`.
- **Raw HTML is refused** (any `<tag>`, `<!--`, `<?`): error `html_not_allowed`.
- Links with `javascript:`, `data:` or `vbscript:` are refused: error `unsafe_link`.
- Control characters other than newline and tab are refused: `invalid_chars`. Over 50 KB: `too_large`.
- The portal draws the text itself; only `http(s)` links become clickable, everything else is plain text.

## Language behaviour

- Customers see their own language when you wrote it. Only English and Vietnamese exist; any other portal language is shown the English version.
- If you wrote only **English**, a customer who selects Vietnamese (or any other language) sees your English text, not the default.
- If you wrote neither, the default text for that language is used.

## Verify

1. After saving, open `https://<your-domain>/terms` in a private window: your text appears under the title "Terms of Service — [brand]".
2. The tag on the card changes to *Using your text*.
3. Open `/privacy` and check the contact e-mail.

## Limits & notes

- Only `terms` and `privacy` exist in the installed product. Other pages (acceptable use, refund policy) of the original platform are not part of this edition: requests for `/aup` and `/refund` are redirected to the Terms.
- Resellers write their own legal pages in the partner console (**Landing & legal**); see [Resellers](https://nexcmp.com/docs/customers/resellers/).
- Changing the text does not ask existing customers to accept it again.

## Troubleshooting

| Symptom | Cause | Fix |
|---|---|---|
| Save refused: `html_not_allowed` | HTML tags in the text | Remove tags; use markdown. |
| Save refused: `unsafe_link` | A `javascript:`, `data:` or `vbscript:` link | Use an `https://` link. |
| Save refused: `too_large` | More than 50 KB | Shorten the text. |
| Customers see English although Vietnamese is written | The Vietnamese tab is empty | Write or paste the Vietnamese text. |
