diff --git a/Modules/Secrets/Package.swift b/Modules/Secrets/Package.swift
index a7b8f58c1..dc74a0b4c 100644
--- a/Modules/Secrets/Package.swift
+++ b/Modules/Secrets/Package.swift
@@ -16,6 +16,7 @@ let package = Package(
 		.target(
 			name: "Secrets",
 			dependencies: [],
+			exclude: ["SecretKey.swift.gyb"],
 			swiftSettings: [
 				.enableExperimentalFeature("StrictConcurrency")
 			]
diff --git a/Shared/Secrets.swift.gyb b/Modules/Secrets/Sources/Secrets/SecretKey.swift.gyb
similarity index 88%
rename from Shared/Secrets.swift.gyb
rename to Modules/Secrets/Sources/Secrets/SecretKey.swift.gyb
index 235963f7a..ee54b024f 100644
--- a/Shared/Secrets.swift.gyb
+++ b/Modules/Secrets/Sources/Secrets/SecretKey.swift.gyb
@@ -1,4 +1,4 @@
-// Generated by Secrets.swift.gyb
+// Generated by SecretKey.swift.gyb
 %{
 import os
 
@@ -19,12 +19,12 @@ def snake_to_camel(snake_str):
 
 salt = [byte for byte in os.urandom(64)]
 }%
-import Secrets
+import Foundation
 
-public final class Secrets: SecretsProvider, Sendable {
+public struct SecretKey {
   % for secret in secrets:
 
-  public let ${snake_to_camel(secret)}: String = {
+  public static let ${snake_to_camel(secret)}: String = {
      let encoded: [UInt8] = [
       % for chunk in chunks(encode(os.environ.get(secret) or "", salt), 8):
           ${"".join(["0x%02x, " % byte for byte in chunk])}