--- title: Contribute nav: Contribute output: contribute/index.html description: Help build Varsto, an end-to-end encrypted sync and backup tool written in Rust: architecture, where help is wanted, how to build and test it, and the licence terms. ---

Build Varsto with us

Varsto is an end-to-end encrypted file sync and backup tool for storage you already own: S3 buckets, NAS shares, rclone remotes, old disks and your own devices. The core is written in Rust, the source is public on GitHub, and the storage format is specified in writing. It is an early alpha, which is the best time to shape it.

Source on GitHub Issues Contribution rules

What you would be working on

A Rust core with a written spec

varsto-core holds the engine: content-defined chunking, XChaCha20-Poly1305 encryption, a signed ledger with hybrid Ed25519 + ML-DSA-65 signatures, placement and policies, peer-to-peer block exchange with NAT traversal, and storage backends for directories, S3 and rclone. Every on-storage object is described in the storage format specification.

One binary, many shells

varsto-cli is the command line, the background service, the tray and a local web interface (plain HTML, CSS and JavaScript). Thin native shells wrap it: Swift for macOS and iOS, Kotlin for Android, through varsto-ffi.

Tests that run whole networks

Besides unit and integration tests, a lab of virtual machines plays laptops, desktops and servers behind home routers, symmetric NAT and a public internet, with an S3 server and storage outages, crashes and clock skew on demand. See Testing.

Where help is wanted

Getting started

git clone https://github.com/janttsu/varsto
cd varsto
cargo build --release
cargo test --workspace

A stable Rust toolchain (1.85 or newer) is enough for the core and the command line. The quick start creates a vault on a local directory in a minute, so you can try changes without any cloud account. Before a pull request, cargo fmt --all --check, cargo clippy --workspace --all-targets and the tests must pass, and new behaviour needs tests. Please open an issue before large changes.

Licence

Varsto is source-available under the PolyForm Shield License 1.0.0: you may read, use, change and share the code for any purpose except offering a product that competes with Varsto. It is not an OSI open-source licence. By contributing you agree that your contribution is distributed under that licence; the details are in the contribution rules. Everything in the repository is written in English.