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

# How Customer Names Are Validated

When you collect a customer's name — from a signup form, a checkout, or a CSV import — the data is rarely clean. People type "john," "JON," or "null smith". Maestra automatically cleans up customer names — so you never send "Hey, null!" to a customer.

## What characters are allowed

By default, name fields accept:

* Letters (A–Z, a–z) — if needed, you can [enable additional alphabets or allow any characters.](/customers-orders-and-products/customers/personal-data/field-validation-rules)
* Apostrophes (`'`) — for names like O'Brien
* Hyphens (`-`) — for names like Mary-Jane
* Spaces

<Warning>
  If a value contains characters outside this set (numbers, emojis, symbols) or characters not included in the alphabet used in your project, the field stays empty rather than saving bad data.
</Warning>

<Check>
  Each field has a 100-character limit.
</Check>

To learn more about validation rules, see \[[Field Validation Rules for Customer Data](/customers-orders-and-products/customers/personal-data/field-validation-rules)].

## Two ways to send a name

### Option 1 — Send the parts separately

Pass `FirstName` and `LastName` as individual fields. Maestra stores exactly what you send, with no parsing.

```json theme={null}
{
  "firstName": "Sarah",
  "lastName": "Thompson"
}
```

Use this when your form already splits the name into separate inputs. It's the most reliable option.

### Option 2 — Send a single full-name string

Pass the whole name in one `FullName` field. Maestra splits it into first and last automatically by checking the first word against its name dictionary.

```json theme={null}
{
  "fullName": "Sarah Thompson"
}
```

Use this when your source system only stores one combined name field.

<Tip>
  If a name is sent in lowercase, the first letter is automatically capitalized.
</Tip>

<Warning>
  If a name in the **FullName** field isn't recognized as a standard name, it won't be split — the entire value will be written to FirstName (e.g., "Jaxon Miller" → FirstName = "Jaxon Miller", LastName = empty).
</Warning>

## Standard vs. non-standard names

Maestra keeps a dictionary of common names (rare, uncommon, or specific names and nicknames may not be included). When a name matches the dictionary, it's marked as **standard**.

This matters when you pick a personalization variable in a template:

* **`Recipient.FirstName`** — uses whatever is on file, standard or not. Best for maximum reach.
* `Recipient.OnlyStandardFirstName` — only fills in if the name is standard. Best when you'd rather show a generic greeting than risk sending "Hi null" to subscribers with junk data.

When using built-in personalization variables, the new builder automatically checks if the name is standard.
