---
id: ADR-CRM-REG-007
title: Regions and the Policy Carry No Custom Fields
product_area: crm
module: regions
revision: 2
status: proposed
design_intent: confirmed
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Regional definitions, policy, rules and runs do not opt into custom fields; CRM custom-field ownership
  remains with contacts and organizations.
constrains:
  - DOM-CRM-REG-001
  - DOM-CRM-REG-002
  - DOM-CRM-REG-004
  - SVC-CRM-REG-regions
origin: >-
  R2-ARCH-001 (Andrew, 2026-10-19: custom fields are opt-in per entity; in CRM only contacts and
  organizations), cited in services-crm:docs/debt/region-custom-fields.md
alternatives:
  - option: Carry older regional custom values into the new definition.
    why_not: >-
      The recorded opt-in decision limits CRM custom fields to contacts and organizations, and geographic
      matching has no use for those regional values.
consequences:
  - Metadata exposes the regional definition’s declared fields without a custom-field contract.
  - >-
    A carry-through comment in the console refers to historical custom-field support and does not establish
    current capability.
supersedes: []
evidence:
  - 'services-crm at a8d1364f: docs/debt/region-custom-fields.md; modules/regions/metadata/regions.object.ts.'
---

# Regions and the Policy Carry No Custom Fields

## Context

Older regional definitions carried custom values. The recorded custom-field architecture choice excludes that regional extension.

## Decision

The regional registration does not declare custom-field capability, and regional request validation accepts the definition’s own fields. The recorded regional customization gap is closed rather than awaiting implementation.

## Alternatives Considered

Carry older regional custom values into the new definition. The recorded opt-in decision limits CRM custom fields to contacts and organizations, and geographic matching has no use for those regional values.

## Consequences

Metadata exposes the regional definition’s declared fields without a custom-field contract. A carry-through comment in the console refers to historical custom-field support and does not establish current capability.
