Skip to content

Granit .NET 10

Solid by design,
modular by nature.

A modular .NET 10 framework — orchestrate auth, persistence, messaging, and 131+ more modules effortlessly. No boilerplate, no rewrites, no limits.

Granit framework layers: Core, Persistence, Messaging, Documents, Observability

Free and open source

Granit is Apache-2.0 licensed, GDPR & ISO 27001 ready out of the box. Build production apps on a framework designed for compliance from day one.

Why developers choose Granit

Topological dependency resolution, lifecycle hooks, and conditional modules. Pick what you need — the graph resolves automatically.

EF Core interceptors for audit trails, soft delete, and entity versioning. Zero manual WHERE clauses, ever.

JWT + Keycloak/Entra ID/Cognito authentication, policy-based authorization, Vault integration, and GDPR privacy helpers.

Serilog + OpenTelemetry deliver logs, traces, and metrics automatically — debug faster with zero setup.

Shared database, schema-per-tenant, or database-per-tenant. Transparent query filters, no code changes.

Wolverine message bus with transactional outbox, webhooks, and a 6-channel notification engine.

Pick your modules, see the code

Toggle the modules you need — the code updates in real time. Each module declares its dependencies. Granit resolves the graph automatically.

[DependsOn(typeof(GranitPersistenceModule))]
[DependsOn(typeof(GranitSecurityModule))]
[DependsOn(typeof(GranitObservabilityModule))]
public class AppModule : GranitModule
{
    public override void ConfigureServices(
        ServiceConfigurationContext context)
    {
        context.Services.AddGranitDbContext<AppDbContext>(
            options => options.UseNpgsql(
                context.Configuration
                    .GetConnectionString("Default")));

        context.Services.AddGranitAuthentication()
            .AddKeycloak(context.Configuration);

        context.Services.AddGranitObservability(
            context.Configuration);
    }
}
var builder = WebApplication.CreateBuilder(args);

builder.AddGranit<AppModule>();

var app = builder.Build();
app.UseGranit();
app.Run();

Compliance built in, not bolted on

Every module is designed with GDPR and ISO 27001 in mind. Audit trails, encryption, right to erasure, tenant isolation — architectural constraints, not afterthoughts.

GDPR
Art. 17, 18, 25
ISO 27001
Annex A
Apache-2.0
Open Source

Ready to build on solid ground?

Start with the getting started guide, explore the module reference, or dive into the architecture decisions that shaped Granit.

Made with ❤️ in Belgium (Europe)