Skip to content
CAI
Produce a survey ↗Verify a survey

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

CAI band scale
CAI trend line

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

CAI lens gauges

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.

Survey a repository

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.
CAI link cards