diff --git a/INDEX.md b/INDEX.md
index a197805ae..3f48e1c78 100644
--- a/INDEX.md
+++ b/INDEX.md
@@ -83,6 +83,7 @@ Use update-index to regenerate it:
| 2022 | [.NET 7 Version Selection Improvements](accepted/2022/version-selection.md) | [Rich Lander](https://github.com/richlander) |
| 2023 | [Experimental APIs](accepted/2023/preview-apis/preview-apis.md) | [Immo Landwerth](https://github.com/terrjobst) |
| 2023 | [net8.0-browser TFM for applications running in the browser](accepted/2023/net8.0-browser-tfm.md) | [Javier Calvarro](https://github.com/javiercn) |
+| 2023 | [Sign CLI Signature Provider Plugins](accepted/2023/sign-signature-provider-plugins.md) | [Damon Tivel](https://github.com/dtivel), [Claire Novotny](https://github.com/clairernovotny) |
## Drafts
diff --git a/accepted/2023/sign-signature-provider-plugins.md b/accepted/2023/sign-signature-provider-plugins.md
new file mode 100644
index 000000000..b3d77d636
--- /dev/null
+++ b/accepted/2023/sign-signature-provider-plugins.md
@@ -0,0 +1,524 @@
+# Sign CLI Signature Provider Plugins
+
+**Owners** [Damon Tivel](https://github.com/dtivel) | [Claire Novotny](https://github.com/clairernovotny)
+
+Recent CAB Forum updates to baseline requirements[1](#r1) strengthened private key storage requirements for publicly trusted code signing certificates. While older, less secure storage options (e.g.: [PKCS #12 & PFX](https://wikipedia.org/wiki/PKCS_12)) became obsolete, more secure options (e.g.: [HSM](https://wikipedia.org/wiki/Hardware_security_module)) became standard. Many existing code signing tools do not support the new standard.
+
+[Sign CLI](https://github.com/dotnet/sign) already supports the new standard with [Azure Key Vault](https://learn.microsoft.com/azure/key-vault/general/overview#securely-store-secrets-and-keys) digest signing. However, Sign CLI does not support other cloud providers, code signing services, or HSM tokens. For that, Sign CLI needs a formal abstraction for signature providers and a signature provider plugin model that enables users to install the appropriate plugin for their situation.
+
+Note that a signature provider plugin is agnostic of signature format (e.g.: Authenticode, VSIX, NuGet, etc.). A plugin accepts a digest and provides a raw signature which Sign CLI embeds in the appropriate signature format.
+
+There is nothing in this proposed plugin model that precludes creation of a plugin that enables signing with a PFX file, and such a plugin might be welcome to a subset of users. However, given the relative lack of support in existing signing tools for more secure private key storage options, the primary driver for this proposal is the need to support CAB Forum's more secure key storage requirements.
+
+## Scenarios and User Experience
+
+It is assumed that Sign CLI has already been installed (e.g.: [`dotnet tool install --global sign --version 0.9.1-beta.23530.1`](https://www.nuget.org/packages/sign/0.9.1-beta.23530.1)).
+
+_All plugin names and examples below are fictitious and for illustration purposes only. Also for illustration purposes, assume that Sign CLI's existing Azure Key Vault support has already been moved out of Sign CLI itself into a separate plugin._
+
+### Sign artifacts using Azure Key Vault
+
+First, the Azure Key Vault plugin must be installed. The following command would download and install the latest version of the plugin.
+
+```text
+sign plugin install Microsoft.Azure.KeyVault.Sign
+```
+
+Executing `sign code -?` will show the new available command:
+
+```text
+...
+Commands:
+ azure-key-vault Use Azure Key Vault.
+```
+
+Similarly, executing `sign code azure-key-vault -?` will show help for the new command and its options.
+
+```text
+Description:
+ Use Azure Key Vault.
+
+Usage:
+ sign code azure-key-vault [options]
+
+Arguments:
+ File(s) to sign.
+
+Options:
+ -kvc, --azure-key-vault-certificate Name of the certificate in Azure Key Vault.
+ (REQUIRED)
+ -kvi, --azure-key-vault-client-id Client ID to authenticate to Azure Key Vault.
+
+ -kvs, --azure-key-vault-client-secret Client secret to authenticate to Azure Key Vault.
+
+ -kvm, --azure-key-vault-managed-identity Managed identity to authenticate to Azure Key Vault.
+ -kvt, --azure-key-vault-tenant-id Tenant ID to authenticate to Azure Key Vault.
+
+ -kvu, --azure-key-vault-url URL to an Azure Key Vault.
+ -an, --application-name Application name (ClickOnce).
+ -d, --description (REQUIRED) Description of the signing certificate.
+ -u, --description-url (REQUIRED) Description URL of the signing certificate.
+ -b, --base-directory Base directory for files. Overrides the current working
+ directory. [default: F:\git\sign]
+ -o, --output