Granit is cloud-agnostic by design. Each module defines provider-neutral abstractions
(IIdentityProvider, IBlobStorageProvider, IEncryptionService, etc.) and ships
dedicated provider packages for major cloud platforms. Switch providers by changing
a single NuGet reference and DI registration — no application code changes needed.
Note
This page covers the three major cloud providers (AWS, Azure, Google Cloud).
Other providers (Keycloak, HashiCorp Vault, Brevo, etc.) are documented in
their respective module pages — see Provider Compatibility
for the full matrix.
Domain AWS Azure Google Cloud Alibaba Cloud Authentication ✓ ✓ ✓ planned Identity ✓ ✓ ✓ planned Vault / Encryption ✓ ✓ ✓ planned Blob Storage ✓ ✓ ✓ planned Notifications — Email ✓ ✓ ✗ planned Notifications — SMS ✓ ✓ ✗ planned Notifications — Mobile Push ✓ ✓ ✓ planned Total packages 7 7 5 0
// Program.cs — AWS provider stack
builder . AddGranitAuthenticationCognito ();
builder . AddGranitIdentityCognito ();
builder . AddGranitVaultAws ();
builder . AddGranitBlobStorageS3 ();
builder . AddGranitNotificationsEmailAwsSes ();
builder . AddGranitNotificationsSmsAwsSns ();
builder . AddGranitNotificationsMobilePushAwsSns ();
// Program.cs — Azure provider stack
builder . AddGranitAuthenticationEntraId ();
builder . AddGranitIdentityEntraId ();
builder . AddGranitVaultAzure ();
builder . AddGranitBlobStorageAzureBlob ();
builder . AddGranitNotificationsEmailAzureCommunicationServices ();
builder . AddGranitNotificationsSmsAzureCommunicationServices ();
builder . AddGranitNotificationsMobilePushAzureNotificationHubs ();
// Program.cs — Google Cloud provider stack
builder . AddGranitAuthenticationGoogleCloud ();
builder . AddGranitIdentityGoogleCloud ();
builder . AddGranitVaultGoogleCloud ();
builder . AddGranitBlobStorageGoogleCloud ();
builder . AddGranitNotificationsMobilePushGoogleFcm ();
Amazon Web Services packages use the official AWS SDK for .NET.
Package Module What it does Granit.Authentication.CognitoAuthentication JWT validation + claims transformation for Cognito User Pools Granit.Identity.CognitoIdentity IIdentityProvider via Cognito User Pool Admin APIGranit.Vault.AwsVault IEncryptionService via AWS KMS + dynamic credentials via Secrets ManagerGranit.BlobStorage.S3Blob Storage IBlobStorageProvider via S3-compatible API (also works with MinIO, Scaleway, etc.)Granit.Notifications.Email.AwsSesNotifications IEmailSender via Amazon Simple Email ServiceGranit.Notifications.Sms.AwsSnsNotifications ISmsSender via Amazon SNSGranit.Notifications.MobilePush.AwsSnsNotifications IMobilePushSender via Amazon SNS platform applications
See also:
Identity —
Vault & Encryption —
Blob Storage —
Notifications
Microsoft Azure packages use DefaultAzureCredential for authentication
(Managed Identity, Azure CLI, etc.).
Package Module What it does Granit.Authentication.EntraIdAuthentication JWT validation + claims transformation for Microsoft Entra ID (Azure AD) Granit.Identity.EntraIdIdentity IIdentityProvider via Microsoft Graph APIGranit.Vault.AzureVault IEncryptionService via Azure Key VaultGranit.BlobStorage.AzureBlobBlob Storage IBlobStorageProvider via Azure Blob StorageGranit.Notifications.Email.AzureCommunicationServicesNotifications IEmailSender via Azure Communication ServicesGranit.Notifications.Sms.AzureCommunicationServicesNotifications ISmsSender via Azure Communication ServicesGranit.Notifications.MobilePush.AzureNotificationHubsNotifications IMobilePushSender via Azure Notification Hubs
See also:
Identity —
Vault & Encryption —
Blob Storage —
Notifications
Google Cloud packages use Application Default Credentials (ADC) or service account
JSON keys.
Package Module What it does Granit.Authentication.GoogleCloudAuthentication JWT validation + claims transformation for Google Cloud Identity Platform (Firebase Auth) Granit.Identity.GoogleCloudIdentity IIdentityProvider via Firebase Admin SDKGranit.Vault.GoogleCloudVault IEncryptionService via Cloud KMS + dynamic credentials via Secret ManagerGranit.BlobStorage.GoogleCloudBlob Storage IBlobStorageProvider via Google Cloud StorageGranit.Notifications.MobilePush.GoogleFcmNotifications IMobilePushSender via Firebase Cloud Messaging
See also:
Identity —
Vault & Encryption —
Blob Storage —
Notifications
Planned
Alibaba Cloud provider packages are planned but not yet implemented. Alibaba Cloud
offers mature equivalents for all domains: RAM/IDaaS (identity), KMS (encryption),
OSS (S3-compatible storage), DirectMail (email), SMS Service, and Push Notifications.
Contributions welcome — see CONTRIBUTING.md .
Domain Alibaba Cloud service Status Authentication IDaaS planned Identity RAM + IDaaS planned Vault / Encryption KMS planned Blob Storage OSS (S3-compatible) planned Notifications — Email DirectMail planned Notifications — SMS Short Message Service planned Notifications — Mobile Push Push Notifications planned
In addition to cloud-specific packages, Granit offers providers that work with any
cloud platform:
Package Channel(s) Service Granit.Notifications.BrevoEmail + SMS + WhatsApp Brevo (formerly Sendinblue) Granit.Notifications.Email.ScalewayEmail Scaleway TEM (sovereign EU) Granit.Notifications.Email.SendGridEmail SendGrid (Twilio) Granit.Notifications.TwilioSMS + WhatsApp Twilio Messaging Granit.Notifications.Email.SmtpEmail Any SMTP server Granit.Notifications.WebPushWeb Push VAPID (standard) Granit.Notifications.SignalRReal-time SignalR (WebSocket)
Capability AWS (Cognito) Azure (Entra ID) Google Cloud Alibaba Cloud JWT validation ✓ ✓ ✓ planned Claims transformation ✓ ✓ ✓ planned User CRUD ✓ ✓ ✓ planned Role management ✓ ✓ ✓ (custom claims) planned User cache sync ✓ ✓ ✓ planned Health check ✓ ✓ ✓ planned
Capability AWS KMS Azure Key Vault Google Cloud KMS Alibaba Cloud KMS Encrypt / Decrypt ✓ ✓ ✓ planned Dynamic DB credentials ✓ ✗ ✓ planned Secret storage ✓ ✓ ✓ planned Key rotation ✓ ✓ ✓ planned Tenant-isolated keys ✓ ✓ ✓ planned Health check ✓ ✓ ✓ planned
Capability AWS S3 Azure Blob Google Cloud Storage Alibaba Cloud OSS Presigned upload ✓ ✓ ✓ planned Presigned download ✓ ✓ ✓ planned Tenant isolation ✓ ✓ ✓ planned Health check ✓ ✓ ✓ planned
Channel AWS Azure Google Cloud Alibaba Cloud Email ✓ (SES) ✓ (ACS) ✗ planned SMS ✓ (SNS) ✓ (ACS) ✗ planned Mobile Push ✓ (SNS) ✓ (ANH) ✓ (FCM) planned