PulseTrade.Comm.ACL.Core
0.1.0-alpha2
dotnet add package PulseTrade.Comm.ACL.Core --version 0.1.0-alpha2
NuGet\Install-Package PulseTrade.Comm.ACL.Core -Version 0.1.0-alpha2
<PackageReference Include="PulseTrade.Comm.ACL.Core" Version="0.1.0-alpha2" />
<PackageVersion Include="PulseTrade.Comm.ACL.Core" Version="0.1.0-alpha2" />
<PackageReference Include="PulseTrade.Comm.ACL.Core" />
paket add PulseTrade.Comm.ACL.Core --version 0.1.0-alpha2
#r "nuget: PulseTrade.Comm.ACL.Core, 0.1.0-alpha2"
#:package PulseTrade.Comm.ACL.Core@0.1.0-alpha2
#addin nuget:?package=PulseTrade.Comm.ACL.Core&version=0.1.0-alpha2&prerelease
#tool nuget:?package=PulseTrade.Comm.ACL.Core&version=0.1.0-alpha2&prerelease
PulseTrade.Comm.ACL.Core
PulseTrade.Comm.ACL.Core is the package-level authorization contract for PTC/PTCS/GW/RN services.
It owns:
- principal / credential / action / resource vocabulary
- fCell2-facing config DTO and strict decoder
- deterministic policy evaluator
- deployment profile and route manifest validation
- audit DTO redaction helpers
- token/session metadata validation shared with
PulseTrade.Comm.Login.Core
It does not depend on PTCS, WebSharper, Suave, ASP.NET Core, GW.Host, RN.Host, or Akka runtime.
authenticated and authorized are intentionally separate concepts:
- authenticated means a browser session, bearer token, OAuth session, or service credential resolved to an
AclPrincipal - authorized means that principal received explicit
Allowfor the currentaction + resource - command/write paths must default deny when ACL is enabled
API Surface
AclPolicyConfig/AclFCell2.decodePolicySnapshotload fCell2-facing ACL configuration.AclPolicyEvaluator.evaluatereturnsAllowed,Denied,Challenge,ExpiredCredential, orMisconfiguredPolicy.AclRouteManifestEntry.validateis the host-side route gate manifest contract.AclGatewayForwardingSecurity.validatecaptures SSRF allowlist and private-IP block requirements for forwarding routes.AclAudit.createredacts secret-like attributes before audit persistence.
Verification
dotnet build .\Libs\PulseTrade.Comm\tests\PulseTrade.Comm.ACL.Tests\PulseTrade.Comm.ACL.Tests.fsproj -c Debug
dotnet run --project .\Libs\PulseTrade.Comm\tests\PulseTrade.Comm.ACL.Tests\PulseTrade.Comm.ACL.Tests.fsproj -c Debug --no-build
Latest recorded result: 33/33 passed on 2026-06-30.
| Product | Versions 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. |
-
net10.0
- FSharp.Core (>= 10.1.301)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on PulseTrade.Comm.ACL.Core:
| Package | Downloads |
|---|---|
|
PulseTrade.Comm.Login.Core
PulseTrade Comm Login core authentication workflow, opaque token/session lifecycle, and Akka message contracts. |
|
|
PulseTrade.Comm.Spa.ACL
Open PTCS ACL extension facade for PulseTrade.Comm.Spa. |
|
|
PulseTrade.Comm.Spa.Login
Open PTCS Login extension facade for PulseTrade.Comm.Spa. |
|
|
PulseTrade.Comm.ACL.SqlServer
PulseTrade Comm ACL SQL Server policy snapshot provider. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha2 | 146 | 6/30/2026 |
| 0.1.0-alpha1 | 47 | 6/30/2026 |