Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 2.84 KB

File metadata and controls

49 lines (32 loc) · 2.84 KB

Cryosto

Cryosto is a command-line tool written in Rust, designed for long-term cold-storage backup. It converts data into binary shards using Reed-Solomon error correction codes, ensuring the original data can be fully recovered even if the storage media suffers physical bad sectors or bit-rot corruption.

Core Philosophy
Cryosto does not rely on specific file systems or opaque encryption black boxes. It depends solely on mathematical error correction to guarantee long-term data permanence.

Features

  • Erasure Coding
    Built-in Reed-Solomon coding allows the original data to be fully recovered even if some shards are lost or damaged. It protects against bit rot and media bad sectors.

  • Media Agnostic
    Cryosto does not interact directly with hardware. Instead, it generates standard .bin binary files that users can write to optical discs, magnetic tapes, USB drives, or any block device.

  • Open Format
    The binary shard format is fully open and documented, so the data can be parsed by alternative tools even if Cryosto itself becomes unavailable in the future.

  • No Encryption
    Cryosto focuses on data integrity rather than confidentiality. This design simplifies the workflow and eliminates the risk of permanent data loss due to forgotten keys.
    (Note: It can be used in conjunction with underlying disk encryption when confidentiality is required.)

  • Single-File Input
    The tool encodes one file at a time (for example, a user pre-packed .tar archive or any other single file). It does not traverse directory trees.

Workflow

Cryosto processes data streams rather than managing the file system directly:

  1. Pack: The user packs the data to be archived into a single file (e.g., a .tar archive).
  2. Encode: Cryosto reads the input file and generates multiple .bin shard files according to the configured error-correction ratio (e.g., 10+2).
  3. Store: The user writes the .bin files to cold-storage media.
  4. Decode: Cryosto reads the .bin files from the media, repairs any damaged or missing shards using the error-correction codes, and restores the original single file.

Minimum Viable Product (MVP – v0.1.0)

The initial release focuses on establishing a reliable core workflow without unnecessary complexity:

  • Input Support: Accepts only a single file.
  • Encode Command: Generates .bin shards with Reed-Solomon error correction.
  • Decode Command: Restores the original file from the shards.
  • Error-Correction Configuration: Supports configurable data-to-parity ratios via command-line parameters or a configuration file (e.g., 10+2).
  • Integrity Check: Automatically verifies file integrity after restoration.

Not supported in v0.1.0: incremental backups, direct disk writing, encryption, or multi-threading.

License

This project is licensed under the MIT License.