aedis
Open source · Apache-2.0 · .NET 10 LTS · Preview

The .NET framework whose security you can prove.

Secure-by-construction building blocks for domain-driven, event-driven services, shipped with the evidence your auditor will ask for.

Your first API

The template generates a four-layer API with the secure host, tests, Dockerfile and CI already wired. Authentication fails closed; security headers, rate limiting, problem details and OpenTelemetry come from the base class.

Terminal
dotnet new install Aedis.Templatesdotnet new aedis-api -n Shopcd Shop && dotnet test
ApiHost.cs
public sealed class ApiHost : AedisApiHost{    protected override void ConfigureAuthentication(        IServiceCollection services, IConfiguration config) =>        services.AddAedisKeycloakAuth(config);}

20 controls, each one mapped

Every control names where it lives in the code and what it answers in OWASP Top 10, NIST CSF 2.0, ISO/IEC 27001:2022 Annex A.8 and MITRE ATT&CK. Source: docs/SECURITY-COMPLIANCE.md (external site).

#ControlOWASP 2021NIST CSF 2.0ISO 27001 A.8MITRE ATT&CK
1Security headers (CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy, COOP/CORP)SecurityHeadersMiddlewareA05PR.PSA.8.9, A.8.23M1050 · T1185, T1059.007
2HSTS and HTTPS redirectionHttpsOptionsA02PR.DS-02A.8.24M1041 · T1557, T1040
3Rate limiting per client (user or IP)RateLimitingOptionsA04, A07PR.PS, DE.CMA.8.6, A.8.20M1036 · T1110, T1499
4Host header protectionHostHeaderProtectionMiddlewareA05PR.PSA.8.20, A.8.23T1190
5Trusted forwarded headers (real client IP and scheme)ForwardedHeadersHardeningOptionsA05PR.PSA.8.20T1090
6Kestrel hardening (body and header limits, timeouts, no Server header)KestrelHardeningOptionsA05PR.PSA.8.9M1037 · T1499, T1592
7Safe errors as ProblemDetails (no stack trace or internal message)GlobalExceptionHandlingMiddlewareA05, A09PR.PS, DE.CMA.8.8T1592, T1210
8Input validation answered with 422AddAedisApiValidationA03PR.PSA.8.26, A.8.28T1190, T1059
9Fail-closed authentication gate: refuses to start insecure outside DevelopmentAedisApiHostA01, A07PR.AAA.8.5, A.8.26M1035 · T1078
10Deny-by-default authorization (the fallback policy requires an authenticated user)AedisApiHostA01PR.AA-05A.8.3, A.8.5M1018, M1026 · T1078
11JWT validation (issuer, audience, lifetime; claims preserved)Aedis.Security.KeycloakA07PR.AA-03A.8.5T1550.001
12Structured logging, OTLP telemetry and audit contextAedis.Observability.*, IAuditContextA09DE.CM, DE.AEA.8.15, A.8.16M1047 · detects T1110, T1078
13Graceful shutdown (drains requests, releases resources)Aedis.DiagnosticsA04PR.PS, RC.RPA.8.14—
14No OpenAPI documentation by default: opt-in package, mapped only in Development by the templateMapAedisOpenApi, MapAedisScalarA05PR.PSA.8.9T1592
15Deterministic build, central package management with fixed versions, vulnerable transitive overridesDirectory.*.propsA06, A08ID.RA, PR.PSA.8.8, A.8.29, A.8.30T1195
16HTTPS-aware response compression (BREACH trade-off documented)AedisApiHost————
17Brute-force guard per credential with three configurable lockout tiers, keyed by target rather than IPIBruteForceGuardA07PR.AA, DE.CMA.8.5M1036 · T1110, T1110.003
18Token revocation: distributed denylist by jti or by user, abuse guard and admin endpointITokenDenylist, ITokenRevocationA07, A01PR.AA-01, RS.MIA.8.5M1018 · T1528, T1550.001
19Memory-safe managed code (no unsafe, no stackalloc); runtime ASLR, DEP, CFG and CET; opt-in AOT hardeningAedis.BuildA06PR.PSA.8.28M1050 · T1203
20SSRF protection on outbound HTTP: internal and metadata addresses refused at connect time, immune to DNS rebindingSsrfPolicy (Aedis.Http)A10PR.PS, PR.ACA.8.20, A.8.23T1552.005, T1090, T1046

No library covers the organizational side: ISMS, policies, risk management, incident response. Aedis says so in the matrix and stops there: TLS, secret rotation, cluster hardening and backups stay with the operator.

What are you building?

Aedis .NET

An API or a worker

.NET packages: secure host, ports and adapters, messaging, secrets, signing. Moving cloud, broker or database is a package swap.

aedis-dotnet on GitHub (external site)
Aedis UI

A screen

UI components from a shadcn-style registry. You copy the code into your app and own it.

aedis-ui on GitHub (external site)
Aedis Platform

The delivery pipeline

Platform: conformance levels L1 to L3 and a policy-based merge gate for your repositories.

aedis-platform on GitHub (external site)