Standardization reference
Standardizers
| Standardizer | Produces |
|---|---|
| Name | Consistent casing and spacing; expands common abbreviations |
| A normalized address, lowercased, with provider-specific forms folded | |
| Phone | A canonical international format |
| Date | An unambiguous date from many input formats |
| Address | Structured components, with abbreviations expanded |
| Uppercase | The value uppercased |
| Lowercase | The value lowercased |
| Titlecase | The value in title case |
| Sentencecase | The value in sentence case |
| Address line | A single address line, normalized |
| Strip | The value with characters matching a pattern removed |
| Unicode fold | A form with accents and compatibility characters normalized |
| Nickname expand | A canonical given name from a familiar form |
Thirteen standardizers, and that is the whole set. A rule naming anything else is rejected when you save it.

Rule fields
Every field a standardization rule accepts.
| Field | Accepts | Default | Changeable | What it does |
|---|---|---|---|---|
attributeDefId | An attribute | — | No | Which attribute the rule standardizes. To standardize a different one, create another rule. |
ruleType | standardize | — | Yes | The only kind of standardization rule there is. It exists so the shape stays open to extension, not because there is a choice to make. |
ruleConfig | An object naming a standardizer and its options | {} | Yes | Which standardizer to run and how. See Options. |
executionOrder | Integer, 0 or greater | 0 | Yes | Position in this attribute's chain. Rules run in ascending order. |
isActive | true or false | true | Yes | Whether the rule runs. Deactivating is the reversible alternative to deleting — though it does not undo values already standardized. |
metadata | An object | {} | Yes | Your own annotations, stored and returned uninterpreted. |
Order is a chain, not a preference
Several rules on one attribute compose in executionOrder, each receiving the
previous one's output. That is how a value gets both cleaned and cased:
| Order | Standardizer | 123-45-6789 becomes |
|---|---|---|
| 0 | strip with a non-digit pattern | 123456789 |
| 1 | uppercase | 123456789 |
Leave two rules on the same order and the sequence between them is not defined, so give each its own number whenever the result depends on which runs first.
Options
Options are per standardizer:
| Standardizer | Option | Effect |
|---|---|---|
| Subaddress stripping | Removes a tagged suffix on every domain, not only providers that ignore it | |
| Strip | Pattern | Which characters to remove — required |
| Phone | Default country | The country assumed for numbers without an international prefix — set this, or numbers that are not already international fail to normalize |
| Date | Locale | Disambiguates numeric dates where day and month order is ambiguous |
The authoritative option list per standardizer is served by the platform. Query it rather than relying on this table alone.
An unrecognized option is rejected when you save, rather than ignored. An option that silently did nothing would produce data that looks configured and is not.
Execution
| Behaviour | Detail |
|---|---|
| When | On write, before validation and before storage |
| Order | Per attribute, in the configured order |
| Result | The standardized value is the stored value |
| Raw input | Not retained — see below |
There is no parallel raw column. Two representations of one fact drift, and every consumer then has to decide which to trust.
Standardization is applied on the way in, and what you submitted is not stored anywhere. The audit entry records the standardized value together with a flag saying whether standardization changed it — it does not record what arrived.
So standardization is irreversible by the platform. Turning off a rule changes how future writes are treated; it does not restore values already standardized, and there is nothing to restore them from. Recovering the originals means re-loading from the source system.
Before enabling a rule that discards information — strip in particular, which
removes characters outright — try it on the rule test panel
and confirm the output on real values first.
Phonetic encoding
Phonetic encoding is not a standardization rule. Phonetic codes are computed at match time from the canonical value, using the codec the match profile specifies.
This is deliberate: stored codes would go stale the moment a profile changed its codec, and nothing would signal it. See match profile reference.
Next
Last verified against commit a0765982 (2026-08-03)