Mobile applications increasingly require transaction-like properties, particularly those of recovery. Because there is a lack of abstractions to decompose the machinery of recovery, realizing recovery is difficult and error-prone, especially in a novel context like mobile systems. We introduce recovery guarantees to tackle this problem by characterizing the assurances relevant to recovery that a subsystem must give to another. They describe the what can be expected but not the how it is implemented for recovery. Guarantees are complemented by recovery protocols, which prescribe behaviors subsystems should follow in order to take advantage of the guarantees. In this paper we use the notions of recovery guarantees and protocols to show the relationships, vis-`a-vis recovery, between the components of a mobile system. Our analysis shows which components of recovery remain unchanged (from a conventional recovery design) and which respond to the particular needs of mobile systems. This sh...