brain/wiki/connections-auth/secret-managers.md
Lets platform admins connect Activepieces to an external secret store (HashiCorp Vault, AWS Secrets Manager, CyberArk Conjur, 1Password) so sensitive values in flow steps/connections resolve from the vault at runtime instead of the DB. Reference syntax: {{<connectionId><separator><path>}}. Gated by platform.plan.secretManagersEnabled (EE/Cloud).
secret_manager_connection: id, platformId (FK, CASCADE), providerId, name, scope (PLATFORM/PROJECT, default PLATFORM), projectIds (jsonb, queried with PostgreSQL @> containment), auth (jsonb, encrypted provider config).
hashicorp (url, namespace?, roleId, secretId), aws (accessKeyId, secretAccessKey, region), cyberark-conjur (organizationAccountName, loginId, url, apiKey), onepassword (serviceAccountToken)./v1/secret-managers: GET (list, publicPlatform), POST (create + test), POST /:id (update + re-test), DELETE /:id, DELETE /cache (invalidate).resolveString resolves a {{connectionId|path}} key or returns it unchanged; resolveObject recurses; resolveUnknownValue dispatches; containsSecretManagerReference is an exported helper.secret-manager-cache.ts) caches secret values keyed (platformId, connectionId, path) and connection status keyed (platformId, connectionId); invalidated on create/update/delete or the cache endpoint.SecretManagerFieldsSeparator (a constant in @activepieces/shared, | in the reference form).{{ or lacking the separator is treated as a plain literal (SECRET_MANAGER_KEY_NOT_SECRET), not an error.provider.connect before saving.Entry point: secretManagersModule, registered twice in packages/server/api/src/app/app.ts (EE and Cloud editions).
packages/server/api/src/app/ee/secret-managers/ — module, controller, service, TypeORM entity, Redis cachepackages/server/api/src/app/ee/secret-managers/secret-manager-providers/ — one file per provider (aws, hashicorp, cyberark-conjur, onepassword) plus the dispatcherpackages/core/shared/src/lib/ee/secret-managers/ — dto types, provider configs, request schemaspackages/web/src/features/secret-managers/ — frontend api + hookspackages/web/src/app/routes/platform/security/secret-managers/ — platform admin UI page and connect dialogpackages/server/api/test/integration/ee/secret-managers/ — integration tests plus a hashicorp mockpackages/server/api/src/app/app-connection/ — the main consumer, resolves references via secretManagersServicePaths verified 2026-07-17.