---
sourceDocument: Australia Build or modify applications
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/application-development

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Configuration model

# Configuration model {#ariaid-title1}

Release version: Australia  
Updated October 3, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read  
Lux makes a component's behavior configurable at three levels: code, admin policy, and individual preference without three separate systems to learn. You add one decorator, `@config`, to a class
field to opt a property into all of it.

Configuration is stored as metadata override layers rather than as a code fork, so an admin's changes reapply cleanly across upgrades.

## Three players {#configuration-model__configuration-model-three-players}

Every configurable value passes through the same three parties:

Declare: developer
:   Tags which properties are configurable, sets the code-level default, and defines the choices, types, and labels that drive the generated config UI. Nothing is editable until it is declared.

Configure: customer admin
:   Configures shipped pages and widgets directly on the live page, in non-production, then promotes the change through an update set.

Personalize: end user
:   Adjusts their own view within admin-defined bounds.

As the developer you only need to read `this.propertyName` in your component. The framework resolves the value that getter returns.

Configuration is not a replacement for UI Builder, a tool for building widgets or pages, or a standalone no-code builder. This is a pro-code workflow: a developer writes the declaration, and an admin configures what the developer
declared.

## Default value {#configuration-model__configuration-model-default-value}

A `@config` property resolves to its developer default, the value assigned in your code.

## Promotion and upgrade safety {#configuration-model__configuration-model-promotion-and-upgrade-safety}

`sys_aix_configuration` extends `sys_metadata`, so admin configuration participates in update sets exactly like a business rule or a UI policy; no special export or import path.
**Related concepts**   

* [Inline configuration](https://www.servicenow.com/docs/9i1rAeBd~3Qku1vJdNxpmQ "Inline configuration turns a property a developer declares in code into something a customer admin can change on a live page, without a code change or a redeploy. An author picks one of four modes per property, and the framework stores and reads back the resulting values.")
* [Regions and the wrapper contract](https://www.servicenow.com/docs/MzACNDP~yg7lFFDOtCgm1g "A config admin can restructure a page's layout directly on the rendered page and persist the result as an admin override. Config admins can add and remove rows, columns, and widgets, resize column spans, change scrolling, and move containers.")
* [Theming model](https://www.servicenow.com/docs/KsOWCVzKvRb793_OzVM2HQ "Lux generates every color, radius, and font token from a small brand configuration, and a theme record can override any of those tokens per tenant.")  
**Related reference**   

* [Configurable properties for Lux experiences](https://www.servicenow.com/docs/LeINpZ6MlSXTUmYqb18kwA "A property becomes configurable and visible in the props pane when you add a decorator to it. The decorator's options set the field type that the props pane renders, and also set the storage key that the resolved value is read back from.")  
**Related topics**   

* 

