# Betosync

Betosync enables data syncing between multiple devices that may be connected with different network topologies or disconnected temporarily. It ensures eventual consistency of the data while preferring availability when disconnected or partitioned.

## Components

* [Submerge](submerge/README.md): A data-consistency library for sharing data between multiple devices that ensures causal consistency while being always available using state-based CRDTs.
