CipherFS
In development · unreleased · format may change

Architecture decisions

This directory records important architecture decisions for the CipherFS project.

ADR List

IDTitleStatusDate
001Use redb instead of SQLiteAccepted2024
002XChaCha20-Poly1305 by defaultAccepted; AES-256-GCM and ChaCha20-Poly1305 later added as optional content ciphers2024
003FastCDC instead of fixed chunkingAccepted; fixed chunking remains an option2024
003Separate sync from coreAccepted2026-01
004Algorithm agilityAccepted2026-01

Earlier vector-clock sync and small-file blob sharding decisions were superseded by per-device signed causal logs and uniform content references in the confirmed requirements (Chinese). ADRs record the context of each decision; the repository README describes current behavior.

ADR Template

# ADR-XXX: Title

## Status
Accepted / Deprecated / Pending

## Context
Why do we need to make this decision?

## Decision
We decided to...

## Considered Options
1. Option A
2. Option B
3. Option C

## Consequences
- Pros: ...
- Cons: ...

Source file in the repository