Authagonal.Backup 0.25.2

dotnet add package Authagonal.Backup --version 0.25.2
                    
NuGet\Install-Package Authagonal.Backup -Version 0.25.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Authagonal.Backup" Version="0.25.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Authagonal.Backup" Version="0.25.2" />
                    
Directory.Packages.props
<PackageReference Include="Authagonal.Backup" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Authagonal.Backup --version 0.25.2
                    
#r "nuget: Authagonal.Backup, 0.25.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Authagonal.Backup@0.25.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Authagonal.Backup&version=0.25.2
                    
Install as a Cake Addin
#tool nuget:?package=Authagonal.Backup&version=0.25.2
                    
Install as a Cake Tool

Authagonal.Backup

Programmatic backup, restore, merge, and rollup for Authagonal's Azure Table Storage data. This is the library that backs the Authagonal.Backup CLI, use it directly when you need the same operations from inside a host process (background services, custom orchestration).

Quick start

using Authagonal.Backup;
using Azure.Data.Tables;

var serviceClient = new TableServiceClient(connectionString);

// Backup
var backupOptions = new BackupOptions
{
    Tables = BackupDefaults.Tables,
    Incremental = false,
    Gzip = true,
};
var target = new FileSystemBackupTarget("./backups");
var backup = new BackupService(serviceClient, target, backupOptions);
await backup.RunAsync(ct);

// Restore
var restoreOptions = new RestoreOptions { Mode = RestoreMode.Upsert, ManifestKey = manifestKey };
var source = new FileSystemBackupSource("./backups/20260426-120000");
var restore = new RestoreService(serviceClient, source, restoreOptions);
var result = await restore.RunAsync(ct);

Integrity

The manifest records a SHA-256 per file, and restore verifies each one from the same read it applies the entities from. Those hashes establish that the archive matches the manifest — not that either is authentic, because the manifest sits on the same target as the data: whoever can rewrite Clients.jsonl.gz can rewrite the line recording its hash.

BackupOptions.ManifestKey (CLI: --manifest-key) closes that by HMAC-ing the manifest, and RestoreOptions.ManifestKey verifies it. Keep the key outside the backup target — a MAC key stored beside the archive reproduces exactly the circularity it exists to remove.

Restore fails closed: with no ManifestKey it refuses rather than warning, and AllowUnauthenticatedManifest is the explicit opt-out for an archive written before manifest signing. A file listed in the manifest but missing from the store aborts the restore, as does one present but unlisted.

Surface

Type Purpose
BackupService Reads tables, writes JSONL (optionally gzipped) plus a _manifest.json with per-file SHA-256 hashes
RestoreService Verifies hashes, decompresses gzip, writes back into Table Storage in Upsert / Merge / Clean modes
MergeService Combines multiple backup sets into one
RollupService Folds incrementals into a fresh full backup
IBackupSource / IBackupTarget Abstractions for plugging in non-filesystem stores
FileSystemBackupSource / FileSystemBackupTarget Default filesystem implementations
BackupManifest / TableBackupInfo The serialized manifest schema
BackupDefaults Default table list, every persistent Authagonal table, transient ones excluded
BackupOptions / RestoreOptions / RestoreMode Per-run configuration

See also

Packages

Package Description
Authagonal.Core Core models, interfaces, and abstractions
Authagonal.AzureProvider Azure Table Storage backend
Authagonal.Backup Backup/restore/merge/rollup library and CLI
Authagonal.Server Full auth server, endpoints, middleware, services, login UI
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.25.2 47 8/12/2026
0.24.0 113 8/7/2026
0.23.0 96 8/5/2026
0.22.1 99 8/4/2026
0.22.0 96 8/3/2026
0.21.0 94 7/30/2026
0.20.0 161 7/27/2026
0.19.0 102 7/27/2026
0.18.0 114 7/27/2026
0.17.5 89 7/27/2026
0.17.4 101 7/27/2026
0.17.3 105 7/27/2026
0.17.2 89 7/27/2026
0.17.1 92 7/26/2026
0.17.0 88 7/26/2026
0.16.5 89 7/26/2026
0.16.4 97 7/26/2026
0.16.3 96 7/26/2026
0.16.2 93 7/25/2026
0.16.1 104 7/25/2026
Loading failed