diff --git a/Elsa.Extensions.sln b/Elsa.Extensions.sln
index 4cc424b5..0910c32d 100644
--- a/Elsa.Extensions.sln
+++ b/Elsa.Extensions.sln
@@ -217,10 +217,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Secrets.Persistence.EF
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{04265302-AF6B-4627-807C-DE9E1699D7C9}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "security", "security", "{0E8D351A-BBA9-4F7C-8148-D7E7A55D34D0}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.SasTokens", "src\security\Elsa.SasTokens\Elsa.SasTokens.csproj", "{FC3053E8-97BA-6D96-191F-E551056C8B0F}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.WorkflowContexts", "src\workflows\Elsa.WorkflowContexts\Elsa.WorkflowContexts.csproj", "{22EF03B2-6BA9-B8BD-A627-4249397F9299}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.WorkflowProviders.BlobStorage", "src\workflows\Elsa.WorkflowProviders.BlobStorage\Elsa.WorkflowProviders.BlobStorage.csproj", "{3F376159-A144-D407-D414-AB16857DB511}"
@@ -535,10 +531,6 @@ Global
{4E2F05DA-C902-293B-90E9-58583ED0D267}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4E2F05DA-C902-293B-90E9-58583ED0D267}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4E2F05DA-C902-293B-90E9-58583ED0D267}.Release|Any CPU.Build.0 = Release|Any CPU
- {FC3053E8-97BA-6D96-191F-E551056C8B0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FC3053E8-97BA-6D96-191F-E551056C8B0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FC3053E8-97BA-6D96-191F-E551056C8B0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FC3053E8-97BA-6D96-191F-E551056C8B0F}.Release|Any CPU.Build.0 = Release|Any CPU
{22EF03B2-6BA9-B8BD-A627-4249397F9299}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{22EF03B2-6BA9-B8BD-A627-4249397F9299}.Debug|Any CPU.Build.0 = Debug|Any CPU
{22EF03B2-6BA9-B8BD-A627-4249397F9299}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -697,8 +689,6 @@ Global
{B130CDB8-E048-9D95-3FEA-BF71F556C40F} = {BF696EF4-FEAE-4008-A788-369437420259}
{4E2F05DA-C902-293B-90E9-58583ED0D267} = {BF696EF4-FEAE-4008-A788-369437420259}
{04265302-AF6B-4627-807C-DE9E1699D7C9} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {0E8D351A-BBA9-4F7C-8148-D7E7A55D34D0} = {527248D6-B851-4C8D-8667-E2FB0A91DABF}
- {FC3053E8-97BA-6D96-191F-E551056C8B0F} = {0E8D351A-BBA9-4F7C-8148-D7E7A55D34D0}
{22EF03B2-6BA9-B8BD-A627-4249397F9299} = {04265302-AF6B-4627-807C-DE9E1699D7C9}
{3F376159-A144-D407-D414-AB16857DB511} = {04265302-AF6B-4627-807C-DE9E1699D7C9}
{AB7F40BD-1F5A-5474-DE94-6CD1E8E65EE5} = {EB873525-AE02-4406-AC78-5996DE781573}
diff --git a/src/security/Elsa.SasTokens/Contracts/DataProtectorTokenService.cs b/src/security/Elsa.SasTokens/Contracts/DataProtectorTokenService.cs
deleted file mode 100644
index df79897c..00000000
--- a/src/security/Elsa.SasTokens/Contracts/DataProtectorTokenService.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-using System.Text.Json;
-using Microsoft.AspNetCore.DataProtection;
-
-namespace Elsa.SasTokens.Contracts;
-
-///
-/// A service that can create and decrypt SAS (Shared Access Signature) tokens using the service.
-///
-public class DataProtectorTokenService : ITokenService
-{
- private readonly IDataProtector _dataProtector;
-
- ///
- /// Initializes a new instance of the class.
- ///
- public DataProtectorTokenService(IDataProtectionProvider dataProtector)
- {
- _dataProtector = dataProtector.CreateProtector("Elsa Tokens");
- }
-
- ///
- public string CreateToken(T payload, TimeSpan lifetime)
- {
- var json = JsonSerializer.Serialize(payload);
- return _dataProtector.ToTimeLimitedDataProtector().Protect(json, lifetime);
- }
-
- ///
- public string CreateToken(T payload, DateTimeOffset expiresAt)
- {
- var json = JsonSerializer.Serialize(payload);
- return _dataProtector.ToTimeLimitedDataProtector().Protect(json, expiresAt);
- }
-
- ///
- public string CreateToken(T payload)
- {
- var json = JsonSerializer.Serialize(payload);
- return _dataProtector.Protect(json);
- }
-
- ///
- public bool TryDecryptToken(string token, out T payload)
- {
- payload = default!;
-
- try
- {
- payload = DecryptToken(token);
- return true;
- }
- catch
- {
- // ignored.
- }
-
- return false;
- }
-
- ///
- public T DecryptToken(string token)
- {
- var json = _dataProtector.Unprotect(token);
- return JsonSerializer.Deserialize(json)!;
- }
-}
\ No newline at end of file
diff --git a/src/security/Elsa.SasTokens/Contracts/ITokenService.cs b/src/security/Elsa.SasTokens/Contracts/ITokenService.cs
deleted file mode 100644
index 8d489d55..00000000
--- a/src/security/Elsa.SasTokens/Contracts/ITokenService.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-namespace Elsa.SasTokens.Contracts;
-
-///
-/// A service that can create and decrypt SAS (Shared Access Signature) tokens.
-///
-public interface ITokenService
-{
- ///
- /// Creates a SAS (Shared Access Signature) token containing the specified data.
- ///
- string CreateToken(T payload, TimeSpan lifetime);
-
- ///
- /// Creates a SAS (Shared Access Signature) token containing the specified data.
- ///
- string CreateToken(T payload, DateTimeOffset expiresAt);
-
- ///
- /// Creates a SAS (Shared Access Signature) token containing the specified data.
- ///
- string CreateToken(T payload);
-
- ///
- /// Decrypts the specified SAS token.
- ///
- T DecryptToken(string token);
-
- ///
- /// Decrypts the specified SAS token.
- ///
- bool TryDecryptToken(string token, out T payload);
-}
\ No newline at end of file
diff --git a/src/security/Elsa.SasTokens/Elsa.SasTokens.csproj b/src/security/Elsa.SasTokens/Elsa.SasTokens.csproj
deleted file mode 100644
index 0a78dda0..00000000
--- a/src/security/Elsa.SasTokens/Elsa.SasTokens.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- Provides services to generate SAS tokens.
-
- elsa extension module security sas tokens
-
-
-
-
-
-
-
-
-
-
diff --git a/src/security/Elsa.SasTokens/Extensions/ModuleExtensions.cs b/src/security/Elsa.SasTokens/Extensions/ModuleExtensions.cs
deleted file mode 100644
index 9c42b9c4..00000000
--- a/src/security/Elsa.SasTokens/Extensions/ModuleExtensions.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Elsa.Features.Services;
-using Elsa.SasTokens.Features;
-
-// ReSharper disable once CheckNamespace
-namespace Elsa.Extensions;
-
-///
-/// Provides extensions to install the feature.
-///
-public static class ModuleExtensions
-{
- ///
- /// Install the feature.
- ///
- public static IModule UseSasTokens(this IModule module, Action? configure = default)
- {
- module.Configure(configure);
- return module;
- }
-}
\ No newline at end of file
diff --git a/src/security/Elsa.SasTokens/Features/SasTokensFeature.cs b/src/security/Elsa.SasTokens/Features/SasTokensFeature.cs
deleted file mode 100644
index 2678766e..00000000
--- a/src/security/Elsa.SasTokens/Features/SasTokensFeature.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using Elsa.Features.Abstractions;
-using Elsa.Features.Services;
-using Elsa.SasTokens.Contracts;
-using Microsoft.AspNetCore.DataProtection;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace Elsa.SasTokens.Features;
-
-///
-/// Adds the SAS tokens feature to the workflow runtime.
-///
-///
-public class SasTokensFeature(IModule module) : FeatureBase(module)
-{
- ///
- /// Configures the used for setting up data protection.
- /// Defaults to setting the application name to "Elsa Workflows".
- ///
- public Action ConfigureDataProtectionBuilder { get; set; } = b => { b.SetApplicationName("Elsa Workflows"); };
-
- ///
- /// Factory method to create an instance of .
- /// Defaults to creating a using dependency injection.
- ///
- public Func TokenService { get; set; } = sp => ActivatorUtilities.CreateInstance(sp);
-
- ///
- public override void Apply()
- {
- var builder = Services.AddDataProtection();
- ConfigureDataProtectionBuilder(builder);
-
- Services.AddScoped(TokenService);
- }
-}
\ No newline at end of file
diff --git a/src/security/Elsa.SasTokens/FodyWeavers.xml b/src/security/Elsa.SasTokens/FodyWeavers.xml
deleted file mode 100644
index 00e1d9a1..00000000
--- a/src/security/Elsa.SasTokens/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file