Pocok.Licensing 0.2.0-alpha.7

Prefix Reserved
This is a prerelease version of Pocok.Licensing.
dotnet add package Pocok.Licensing --version 0.2.0-alpha.7
                    
NuGet\Install-Package Pocok.Licensing -Version 0.2.0-alpha.7
                    
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="Pocok.Licensing" Version="0.2.0-alpha.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Pocok.Licensing" Version="0.2.0-alpha.7" />
                    
Directory.Packages.props
<PackageReference Include="Pocok.Licensing" />
                    
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 Pocok.Licensing --version 0.2.0-alpha.7
                    
#r "nuget: Pocok.Licensing, 0.2.0-alpha.7"
                    
#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 Pocok.Licensing@0.2.0-alpha.7
                    
#: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=Pocok.Licensing&version=0.2.0-alpha.7&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Pocok.Licensing&version=0.2.0-alpha.7&prerelease
                    
Install as a Cake Tool

Pocok.Licensing

Offline-first licensing primitives for .NET 10 applications.

services.AddPocokLicensing(options =>
{
    options.LicensePath = "license.pocok";
    options.TrustedPublicKeyFiles["production-2026"] = "license-public.pem";
});

ILicenseService licenses = provider.GetRequiredService<ILicenseService>();
LicenseValidationResult result = await licenses.RefreshAsync(cancellationToken: cancellationToken);
licenses.Demand("Export");

Licenses are canonical JSON claims signed with ECDSA P-256. Applications receive public keys only. Optional PBKDF2-SHA256 plus AES-256-GCM wrapping hides license contents but never replaces signature verification. Claims support modules, inclusive start and exclusive end dates, maximum process runtime, machine fingerprints, and a license-scoped pre-shared-key digest.

Registration and Validate perform no license-file I/O. RefreshAsync reads license and public-key files with cancellation; subsequent validation is synchronous and safe for concurrent callers. Before the first refresh, validation returns Missing. Expected rejection returns LicenseValidationResult; Demand converts a failed result into LicenseException.

The package is an offline deterrent, not an unbreakable DRM boundary. Keep private signing keys outside client deployments and place operation-level demands near valuable work. See docs/licensing.md for the complete workflow, threat model, security semantics, machine identity behavior, migration notes, and release gate.

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 (1)

Showing the top 1 NuGet packages that depend on Pocok.Licensing:

Package Downloads
Pocok.AppDefaults.Licensing

Configuration-driven startup and periodic enforcement defaults for Pocok.Licensing.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.0-alpha.7 55 7/20/2026
0.2.0-alpha.6 57 7/20/2026
0.2.0-alpha.5 51 7/18/2026