https://github.com/frankmanzhu/tzap
Lighting fast, Secure, Self-healing, seekable archives for serious data storage.
https://github.com/frankmanzhu/tzap
datastore fast secure seekable self-healing splitable
Last synced: 20 days ago
JSON representation
Lighting fast, Secure, Self-healing, seekable archives for serious data storage.
- Host: GitHub
- URL: https://github.com/frankmanzhu/tzap
- Owner: frankmanzhu
- License: apache-2.0
- Created: 2026-05-22T12:28:08.000Z (26 days ago)
- Default Branch: main
- Last Pushed: 2026-05-22T16:14:35.000Z (26 days ago)
- Last Synced: 2026-05-22T18:06:19.006Z (26 days ago)
- Topics: datastore, fast, secure, seekable, self-healing, splitable
- Language: Rust
- Homepage:
- Size: 547 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tzap - the only open source archive you need
[](https://github.com/frankmanzhu/tzap/actions/workflows/ci.yml)
[](https://github.com/frankmanzhu/tzap/actions/workflows/release.yml)
[](https://github.com/frankmanzhu/tzap/releases)
[](https://github.com/frankmanzhu/tzap/releases)
[](LICENSE)
Backups should survive real life.
`tzap` is a fast, encrypted, self-healing archive tool for serious long-term
storage. It keeps private data private, adds recovery data for damaged storage,
splits cleanly across drives or cloud objects, and restores one file from a huge
archive without unpacking everything else.
One command. One archive. No duct-taping together tar, compression, encryption,
checksums, parity files, split-volume naming, and restore logic.
## Why people choose tzap
- **It protects the stuff that matters.** File contents, names, metadata, and
indexes are encrypted.
- **It is built for ugly storage reality.** Bit rot, missing volumes, old drives,
cloud copies, and cold archives are part of the design.
- **It gets you one file fast.** Pull a photo, contract, source file, or record
out of a giant archive without restoring the whole thing first.
- **It keeps big archives manageable.** Split archives into practical volume
files for drives, discs, object storage, or offline sets.
- **It is open source and inspectable.** The Rust implementation, format spec,
tests, and fuzz targets are in this repository.
## Built for
- personal photo, video, and document vaults
- private project and source archives
- legal, research, media, and records storage
- cold backups that need privacy and recovery
- huge datasets spread across drives, discs, or cloud buckets
- teams that need repeatable verification before restore
## Try it in two minutes
Install:
```sh
cargo install tzap
```
Create an encrypted archive:
```sh
export TZAP_PASSPHRASE='correct horse battery staple'
printf '%s\n' "$TZAP_PASSPHRASE" | \
tzap create --password-stdin \
-o backup.tzap \
./project
```
Check it before you trust it:
```sh
printf '%s\n' "$TZAP_PASSPHRASE" | tzap verify --password-stdin backup.tzap
```
Restore one file:
```sh
printf '%s\n' "$TZAP_PASSPHRASE" | \
tzap extract --password-stdin --stdout backup.tzap project/readme.txt
```
Homebrew, GitHub release assets, and source builds are covered in the
[installation guide](public-docs/tzap-installation.md).
## Recovery in plain English
`tzap` can add recovery data when the archive is created. Later, if ordinary
storage damage happens, `tzap verify` or `tzap extract` can rebuild damaged
pieces within that recovery budget and then check the result before trusting it.
For split archives, `tzap` can also survive missing volume files when you choose
a matching volume-loss tolerance:
```sh
tzap create \
--keyfile project.key \
--volumes 3 \
--volume-loss-tolerance 1 \
-o project.tzap \
./project
```
See the [recovery matrix](public-docs/tzap-recovery-matrix.md) for the simple
"what happens if..." version.
## Proof for serious storage
- [Security model](public-docs/tzap-security-model.md): what is private, what is
checked, how keys work, and how safe restores behave.
- [Recovery matrix](public-docs/tzap-recovery-matrix.md): bit rot, damaged
blocks, missing volumes, and user actions.
- [Benchmark guide](public-docs/tzap-benchmark-guide.md): reproducible create,
verify, extract, selected-file restore, and recovery benchmarks.
- [CLI reference](public-docs/tzap-cli-reference.md): every command, option, and
exit label.
- [Operational boundaries](public-docs/tzap-operational-boundaries.md): concrete
behavior for automation and production workflows.
## For developers and implementers
- CLI crate: [crates.io/crates/tzap](https://crates.io/crates/tzap)
- Core library: [crates.io/crates/tzap-core](https://crates.io/crates/tzap-core)
- Signing plugin: [crates.io/crates/tzap-plugin-signing](https://crates.io/crates/tzap-plugin-signing)
- Format spec: [specs/tzap-format-revisedv41.md](specs/tzap-format-revisedv41.md)
- Development guide: [public-docs/tzap-development.md](public-docs/tzap-development.md)
## License
Licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE).