Provider-hosted apps allow components to work across domains despite firewalls. They can access SharePoint Online and on-premises farms, and use tokens for dual authorization. A cross-domain library enables remote script to access SharePoint without tokens. Tools for building cross-domain apps include Visual Studio, LightSwitch, JavaScript, and SharePoint APIs. They can store data in SharePoint lists, libraries, remote databases, files, and blob storage.