MagicControl.Client 0.1.0-alpha.1

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

MagicControl

MagicControl is a lightweight application control plane for managing users, application identities, Mesh API enrollment, service discovery, cached authorization, and MagicSettings configuration distribution.

MagicControl.Client

MagicControl.Client is the application-side NuGet package. It initializes MagicSettings, maintains the application's MagicControl identity, discovers ordinary applications directly on the LAN, refreshes signed group manifests in the background, authorizes peer requests from local cached state, and resolves known service instances without placing the Mesh API in the request path.

Install the package:

dotnet add package MagicControl.Client

Register MagicSettings and MagicControl together during startup:

var magicControl = await builder.AddMagicControlClientAsync<MyApplicationSettings>(
    args,
    configureSettings: settings =>
    {
        settings.ApplicationId = "Orders";
        settings.Template = new MyApplicationSettings();
    },
    configureClient: client =>
    {
        client.GroupId = Guid.Parse("00000000-0000-0000-0000-000000000000");
        client.ApplicationName = "Orders";
        client.AdvertiseEndpoint("https://orders.local:7443", isLan: true);
    });

if (magicControl.ShouldExit)
{
    return;
}

A Mesh URL is optional. Before an application has accepted a signed Secured policy, MagicControl-protected endpoints remain open and direct LAN peers are available as identity-verified routes. Approval can switch the running application to secured behavior without a restart.

Once secured, the client writes a non-secret sticky security marker. Outages, missing manifests, expired leases, restarts, or corrupt ordinary cache files cannot reopen the application or restore identity-only routing. Only a successfully validated authority manifest explicitly publishing Open may clear that latch.

Applications can protect ASP.NET Core endpoints with [RequireMagicControlMember] or [RequireMagicControlCapability("capability.name")]. IMagicControlAuthorizationService is available for manual authorization, and IMagicControlServiceResolver combines signed directory entries with directly discovered application peers.

Offline trust is infinite by default. A secured group may instead configure a finite offline trust period from the MagicControl Web control pane; expiration remains fail-closed.

Current foundation

  • SQLite by default with optional PostgreSQL.
  • First-run creation of a fixed admin primary account with no default password.
  • Permanent protection against disabling or demoting the primary administrator.
  • Cookie authentication, forced password changes, and local-only administrator recovery.
  • User, role, enrollment, managed-instance, and group-policy administration.
  • Signed application and Mesh API enrollment using MagicSettings node identities.
  • Automatic Mesh discovery plus direct application-to-application LAN discovery.
  • Signed multi-group manifests and encrypted last-known-good caches.
  • Sticky open-to-secured runtime transitions that never downgrade during outages.
  • Open directory discovery and secured-only distributed settings.
  • Local cached peer authentication and capability authorization.
  • Audit records and health checks.

MagicControl Web remains the durable control-plane authority. The Mesh API distributes and caches signed state but is not a required application traffic proxy.

See docs/client-platform.md, docs/foundation.md, and docs/mesh-architecture.md for setup, security, and architecture details.

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.1.0-alpha.1 52 7/20/2026