Recovery is a hard problem in environments where transactions perform work in a cooperative style (e.g., design environments). We propose concepts to control cooperation and recovery within nested transaction hierarchies. By allowing different nodes to run different protocols, we can build so-called recovery spheres with well-defined properties. We characterize those properties and illustrate them by examples from design environments.