AppData
Use AppData (short for "application data") to add custom information (typically related to an external application that integrates with SDL Tridion Sites) to any content item.
Unlike tradition content item metadata, which is exposed to any user with access to the content item, AppData is programmatic metadata: it is available only through the Core Service API, and is intended exclusively to be produced and consumed by the external application.
For example, imagine that your SDL Tridion Sites implementation contains Components that correspond to objects in the CRM system used by your organization, called, say, Himalia. Himalia is separate from SDL Tridion Sites, but interacts with SDL Tridion Sites through a custom connector you created, and which talks to the Core Service. In this scenario, you could imagine your connector storing the unique identifier of a Himalia item in the AppData for the corresponding SDL Tridion Sites Content Manager Component. Your connector would also retrieve the identifier from a Component's AppData as needed.
RWS itself uses AppData to communicate information between SDL Tridion Sites on the one hand, and its add-ons and non-core features on the other hand.
If SDL Tridion Sites is integrated with multiple external applications, a content item can have multiple pieces of AppData attached to it, one for each external application. Each piece of AppData has an application ID to identify which application it relates to.
For more information about how to implement AppData, refer to the Core Service API reference documentation. You can also download a command line tool (including sources) called AppData Companion from its eXtension page on the SDL Community Web site, along with usage examples, to help you better understand the mechanics of the AppData feature.