A content management system (CMS) is a software application or group of related programs used to create and manage digital content. CMSes are usually used for enterprise content management (ECM) and web content management (WCM). The ECM promotes collaboration in the workplace by combining document management, digital asset management, recording and storage capabilities, and providing end-users with roles-based access to the company's digital assets. A WCM facilitates interaction with the network. ECM software also provides a WCM publishing feature, but ECM web pages usually remain behind the organization's firewall.