Status
Last reviewed: 2026-10-17 · 1.0.0-alpha.1 · fifteen-crate workspace · about 2,300
#[test] functions.
soft-fig 1.0.0-alpha.1 is the first public release. It is built and used daily by its author on one device, so expect rough edges. This page is a dated snapshot; when it disagrees with the code or its changelog, trust the repository.
What ships in 1.0.0-alpha.1
Section titled “What ships in 1.0.0-alpha.1”- The engine. The vault — whole-store encryption, Layer B secrets
(sealed files and inline regions), key rotation, a declared recovery policy with
escrow and rewrap — plus the content-addressed ciphertext store, signed
intent-classified commits with
fsck, and the FUSE plaintext view, all driven by thesoftfig-keeperddaemon. - First run.
softfig onboardscaffolds a garden born-in-FUSE;softfig migrateconverts a legacy plaintext garden. - The surfaces. The
softfigCLI; the MCP bridge with typed, convention-stamping write verbs (including surgical edits such aspatch_fileandbatch) and no vault operations; and the ratatui TUI. - Dotfile deploy.
softfig deploymaterializesconfig/deploy.tomlas symlinks to a plaintext cache or as stamped copies, to$HOMEtargets and regular files. Files you have sealed deploy as plaintext, by design — that is what a live dotfile needs. - Cross-device. Pairing (mDNS, Noise, six-digit SAS), a signed peer ring, a blind relay for off-LAN peers, zero-knowledge ciphertext backup to granted hosts, and shared subtrees: union-mounted into the garden, keyed by a collaboratively generated key, with write-turn coordination and last-writer-wins conflict sidecars.
- Growlight. The autonomous work loop, run entirely by
softfig-growlightd(a one-agent run is a fleet of one), on the Claude or opencode backends, with a daemon-parsed backlog queue, budgets, and a terminal and window console. The queue v2 scheduler is selectable per garden withqueue = "v2"; the default islegacy.
Known limitations
Section titled “Known limitations”- Unaudited cryptography. No third party has reviewed it. Don’t store anything you can’t afford to lose; see the security policy.
- Linux only, with a systemd user session and FUSE 3 (
fuse3). No other OS or init system is supported. - Build from source. There are no prebuilt binaries or distro packages yet. You
need Rust 1.88 or newer and
protoc. See Install. - One device in daily use. The author runs it on one device. Sync is the least-proven area: its automated tests run over loopback, and real multi-device use has been limited. Shared subtrees are built and tested for two paired devices.
- Recovery is yours to look after. A passphrase-only garden is recoverable only
while the small
k.selfwrapping survives. Export and verify an escrow bundle (softfig vault escrow) and keep copies. The passphrase door cannot be dropped. - Relock tokens weaken the lock and are off by default. They exist so an unattended loop can survive a daemon restart; see Daemon & FUSE.
- Deploy is static. No template rendering, no render-time secrets, no
/etctargets. - No peer-document reads or peer unlock. A backup host stores your ciphertext but
can’t read it, and there is no ACL letting a peer unlock your vault. The
peersrecovery door can be declared but is not built. - Growlight window console is feature-gated. The iced GUI builds only with the
guiCargo feature and has no software-render fallback; it needs Vulkan. - Workspace version is
0.1.0until release tooling lands. Don’t rely on it for compatibility checks.
Planned
Section titled “Planned”Not built; nothing here works today.
- Prebuilt binaries and distro packages, with an upgrade path.
- Template rendering with profile-scoped variables and render-time secrets.
- Reading a peer’s documents through a chain-scoped read key.
- A peer-unlock ACL and TPM-backed self-unlock.
- Shared subtrees beyond two members.
- Social recovery as a further recovery door.
Contributing
Section titled “Contributing”- Contributions. Open an issue first for anything larger than a bug fix. Read
CONTRIBUTING.mdfor the local gate and review process; merging requires agreeing to the CLA. - Vulnerabilities. Report them privately, never in a public issue; the contact and
process are in
SECURITY.md. - License. AGPL-3.0-or-later. The name and logo are covered separately by the trademark policy. Conduct is covered by the code of conduct.
Related: Architecture, The Vault, and the roadmap.