restic/restic
Restic is a secure, command-line backup tool that creates deduplicated, encrypted snapshots of files and directories across a wide variety of storage backends, including local filesystems, S3, Azure, GCS, and SFTP. The system provides comprehensive repository management capabilities, allowing users to backup, restore, copy, and prune data, while also offering advanced features like dry-run previews, compression, and integrity checking. It supports multiple cloud providers and remote protocols, ensuring flexible and reliable data protection workflows.
68.2
Adequate · 6 August 2026
42k
lines of production code
Go
primary language
2
bus factor · 486 authors in all
3
measurements over time
How it got here
2014–2017 · Backend abstraction and CLI refactoring
This period focused on restructuring the codebase's internal architecture, particularly the backend interface and CLI command handling, to improve modularity and error management. It also introduced support for multiple cloud storage providers, including Azure, Google Cloud, and Backblaze B2, alongside comprehensive testing and documentation updates.
32 changes
2018–2020 · Feature expansion and internal refactoring
This period focused on expanding the application's capabilities by introducing new commands like `diff` and `self-update`, while integrating external storage support via rclone. Concurrently, the codebase underwent significant internal refactoring, extracting core logic into dedicated packages for restoration, tree walking, and terminal status management to improve maintainability and performance.
26 changes
2021–2024 · Backend abstraction and performance tuning
This period focused on refining the backend architecture by introducing concurrency limits, rate limiting, and a local cache to improve performance and reliability. The team also standardized the user interface for progress reporting and implemented a feature flag system to manage new capabilities like dry-run modes and JSON output across various commands.
29 changes
2025–2026 · Architecture centralization and stabilization
This period focused on consolidating the codebase by centralizing global options, backend registries, and cryptographic operations into dedicated internal packages. Concurrently, the project released versions 0.18.0 and 0.19.1, which introduced features like JSON output and SLSA provenance while addressing numerous bugs and regressions across backup, restore, and mount commands.
9 changes
Survey your own repository
restic/restic was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit a80be1478a — the exact code this score is about.
- Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.