Every .NET project that touches the cloud eventually runs into the same problem: secret sprawl . You start with AWS Secrets Manager. Then a new service needs Azure Key Vault. Someone spins up a HashiCorp Vault. Before long, your codebase is littered with provider-specific SDKs, inconsistent error handling, and zero ability to swap providers without rewriting half your infrastructure code. I built SecretVault to fix this. One interface. Four providers. Zero lock-in. The Problem in Plain Code Here's what most codebases look like today: // Somewhere in your AWS service var awsClient = new AmazonSecretsManagerClient (); var response = await awsClient . GetSecretValueAsync ( new GetSecretValueRequest { SecretId = "prod/db-password" }); var secret = response . SecretString ; // Somewhere else, for Azure var kvClient = new SecretClient ( vaultUri , new DefaultAzureCredential ()); var azureSecret = await kvClient . GetSecretAsync ( "db-password" ); var value = azureSecret . Value .…