{"id":15214461,"url":"https://github.com/sidestep-labs/azurekeyvaultexplorer","last_synced_at":"2026-01-18T13:01:46.842Z","repository":{"id":238776649,"uuid":"593706186","full_name":"sidestep-labs/AzureKeyVaultExplorer","owner":"sidestep-labs","description":"Azure Key Vault Explorer — a cross platform GUI desktop application for aggregating secrets (and keys and certificates) in Azure Key Vault","archived":false,"fork":false,"pushed_at":"2025-04-02T21:07:31.000Z","size":12647,"stargazers_count":73,"open_issues_count":20,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T15:03:30.225Z","etag":null,"topics":["avaloniaui","azure","azure-key-vault","azurekeyvault","cross-platform","dotnet","fluentdesign","gui","keyvault","linux","macos","net9","ubuntu","windows","winui","xaml"],"latest_commit_sha":null,"homepage":"https://apps.microsoft.com/detail/9mz794c6t74m?rtc=1\u0026hl=en-us\u0026gl=US\u0026cid=github\u0026gl=US","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sidestep-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-26T16:55:03.000Z","updated_at":"2025-04-02T21:07:35.000Z","dependencies_parsed_at":"2024-05-17T12:28:27.007Z","dependency_job_id":"652331bd-6515-4181-9653-52736b14ad45","html_url":"https://github.com/sidestep-labs/AzureKeyVaultExplorer","commit_stats":{"total_commits":87,"total_committers":3,"mean_commits":29.0,"dds":0.4252873563218391,"last_synced_commit":"cb82df609e0c888d5dce1c48f4cbcfd95b5511bd"},"previous_names":["cricketthomas/keyvaultexplorer","cricketthomas/azurekeyvaultexplorer","sidestep-labs/azurekeyvaultexplorer"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidestep-labs%2FAzureKeyVaultExplorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidestep-labs%2FAzureKeyVaultExplorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidestep-labs%2FAzureKeyVaultExplorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sidestep-labs%2FAzureKeyVaultExplorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sidestep-labs","download_url":"https://codeload.github.com/sidestep-labs/AzureKeyVaultExplorer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055276,"owners_count":21040156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avaloniaui","azure","azure-key-vault","azurekeyvault","cross-platform","dotnet","fluentdesign","gui","keyvault","linux","macos","net9","ubuntu","windows","winui","xaml"],"created_at":"2024-09-28T10:05:28.699Z","updated_at":"2026-01-18T13:01:46.834Z","avatar_url":"https://github.com/sidestep-labs.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"280\" align=\"center\" src=\"/KeyVaultExplorer/Assets/AppIcon.png\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e\n  Azure Key Vault Explorer\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  Find Key Vaults in Azure faster.\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"https://apps.microsoft.com/detail/9mz794c6t74m?cid=github_readme\u0026mode=direct\"\u003e\n      \u003cimg src=\"https://get.microsoft.com/images/en-us%20light.svg\" width=\"200\"/\u003e\n   \u003c/a\u003e\n\u003c/p\u003e\n \u003cp style=\"display: block\" align=\"center\"\u003e\n \t\u003csup\u003eNamed 'Key Vault Explorer' in the Microsoft Store.\u003c/sub\u003e\n \u003c/p\u003e\n\n    \n## Overview\nVisit the releases section to download the application. *Still in active development but in a usable state*\n\n**Key Vault Explorer** is a lightweight tool with the idea to simplify finding and accessing secrets (and certificates and keys) stored in Azure Key Vault, providing a interface for aggregating, filtering, and quickly getting secret values. The app was inspired by the original [AzureKeyVaultExplorer](https://github.com/microsoft/AzureKeyVaultExplorer) with the goal to eventually bring some more feature parity but first brining the application to macOS.\n\n### Key features\n\n- Signing in with a Microsoft Account [See how credentials are secured](#security)\n- Support to selectively include/exclude subscriptions to show resource groups and key vaults in the tree\n- Ability to filter subscriptions, resource groups, and key vaults by name\n- Saving vaults to \"pinned\" section in quick access menu and saving selected subscriptions in SQLite\n- Copy secrets to the clipboard using Control+C\n- Automatic clearing of clipboard values after a set amount of time (configurable up to 60 seconds)\n- Viewing details and tags about values\n- Filtering and sorting of values\n- Viewing last updates and next to expire values\n- Downloading and saving .pfx and .cer files\n\n### Privacy Features\n- **No telemetry or logs collected**\n- SQLite Database encryption using DPAPI and KeyChain on Mac\n  \n\n# Security\n\nThe authentication and credentials storage uses [Microsoft.Identity.Client.Extensions.Msal](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet) library are encrypted and stored with DPAPI on windows, and the keychain on macOS (you may be prompted multiple times to grant rights).\nThe security is pulled directly from this document: https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet/wiki/Cross-platform-Token-Cache#configuring-the-token-cache\n\nThe SQLite database is encrypted using DPAPI on windows, and on macOS the password  in the keychain.\n\n## Screenshots\n\n\n\u003cimg width=\"1419\" alt=\"WinOSDark\" src=\"https://github.com/user-attachments/assets/9b26fafb-e2b7-4f03-880c-4653fbcf0903\"\u003e\n\u003cimg width=\"1419\" alt=\"WinOSLight\" src=\"https://github.com/cricketthomas/AzureKeyVaultExplorer/assets/15821271/1f5e1a5b-1796-43c1-bbd9-1ee60e3deeb0\"\u003e\n\n\u003cimg width=\"1419\" alt=\"MacDark\" src=\"https://github.com/cricketthomas/KeyVaultExplorer/assets/15821271/365cea71-2a68-4cab-997c-2631922e7bc6\"\u003e\n\u003cimg width=\"1426\" alt=\"MacLight\" src=\"https://github.com/cricketthomas/KeyVaultExplorer/assets/15821271/41793cfa-eb01-4954-b062-56072d19d5ea\"\u003e\n\n\u003cimg width=\"1426\" alt=\"linuxDark\" src=\"https://github.com/user-attachments/assets/80d7b240-b94c-45e9-9dde-00ef190d4b8e\"\u003e\n\u003cimg width=\"1426\" alt=\"linuxLight\" src=\"https://github.com/user-attachments/assets/798511de-1491-4a87-b4ea-613fb25f68b9\"\u003e\n\n\u003cimg width=\"400\" alt=\"Light\" src=\"https://github.com/user-attachments/assets/ed0b7919-666d-4f03-a09a-c6763fe2ca1d\"\u003e\n\u003cimg width=\"400\" alt=\"Light\" src=\"https://github.com/user-attachments/assets/87823029-e98d-4f4b-91d3-b7ea78f934ae\"\u003e\n\u003cimg width=\"400\" alt=\"Light\" src=\"https://github.com/user-attachments/assets/d33521b6-effd-4a51-b0c5-161feac56ffe\"\u003e\n\u003cimg width=\"400\" alt=\"Light\" src=\"https://github.com/user-attachments/assets/ec1c614d-5de1-47c4-97ce-20c0246690ea\"\u003e\n\n\n## Running the application:\n\nYou will need the latest version of the .NET 8 SDK, and Visual Studio 2022 (this can be downloaded from the Microsoft Store).\n\nClone the project, open the `.\\AzureKeyVaultExplorer` directory and open the solution file called \"kv.sln\" or \"kv.slnx\". \n\n\n# Installing / building from source:\n### Get it from the Microsoft store!\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://apps.microsoft.com/detail/9mz794c6t74m?rtc=1\u0026hl=en-us\u0026gl=US\u0026cid=github\u0026gl=US\"\u003e\n    \u003cimg src=\"https://get.microsoft.com/images/en-us%20light.svg\" width=\"200\" alt=\"Download\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### Or get it from winget!\n```pwsh\nwinget search \"Key Vault Explorer\" --source msstore\nwinget install \"Key Vault Explorer\" --source msstore\n```\n\n## Using your own client id / application Id (your own enterprise application):\n### This requires the check box to be selected, and a valid client id.\n- Create an Enterprise application in your Azure AD/Entra tenant:\n  \n![image](https://github.com/user-attachments/assets/c72875a5-ef34-4157-8b2a-bed9f14b4b55)\n\n![image](https://github.com/user-attachments/assets/e0e90e41-c649-4b4a-80a7-74c897ace4bb)\n\n- Select a tenant auth type:\n  \n![image](https://github.com/user-attachments/assets/f92a9f0b-a6cc-4e47-8f95-a9043e07bf50)\n - Then navigate to \"App Registrations\" and go to the \"Manage \u003e Authentication\" page:\n![image](https://github.com/user-attachments/assets/dadf5b96-6364-41f8-8e2f-e4ea9855c39a)\n- Select Desktop + Devices and add the following, you need to check the following boxes and add `http://localhost` as a custom uri\n![image](https://github.com/user-attachments/assets/3b150988-a189-4429-b29b-b4d4723d6a9e)\n- Add mac redirect uri's:\n![image](https://github.com/user-attachments/assets/43819626-1e95-4de7-8f75-5180761c6eb1)\n- Navigate to the API Permissions section and add the following permissions, you may need an admin to grant consent:\n![image](https://github.com/user-attachments/assets/c20b5e9a-ac23-4710-bc15-a4c5dd9e843e)\n- You or and admin will have to grant consent to your own application if not granted already.\n  \n![image](https://github.com/user-attachments/assets/8845b9fd-5fed-42a2-bd47-0ab06575c1f0)\n- Open the app and update the client Id in the settings page, then restart the app:\n  \n![image](https://github.com/user-attachments/assets/87d75793-5c95-488e-b4d4-20af6b5f46bb)\n- Upon restart you'll see something similar to this:\n  \n![image](https://github.com/user-attachments/assets/3913632e-0f39-435e-a285-e3ec42975132)\n\n- Then the app should work as normal under your own identity and your own tenant's enterprise application.\n\n\n## First time installs in Azure Tenant (Using default clientId):\n\nPlease follow this Microsoft learn article if you encounter this error: https://learn.microsoft.com/en-us/answers/questions/1393470/azure-enterprise-apps-missing-a-permission-listed\n\u003cp align=\"left\"\u003e\n\u003cimg width=\"450\" src=\"https://github.com/user-attachments/assets/8bc44343-ff85-41a6-a2d3-63f3c0db2301\"\u003e\n\u003c/p\u003e\nYour Azure tenant global admin will have to consent via this URL: \n\n `https://login.microsoftonline.com/{the id of your customer tenant}/adminconsent?client_id={client id}` \n\n\n### You can also download from the release section for exe and macOS versions: https://github.com/cricketthomas/AzureKeyVaultExplorer/releases \nIf downloaded from this section, you will need to follow this guide to run the app: https://github.com/cricketthomas/AzureKeyVaultExplorer/discussions/67#discussioncomment-10014603\n\n\nInstall the latest .NET 8 SDK: https://dotnet.microsoft.com/en-us/download/dotnet\n\n1. Open PowerShell 7+ (on windows, Linux and mac, or zsh on mac)\n\n2. `cd c:\\repos` (choose the folder of your choice)\n\n3. `git clone https://github.com/cricketthomas/AzureKeyVaultExplorer.git` (to clone/download the sources)\n\n4. `cd AzureKeyVaultExplorer` (to get into the freshly cloned repo)\n\n5. `.\\build.ps1 -RunBuild -Platform net8.0 -Runtime win-x64` (other platforms include win-arm64, osx-x64, osx-arm64, linux-x64). \n\u003cstrong\u003eTo build a self contained `.exe` please run `.\\build.ps1 -Runtime win-x64 -PublishAot:$false`, you can ignore the `.pdb` files. \u003c/strong\u003e\n\nIf you get an error message stating \"Platform linker not found\" when building on Windows, please ensure you have all the required prerequisites documented at https://aka.ms/nativeaot-prerequisites, in particular the Desktop Development for C++ workload in Visual Studio. \n\nOpen the Visual Studio Installer, Modify, install Desktop Development for C++\n\u003cimg width=\"800\" src=\"https://github.com/user-attachments/assets/867c043e-ba41-4b3e-bc68-5ef2c56f2cff\"/\u003e\n\n\nFor ARM64 development also install C++ ARM64 build tools. \n\u003cimg width=\"600\" src=\"https://github.com/user-attachments/assets/0ddb7ef8-1378-4258-af50-d877093f121a\"/\u003e\n\n\n\nRepeat step 5. The build starts and might take a couple of minutes. The final output looks something like this: `Desktop -\u003e C:\\Repos\\AzureKeyVaultExplorer\\publish\\`\n\n6. Open that folder in Windows Explorer and run `keyvaultexplorerdesktop.exe`. On macOS, a `Key Vault Explorer.app` mac os package will be generated in the publish directory. Move this to \"Applications\", you will have to force open the app using System Preferences, and click \"Open anyway\".\n\n7. It will launch your default browser window and prompt you to login and grant consent. \n### Notes: \nThe app is now verified as I am member of the Microsoft Partner Program. \n\u003cp align=\"left\"\u003e\n   \u003cimg width=\"400\" src=\"https://github.com/user-attachments/assets/1e7e802f-cabf-481c-8f39-b78875772ffd\"/\u003e\n\u003c/p\u003e\n\nWhen you run it for the first time, it creates an enterprise application in your tenant. \nPlease contact your Azure tenant admin to make sure the application has been consented for use. \nOtherwise you will get an error message, see the \"[First time installs in Azure Tenant:](https://github.com/sidestep-labs/AzureKeyVaultExplorer/edit/master/README.md#first-time-installs-in-azure-tenant)\" section\n\u003cimg src=\"https://github.com/user-attachments/assets/f1d093d6-8e4c-4c70-b917-bc62d030b6b2\"/\u003e\n\nAlternatively, you create an enterprise application with the following permissions, then you can modify the clientId in the `Constants.cs` file to your newly created app that is hosted in your own tenant.\n\u003cimg  src=\"https://github.com/user-attachments/assets/e17754a6-728e-490b-ad74-8e87e895387a\"/\u003e\n\n\u003csup\u003eThank you to reddit user AzureToujours for helping with the readme.\u003c/sub\u003e\n\n\n## Installer\n\n\u003cimg src=\"https://www.masterpackager.com/media/site/img/icon_blue.svg\" width=\"100\"/\u003e\n\nInstaller built with: [Master Packager Dev](https://www.masterpackager.com/masterpackagerdev/)\n\n## Troubleshooting\nThe folder where all app associated data like the database and other encrypted files is `/Users/YOUR_USER_NAME/Library/Application Support/KeyVaultExplorer/` on macOS\nand `C:\\Users\\YOUR_USER_NAME\\AppData\\Local\\KeyVaultExplorer` on Windows.\nIf you're facing trouble, I recommend deleting all files in the directory. On macOS, i also recommend opening the key chain and deleting everything that begins with \"keyvaultexplorer_\".\n\nWhen downloading on windows, you may have to click properties on the exe/application file and check the \"unblock\" checkbox to allow running the application on the machine if you get a messages saying the app needs another app from the microsoft store to download.\n\n## Contribution\nAccepting PRs, suggestions, code reviews, feature requests and more. This is my first time using AvaloniaUI and building a desktop application so all feedback is welcome.  \n\n\n### Dependencies\n- **[.NET 8](https://github.com/dotnet/runtime)**\n- **[Avalonia](https://github.com/AvaloniaUI/Avalonia/)** \n- **[FluentAvalonia](https://github.com/amwx/FluentAvalonia/)**\n- **Azure.ResourceManager.KeyVault**\n- **Azure.Security.KeyVault.Certificates**\n- **Azure.Security.KeyVault.Keys**\n- **Azure.Security.KeyVault.Secrets**\n- **CommunityToolkit.Mvvm**\n- **Microsoft.Data.Sqlite**\n- **Microsoft.Extensions.Caching.Memory**\n- **Microsoft.Identity.Client.Extensions.Msal**\n- **Microsoft.Extensions.DependencyInjection**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidestep-labs%2Fazurekeyvaultexplorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsidestep-labs%2Fazurekeyvaultexplorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsidestep-labs%2Fazurekeyvaultexplorer/lists"}