Project Structure
Sietch is inspired by robust, decentralized systems and provides a resilient, portable vault-built for hostile or disconnected environments. If you’re familiar with Go, CLI tools, or modern static site generators, you’ll feel right at home.
Vault Directory Structure
When you initialize a Sietch vault (sietch init), the CLI creates a self-contained directory with everything needed for secure, offline-first storage and sync. A typical Sietch vault directory looks like:
.sietch/ # Control room: keys, encryption material, internal state
keys/ # Encryption keys (AES, GPG, etc.)
chunks/ # Chunked, encrypted file storage
sync/ # Sync Keys
manifest/ # Stores the manifests for all the data stored
vault.yaml # Manifest: vault ID, encryption, chunking, sync config
Optionally, you can customize the vault location or structure using flags during sietch init.
Extensibility & Recovery
- Manifest & Metadata: vault.yaml acts as the genetic map of your vault-future-proofed for new features, sync strategies, and cryptographic extensions.
- Recovery: Sietch supports rehydration and recovery via CLI (sietch recover), allowing you to rebuild your vault from chunks or peer metadata if your manifest is lost or corrupted.
Sietch is designed for resilience, security, and portability-whether you’re running a documentation site or a nomadic, encrypted vault.