Final, hardened board: storage/sync primitives & adjacent layers
This page presents a rigorously adversarial scoring and ranking of twelve storage/sync systems under two stacked filters: (1) toxic FOSS/privacy maximalism, and (2) an anti-capture, decentralization-first systems telos. Scores quantify how well each tool behaves under hostile assumptions: untrusted hosts, compromised admins, surveillance incentives, licensing pivots, and governance capture.
1) Criteria & weights
Each project receives a 0–100 score per criterion. The weighted sum produces the composite /100.
| Code | Criterion | Weight | Operational meaning (hostile lens) |
|---|---|---|---|
C1 |
License & Code Freedom | 15% | Clean FOSS licensing; forkability; absence of EULA overlays and “stable-binary traps”. |
C2 |
Architecture & Decentralization | 20% | P2P vs central server; federation; DNS/CA independence; ability to run LAN/mesh/Tor without external chokepoints. |
C3 |
Privacy, Encryption & Metadata Protection | 25% | Client-side/E2EE, server visibility of content and metadata, resistance to malicious admins and network observers. |
C4 |
Simplicity & Attack Surface | 10% | Stack complexity, moving parts, hardening surface, supply-chain exposure. |
C5 |
Resilience & Offline / Mesh Fitness | 10% | Behavior under intermittent connectivity; LAN-only operation; graceful recovery; redundancy. |
C6 |
Maturity & Stability | 5% | Time in the wild, adoption, correctness history, survivability. |
C7 |
Stack Alignment & Composability | 10% | Protocol openness, CLI ergonomics, Tor compatibility, small-hardware friendliness, composable primitives. |
C8 |
Anti-Capture & Governance Risk | 5% | Resistance to licensing pivots, VC/open-core pressure, vendor choke points, hostile roadmap capture. |
2) Final ranking (composite /100)
Composite = weighted sum of C1–C8 (rounded to 1 decimal). Tier labels indicate deployment role in a sovereign stack.
| # | Project | Tier | Composite | Primary role (hardened interpretation) |
|---|---|---|---|---|
| 1 | Syncthing | Tier 1 | 88.8 / 100 | P2P device sync backbone (site, docs) |
| 2 | Peergos | Tier 1 | 87.0 / 100 | Private global filesystem + social-graph shield (features, repo) |
| 3 | Tahoe-LAFS | Tier 1 | 85.8 / 100 | Untrusted storage grid (provider-independent security) (site, about) |
| 4 | git-annex | Tier 1 | 83.0 / 100 | Orchestration for archives & encrypted remotes (site, special remotes) |
| 5 | CryptPad (Drive) | Tier 2 | 76.0 / 100 | E2EE collaboration layer (site, docs, whitepaper) |
| 6 | Blossom (Nostr) | Tier 2 | 75.5 / 100 | Nostr-aligned blob/media substrate (spec) |
| 7 | IPFS | Tier 2 | 74.8 / 100 | Public or pre-encrypted content backbone (site, privacy) |
| 8 | MinIO | Tier 3 | 70.5 / 100 | S3 object backend; dual-licensed AGPL/commercial (license, AIStor split) |
| 9 | Nextcloud | Tier 3 | 69.3 / 100 | Groupware hub; E2EE has known breaks (SSE limits, E2EE paper) |
| 10 | Seafile | Tier 3 | 69.3 / 100 | EFSS; E2EE model leaks metadata and fails under hostile-server research (security features, audit issue, ecosystem paper) |
| 11 | Pydio Cells | Tier 3 | 64.5 / 100 | Enterprise EFSS; server-managed encryption (encryption docs) |
| 12 | ownCloud Infinite Scale | Tier 3 | 63.8 / 100 | Apache source + EULA “stable binaries” overlay (license page, license conflict issue, EULA PDF) |
3) Full score matrix
Numbers reflect the hostile audit: metadata leakage, JS supply-chain exposure, centralized admin trust, licensing overlays, and published cryptographic breaks are explicitly penalized.
| Project | Tier | C1 |
C2 |
C3 |
C4 |
C5 |
C6 |
C7 |
C8 |
Composite |
|---|---|---|---|---|---|---|---|---|---|---|
| Syncthing | Tier 1 | 90 | 95 | 80 | 85 | 95 | 90 | 90 | 95 | 88.8 |
| Peergos | Tier 1 | 95 | 90 | 95 | 65 | 85 | 70 | 80 | 90 | 87.0 |
| Tahoe-LAFS | Tier 1 | 90 | 90 | 90 | 70 | 85 | 80 | 75 | 95 | 85.8 |
| git-annex | Tier 1 | 95 | 85 | 75 | 60 | 90 | 85 | 90 | 95 | 83.0 |
| CryptPad | Tier 2 | 95 | 60 | 90 | 65 | 60 | 85 | 65 | 80 | 76.0 |
| Blossom | Tier 2 | 90 | 80 | 55 | 85 | 75 | 60 | 90 | 85 | 75.5 |
| IPFS | Tier 2 | 90 | 95 | 50 | 65 | 85 | 90 | 75 | 55 | 74.8 |
| MinIO | Tier 3 | 85 | 65 | 60 | 75 | 90 | 90 | 70 | 35 | 70.5 |
| Nextcloud | Tier 3 | 90 | 60 | 60 | 50 | 80 | 95 | 75 | 70 | 69.3 |
| Seafile | Tier 3 | 90 | 60 | 55 | 70 | 85 | 85 | 70 | 65 | 69.3 |
| Pydio Cells | Tier 3 | 80 | 55 | 55 | 55 | 85 | 85 | 65 | 60 | 64.5 |
| ownCloud IS | Tier 3 | 62 | 55 | 70 | 50 | 90 | 75 | 65 | 35 | 63.8 |
Note: “Composite /100” uses the weights in Section 1. Minor decimal differences may occur if recomputed with additional rounding.
4) Project profiles (all details + linked evidence)
Each profile includes the hardened role, high-signal claims, and links to primary documentation and research embedded in place.
Tier 1
Syncthing
Role: P2P device sync backbone • Composite: 88.8
Syncthing is a peer-to-peer file synchronization system designed to eliminate the central server requirement. The protocol uses mutual authentication and TLS; device identity is key-based.
- Pure P2P topology with optional discovery/relay infrastructure that can be replaced or avoided (official site, docs).
- Untrusted (Encrypted) Devices enable folder-level ciphertext storage on an untrusted peer via a password (untrusted devices docs).
- Hostile lens nuance: discovery servers can learn device IDs/IPs unless disabled or self-hosted (security model).
- Simplicity advantage: single daemon + Web UI; comparatively small operational surface vs multi-service platforms (downloads).
Tier 1
Peergos
Role: private global filesystem + social-graph shield • Composite: 87.0
Peergos is a peer-to-peer encrypted global filesystem with fine-grained access control, designed to resist surveillance of both data content and friendship graphs.
- Explicit privacy-by-design goal: only the user should read data, metadata, and friend list (features).
- Social graph protection: follow requests sent over Tor to hidden services to hide network metadata (social graph security).
- Hostile lens emphasis: metadata/graph protection is treated as a first-class requirement, not a bolt-on (metadata notes).
- Tradeoff: heavier stack than minimal daemons (more moving parts → larger attack surface) (GitHub repo).
Tier 1
Tahoe-LAFS
Role: untrusted storage grid (provider-independent security) • Composite: 85.8
Tahoe-LAFS provides decentralized storage with “provider-independent security”: storage servers hold ciphertext shares, and the system remains confidential and retrievable even if some servers fail or are taken over.
- Client encrypts, erasure-codes, and disperses shares across multiple servers (about, architecture).
- Default reconstruction threshold model (e.g., 3-of-10 shares with defaults) supports resilience (erasure coding details).
- Hostile lens nuance: network-level anonymity is not intrinsic; layering via Tor/I2P/VPN is required for IP/topology hiding (privacy analysis (PDF), Tor Project overview).
Tier 1
git-annex
Role: orchestration for encrypted remotes / archives • Composite: 83.0
git-annex manages large file content “alongside Git” and supports many remote backends. It is an orchestration primitive rather than a universal encrypted filesystem.
- Special remotes store annexed file contents outside normal Git remotes and can be tested and configured (special remotes, using special remotes).
- Encryption scope is bounded: repo metadata (filenames/history) remains visible to anyone with repo access (encryption notes).
- Hostile lens best fit: pair git-annex with untrusted backends (S3, rsync, Tahoe, etc.) using encrypted special remotes (encrypted annex workflow).
Tier 2
CryptPad (Drive)
Role: E2EE collaboration/office layer • Composite: 76.0
CryptPad is an end-to-end encrypted collaboration suite (docs, sheets, drive). The server cannot read document contents under its stated threat model, but it serves the client-side application (JS), creating a supply-chain trust axis.
- Cryptographic design documented in the CryptPad whitepaper (whitepaper (PDF)).
- Browser crypto dependency: encryption requires JavaScript in the browser (instance docs note).
- Hostile lens nuance: web apps inherently trust the instance to deliver non-malicious JS (security guide, independent review).
Tier 2
Blossom (Nostr)
Role: Nostr blob/media substrate • Composite: 75.5
Blossom is a specification for HTTP endpoints that store “blobs” addressed by SHA-256 hashes on public servers, using Nostr public/private keys for identity and signed authorization events.
- Spec claim: “blobs addressed by their sha256 hash” and Nostr key identities (spec repo).
- Hostile lens nuance: no native encryption layer in the protocol; confidentiality requires client-side encryption conventions.
- Maturity signal: ongoing spec hardening discussions (e.g., authorization edge cases) (auth clarification PR).
Tier 2
IPFS
Role: public or pre-encrypted content backbone • Composite: 74.8
IPFS is a set of open protocols for addressing and transferring content using peer-to-peer networking and content addressing. It is modular by design and does not ship with a built-in privacy layer.
- Core claim: no built-in privacy layer or encryption in the protocol core (IPFS privacy & encryption).
- Best practice guidance: private networks can limit participation; encryption is still the responsibility of higher layers (privacy best practices, private swarm note).
- Hostile lens fit: excellent for public publishing and for distributing already-encrypted blobs; not a “private drive” by default.
Tier 3
MinIO
Role: object storage backend (S3) • Composite: 70.5
MinIO is a high-performance, S3-compatible object storage server. It is operationally valuable as a backend, but governance and product bifurcation increase capture risk in a hostile lens.
- Dual licensing: AGPLv3 + commercial license (license page, repo).
- Product split: “two product binaries” (MinIO Object Store vs AIStor), with AIStor under commercial license (AIStor overview, AIStor download).
- Hostile lens fit: strong for internal object storage; not a privacy-by-design, zero-knowledge layer.
Tier 3
Nextcloud
Role: groupware hub • Composite: 69.3
Nextcloud is a self-hosted file sync and collaboration platform. Under hostile assumptions, the encryption story is limited by metadata visibility and published breaks in E2EE sharing designs.
- Server-side encryption limitation: SSE does not encrypt filenames or folder structures (SSE documentation).
- Published cryptographic break: “Share with Care: Breaking E2EE in Nextcloud” (paper (PDF), discussion summary).
- Hostile lens fit: strong “trusted admin” groupware; not a malicious-admin-resistant vault.
Tier 3
Seafile
Role: EFSS (efficient sync) • Composite: 69.3
Seafile is an EFSS platform with encrypted libraries. Under a hostile server/admin model, the encryption system leaks structure and has documented weaknesses and ecosystem-level breaks.
- Official guidance: encrypted libraries created via web interface send password/keys through the server; E2E protection requires creating encrypted libraries from the desktop client (security features).
- Long-standing critique: “Encrypted libraries leak lots of information” (metadata exposure and crypto issues) (issue #350).
- Formal research: “End-to-End Encrypted Cloud Storage in the Wild: A Broken Ecosystem” covers severe vulnerabilities across products, including Seafile (paper (PDF), ACM entry).
Tier 3
Pydio Cells
Role: enterprise EFSS • Composite: 64.5
Pydio Cells targets enterprise document collaboration and compliance use cases. Its encryption is designed to keep data “under control” on third-party storage, but keys remain server-admin-managed in the documented model.
- Datasource encryption: AES-GCM with a 256-bit master key generated by the admin (encryption docs).
- Operational nuance: master key workflows are exposed via API endpoints (create/import/export) (create key API, import key API).
- Hostile lens fit: encryption protects against some storage-provider risks, but not against a malicious admin/server holding keys.
Tier 3
ownCloud Infinite Scale
Role: cloud-native EFSS with EULA overlay • Composite: 63.8
ownCloud Infinite Scale (oCIS) publishes Apache-2.0 source code, while “stable, supported binary builds” distributed by the vendor are covered by a non-OSS freemium EULA — a material capture vector in hostile governance analysis.
- License statement: Apache-2.0 source + EULA for stable supported binaries (official license page).
- Documented conflict: community issue discussing LICENSE vs EULA ambiguity (issue #6570).
- EULA primary text: (EULA PDF).
- Hostile lens fit: usable as an edge platform if built from source and treated as replaceable; unsuitable as a trust-minimal core component.
5) Structural conclusions
Tier 1: core primitives
Syncthing, Peergos, Tahoe-LAFS, and git-annex form the hardened core because they remain usable under adversarial hosting and are not structurally dependent on vendor-controlled SaaS endpoints or EULA-gated binaries.
- Syncthing dominates P2P sync; optional encryption for untrusted peers is documented and operationally practical (untrusted devices).
- Peergos is rare in targeting content + metadata + social graph simultaneously (features, social graph).
- Tahoe-LAFS provides provider-independent security; anonymity is layered, not intrinsic (about, privacy analysis).
- git-annex is a high-leverage orchestrator; encryption applies mainly to annexed content on special remotes (encryption scope).
Tier 2–3: layers and edges
Tier 2 tools are valuable but role-bounded; Tier 3 tools are typically “edge platforms” (enterprise EFSS/backends) that assume trusted admins and/or carry capture vectors.
- CryptPad: strong E2EE collab, but browser-served JS creates a supply-chain trust axis (whitepaper, security guide).
- Blossom & IPFS: excellent public distribution layers; privacy is not native (Blossom spec, IPFS privacy).
- Nextcloud & Seafile: encryption systems leak metadata and have documented breaks under hostile-server threat models (Nextcloud SSE limits, Nextcloud E2EE break, Seafile E2E caveat, Seafile leakage issue, E2EE ecosystem paper).
- MinIO & ownCloud IS: licensing/product bifurcation and EULA overlay are explicit governance/capture risks (MinIO license, AIStor split, ownCloud license page).