---
id: CAP-PFM-MTD-004
title: Use Workspace Labels for Standard Fields
feature: FEAT-PFM-MTD-01
product_area: platform
module: metadata
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: observed
supersedes: []
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - 'services-platform:docs/metadata.md#Label overrides'
  - >-
    services-platform:docs/metadata.md#Acceptance checkpoints (2026-10-08 Final acceptance, accepted by
    Andrew)
purpose: >-
  Staff can use familiar terminology for information that Rhythm already defines. A local label supplies that
  terminology without changing the underlying field.
outcomes:
  - Staff can use familiar terminology for information that Rhythm already defines.
  - Removing the override restores the owner label.
actors:
  - ACT-PFM-007
surfaces:
  - console
  - api
preconditions:
  - The selected field is a live registered standard field.
postconditions: []
permissions:
  - key: platform.field-labels.update
    where_checked: api
    scope: tenant
rules:
  - id: BR-CAP-PFM-MTD-004-01
    proved_by: [ATS-PFM-MTD-004-01, TST-PFM-MTD-108]
    statement: >-
      A standard-label request may change the label alone and rejects attempts to alter visibility,
      requirement, type or presentation.
    kind: validation
    enforced_at:
      - api
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/metadata/tests/e2e/standard-field-label-overrides.e2e.spec.js#refuses a body
      making the field required as 400
    origin: none
  - id: BR-CAP-PFM-MTD-004-02
    proved_by: [ATS-PFM-MTD-004-02, TST-PFM-MTD-124]
    statement: >-
      Relabelling requires a live registered standard field; custom keys, undescribed columns, missing types
      and retired fields return not found, while prior overrides survive field retirement.
    kind: validation
    enforced_at:
      - service
      - database
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/metadata/tests/integration/services/persistence/standard-field-label-overrides.integration.spec.js#refuses
      a new override on the retired field as a 404
    origin: none
  - id: BR-CAP-PFM-MTD-004-03
    proved_by: [ATS-PFM-MTD-004-03, TST-PFM-MTD-124]
    statement: An override label contains between one and two hundred characters after trimming.
    kind: validation
    enforced_at:
      - api
      - service
      - database
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/metadata/tests/integration/services/persistence/standard-field-label-overrides.integration.spec.js#refuses
      a label one character longer than the longest allowed
    origin: none
  - id: BR-CAP-PFM-MTD-004-04
    proved_by: [ATS-PFM-MTD-002-07, ATS-PFM-MTD-004-04, ATS-PFM-MTD-004-07, TST-PFM-MTD-108, TST-PFM-MTD-124]
    statement: Workspace relabelling changes neither the owning declaration nor labels seen in other workspaces.
    kind: invariant
    enforced_at:
      - service
      - database
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/metadata/tests/e2e/standard-field-label-overrides.e2e.spec.js#shows the other
      tenant the owner's label on the same field
    origin: none
  - id: BR-CAP-PFM-MTD-004-05
    proved_by: [ATS-PFM-MTD-004-05, ATS-PFM-MTD-004-07, TST-PFM-MTD-108]
    statement: >-
      Removing an override returns the owning label, and removing an absent override succeeds while reporting
      that no override was removed.
    kind: lifecycle
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/metadata/tests/e2e/standard-field-label-overrides.e2e.spec.js#answers removed
      false for a field the tenant never overrode
    origin: none
  - id: BR-CAP-PFM-MTD-004-06
    proved_by: [ATS-PFM-MTD-004-06, TST-PFM-MTD-124]
    statement: Setting a replacement label retains the original creator and increments the override version.
    kind: lifecycle
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-platform:modules/metadata/tests/integration/services/persistence/standard-field-label-overrides.integration.spec.js#bumps
      the version on a second set, keeping the creator
    origin: none
scenarios:
  - id: SC-CAP-PFM-MTD-004-01
    given: One workspace has renamed a standard contact field.
    when: Describe Contacts from that workspace and a second workspace.
    then: 'The first receives its override and original label, while the second receives the owning label.'
    provenance: test
    source: >-
      services-platform:modules/metadata/tests/e2e/standard-field-label-overrides.e2e.spec.js#describes the
      field with the tenant's label and the owner's original
edge_cases: []
constraints: []
depends_on:
  - CAP-PFM-MTD-001
related:
  - CAP-PFM-MTD-002
journeys: []
open_questions: []
concepts:
  - CON-PFM-MTD-001
evidence:
  - >-
    services-platform at ad3f6a6582843008ed0f5a17b131878d15829af1: modules/metadata/aws/api/metadata.routes.ts
    , services/persistence/standard-field-label-overrides.ts, db/standard-field-label-overrides.table.ts;
    tests e2e/standard-field-label-overrides.e2e.spec.js,
    integration/services/persistence/standard-field-label-overrides*.integration.spec.js,
    integration/db/standard-field-label-overrides.table.integration.spec.js.
controls: [TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-DAT-001, TC-DAT-003, TC-DAT-004, TC-LOG-005, TC-PI-001, TC-PI-003, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
exercised_by: [FAS-PFM-MTD-01-01, FAS-PFM-MTD-01-03]
suites: [TST-PFM-MTD-108, TST-PFM-MTD-124]
---

# Use Workspace Labels for Standard Fields

## Purpose

Staff can use familiar terminology for information that Rhythm already defines. A local label supplies that terminology without changing the underlying field.

## How It Works

An administrator selects a standard field and enters the workspace label. Platform validates the field and the label. The override is stored separately from the application definition. A later description presents the chosen label and retains the original label for reference. Other workspaces keep their own terminology. Removing the override restores the owner label. This operation does not configure field visibility or validation.

## Relationships

Record descriptions resolve label overrides. Custom fields maintain their labels through their own definitions.
