# AppStorage **AppStorage** is a singleton object in an application and is created by the UI framework when the application is started. It is designed to provide central storage for variable application state attributes. **AppStorage** contains all the state attributes that need to be accessed throughout the application. The **AppStorage** retains all attributes and their values as long as the application remains running, and the attribute values can be accessed through unique key values. The UI component can synchronize the application state data with the **AppStorage** through the decorators. The implementation of the application service logic can also access the **AppStorage** through APIs. The selection state property of the **AppStorage** can be synchronized with different data sources or data sinks. These data sources and data sinks can be local or remote on the device and have different functions, such as data persistence. Such data sources and data sinks can be implemented independently of the UI in service logics. By default, the attributes in the **AppStorage** are changeable, and **AppStorage** can also use immutable \(read-only\) attributes. ## AppStorage APIs