Abstract: Aspects of embodiments relate to a system for decentralized and distributed storing of data. The system comprises an application provider operative to provide a data storage (DTS) engine that is configured to generate data fragments that are associated with a source dataset received at an end-user data source (DT) device. The DTS engine is also configured such that the generated data fragments are stored on a multitude of end-user DT devices. The DTS engine is further configured to reconstruct, based on the data fragments, the source dataset.