cCoder.AppSecurity 2026.8.1.146

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

cCoder.AppSecurity

cCoder.AppSecurity contains the App Security domain for the cCoder platform.

It owns application-level users, roles, privileges, and user-role links. SSO users and account tokens remain owned by cCoder.Security.

Local Configuration

Configuration binds directly into AppSecurityConfiguration. Leave secrets empty in appsettings and define AppSecurity__ConnectionString as a user-level or machine-level environment variable. The standalone hosts also bind SecurityConfiguration; its secrets use Security__ConnectionString and Security__DecryptionKey. Restart Visual Studio, select the Web and HostedServices startup projects, and press F5. No configuration conversion step is required.

Contents

  • src/cCoder.AppSecurity The main library package published to NuGet.
  • src/AppSecurity.Web The public API host for the App Security domain.
  • src/AppSecurity.HostedServices The background/event host for App Security maintenance and event handlers.
  • src/cCoder.AppSecurity.Tests Unit tests for the domain.
  • src/AppSecurity.AcceptanceTests Acceptance tests for the Web host.
  • src/AppSecurity.HostedServices.AcceptanceTests Acceptance tests for the Hosted Services host.

Responsibilities

AppSecurity creates and maintains app-local security state:

  • Apps and app domains.
  • App users.
  • Roles and privileges.
  • User-role links.
  • App usage analysis hosted service.
  • App-local cleanup driven by app delete events.

AppSecurity consumes cCoder.Security account lifecycle events, resolves the target app from the event request domain, and creates or updates the related app-local user and default role links. It does not send account emails and does not own SSO users or tokens.

Security account events consumed:

  • security_account_registration_created
  • security_account_registration_confirmed
  • security_account_invitation_created
  • security_account_invitation_accepted
  • security_account_password_reset_requested

Build

dotnet build src/cCoder.AppSecurity.slnx -v minimal

Test

dotnet test src/cCoder.AppSecurity.slnx -v minimal --no-build

Local Configuration

The runnable hosts read local secrets from environment variables rather than committed config.

Before running src/AppSecurity.Web or src/AppSecurity.HostedServices, set:

  • AppSecurity__ConnectionString
  • Security__ConnectionString
  • Security__DecryptionKey

The committed appsettings.json keeps these values blank so user or machine environment variables can supply them during local development.

AppSecurity.Web exposes /Health, the App Security API endpoints, and a small manual test UI at /.

AppSecurity.HostedServices exposes /Health plus /, which returns a plain-text report of hosted background services and event listeners.

When testing against a local cCoder.Security checkout, pass:

dotnet test src/cCoder.AppSecurity.slnx -v minimal /p:UseLocalSecurity=true

Package

The NuGet package produced by this repository is:

  • cCoder.AppSecurity

Publishing

GitHub Actions is configured to publish the main package using NuGet trusted publishing.

Before the first publish, configure a trusted publishing policy on nuget.org for:

  • Repository owner: ccoder-co-uk
  • Repository: cCoder.AppSecurity
  • Workflow file: publish.yml

The workflow also expects a NUGET_USER repository secret containing the nuget.org profile name used during trusted publishing login.

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 cCoder.AppSecurity:

Package Downloads
cCoder.Core

cCoder.Core

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.8.1.146 0 8/1/2026
2026.8.1.116 0 8/1/2026
2026.7.30.1717 66 7/30/2026
2026.7.30.1520 38 7/30/2026
2026.7.30.1150 37 7/30/2026
2026.7.30.53 54 7/29/2026
2026.7.29.222 121 7/29/2026
2026.7.28.1738 83 7/28/2026
2026.7.28.53 137 7/27/2026
2026.7.28.23 82 7/27/2026
2026.7.28.4 86 7/27/2026
2026.7.27.1914 93 7/27/2026
2026.7.26.1324 174 7/26/2026
2026.7.25.2145 157 7/25/2026
2026.7.24.38 237 7/23/2026
2026.7.22.841 149 7/22/2026
2026.7.21.1338 104 7/21/2026
2026.7.21.1322 91 7/21/2026
2026.7.21.1305 92 7/21/2026
2026.7.21.1037 90 7/21/2026
Loading failed