AWS Secrets Manager vs Parameter Store: which to use
AWS Secrets Manager and Systems Manager Parameter Store compared: price, size limits, rotation, cross-account access and encryption, from AWS's own docs.
Product websitesAWS Secrets ManagerParameter Store
The difference in brief
Use Parameter Store standard parameters for configuration and a modest number of secrets that rarely change: they cost nothing extra. Use Secrets Manager when secrets need automatic rotation, cross-account access or Region replication, at a price per secret and per API call. Both decrypt with AWS KMS inside AWS.
AWS Secrets Manager is the better pick when
- Database and service credentials should rotate automatically, without tooling you maintain.
- Other AWS accounts need to read the secret through a resource-based policy.
- Values are larger than 8 KB, up to 64 KB, or must be replicated to other Regions.
Parameter Store is the better pick when
- You store configuration and a modest number of secrets, and want no extra charge.
- Values fit in 4 KB, and standard throughput is enough for your reads.
- You want one hierarchy of parameters for config and secrets, with SecureString for the sensitive ones.
Crunu, a third option, fits when
- People and CI outside AWS share the same .env files, and no cloud service should decrypt them.
Crunu wrote this page and makes this third option.
AWS Secrets Manager, Parameter Store and Crunu, property by property
The same 14 questions we ask of every tool. AWS Secrets Manager and Parameter Store are answered from their own pages; Crunu is shown as a third option in its own column.
- Yes
- documented and available
- Partial
- with limits: on some plans, in preview or by hand
- No
- not offered
- n/a
- doesn’t apply, or isn’t documented publicly
| Property | AWS Secrets Manager | Parameter Store | CrunuThird option | What it changes for you |
|---|---|---|---|---|
| Decrypted only on your devices | AWS Secrets ManagerNoSecrets Manager decrypts the value with AWS KMS before returning it to the caller. docs.aws.amazon.com · | Parameter StoreNoParameter Store uses AWS KMS to encrypt and decrypt SecureString values. docs.aws.amazon.com · | CrunuYesValues are encrypted and decrypted only in the browser and the crunu agent. crunu.com/security · | If values are decrypted only on devices you control, a breach of the vendor’s servers doesn’t expose them. |
| Server handles plaintext values | AWS Secrets ManagerYesThe service handles plaintext data keys and values; names and descriptions are not encrypted. docs.aws.amazon.com · | Parameter StoreYesThe service decrypts SecureString values when you access them; parameter names stay in plaintext. docs.aws.amazon.com · | CrunuNoThe server holds no decryption key at any point. It still sees metadata such as names, emails and timestamps. crunu.com/security · | Whoever runs a server that handles plaintext, and anyone who breaks into it, could read what passes through. |
| Runs on your own infrastructure | AWS Secrets ManagerNoA managed AWS service that applications call at runtime. docs.aws.amazon.com · | Parameter StoreNoA tool of AWS Systems Manager, run by AWS. docs.aws.amazon.com · | CrunuPartialEnterprise plan only, under a signed agreement: your own server on Docker, Cloudflare Workers, Vercel or Google Cloud Run. crunu.com/self-hosting · | You decide where the data lives and who operates the service. Several tools, Crunu included, offer this only on an enterprise plan. |
| Source code published | AWS Secrets ManagerNoA managed AWS service; its source is not published. docs.aws.amazon.com · | Parameter StoreNoA managed AWS service; its source is not published. docs.aws.amazon.com · | CrunuNoSource code is not published. crunu.com/security/threat-model · | Published code can be read and audited by anyone, and kept running if the vendor changes course. |
| CI signs in with OIDC | AWS Secrets ManagerYesCI jobs assume IAM roles through an OIDC identity provider, such as GitHub Actions. docs.aws.amazon.com · | Parameter StoreYesCI jobs assume IAM roles through an OIDC identity provider, such as GitHub Actions. docs.aws.amazon.com · | CrunuYesService tokens bound by OIDC to repository, branch and environment on GitHub Actions, GitLab CI, Bitbucket or any issuer. crunu.com/features/ci-cd · | Pipelines get short-lived access tied to the repository, instead of a long-lived token stored in CI settings. |
| Keys change when someone leaves | AWS Secrets Managern/aNot applicable: users never hold the data keys; the service decrypts on request. docs.aws.amazon.com · | Parameter Storen/aNot applicable: users never hold KMS keys; the service decrypts on access. docs.aws.amazon.com · | CrunuYesRemoving a member rotates the keys of every environment they could read and lists values to reissue. crunu.com/features/offboarding · | When people hold decryption keys, removing access is complete only once those keys are replaced. |
| Separate key per environment | AWS Secrets ManagerPartialEach secret can use its own customer managed KMS key; separating environments is your setup. docs.aws.amazon.com · | Parameter StorePartialEach SecureString can use the AWS managed key or your own customer managed key. docs.aws.amazon.com · | CrunuYesEach environment has its own key, sealed separately to each recipient's public key. crunu.com/features/access-control · | With a key per environment, access to development can’t turn into access to production. |
| Audit log | AWS Secrets ManagerYesAWS CloudTrail records Secrets Manager API calls; the console shows the last 90 days. docs.aws.amazon.com · | Parameter StoreYesAWS CloudTrail records Systems Manager API calls, including Parameter Store. docs.aws.amazon.com · | CrunuYesHash-chained organization log with one-click verification and JSONL export, kept 365 days by default. crunu.com/features/audit-log · | A record of who changed or fetched what tells you what a person or machine could have seen. |
| Links for people without an account | AWS Secrets ManagerNoAccess goes through IAM; no share-link feature is documented. docs.aws.amazon.com · | Parameter StoreNoAccess goes through IAM policies; no share-link feature is documented. docs.aws.amazon.com · | CrunuYesLinks for people without an account; the key stays in the URL fragment. Expiry, view limit and password. crunu.com/features/access-links · | Contractors and one-off handovers get a value without it staying in chat history. |
| Free plan or free to use | AWS Secrets ManagerNoBilled per secret per month and per API call; new AWS accounts get Free Tier credits. aws.amazon.com · | Parameter StoreYesStandard parameters at no additional charge; advanced parameters are billed. aws.amazon.com · | CrunuYesFree during early access. crunu.com/pricing · | A small team can start with real projects before anyone signs a contract. |
| Syncs values into other platforms | AWS Secrets ManagerNoReplicates secrets across AWS Regions; pushing to other platforms is not documented. docs.aws.amazon.com · | Parameter Storen/aNot documented publicly. docs.aws.amazon.com · | CrunuNoNo built-in sync to other platforms. CI can push values with crunu run as a recipe. crunu.com/integrations · | Pushing values into clouds and CI saves copying by hand, but the syncing service has to read them. |
| Dynamic secrets | AWS Secrets ManagerNoRotation replaces stored secrets on a schedule; on-demand credentials are not documented. docs.aws.amazon.com · | Parameter Storen/aNot documented publicly. docs.aws.amazon.com · | CrunuNoNot offered by design: generating credentials on demand needs a key on the server. crunu.com/security/limitations · | Credentials created on demand and revoked after a lease limit how long a leaked one works. |
| SSO and SCIM | AWS Secrets ManagerYesThrough AWS IAM Identity Center: sign-in with an external identity provider and SCIM provisioning. docs.aws.amazon.com · | Parameter StoreYesThrough AWS IAM Identity Center: sign-in with an external identity provider and SCIM provisioning. docs.aws.amazon.com · | CrunuNoNo SSO or SCIM. People sign in with a password, a Secret Key and an optional second factor. crunu.com/features/access-control · | Sign-in and provisioning from your identity provider make joining and leaving one step. |
| Kubernetes integration | AWS Secrets ManagerYesAWS Secrets and Configuration Provider for the Kubernetes Secrets Store CSI Driver on EKS. docs.aws.amazon.com · | Parameter StoreYesAWS Secrets and Configuration Provider mounts parameters as files in EKS pods. docs.aws.amazon.com · | CrunuNoNo Kubernetes operator, Helm chart or CSI provider. crunu.com/integrations · | An operator or CSI driver delivers values into clusters without custom glue code. |
Comparison in detail
On this page
AWS answers the "which one" question itself. On its page about Parameter Store policies, AWS writes: "If you manage credentials that require automatic rotation, cross-account access, or fine-grained audit logging, we recommend using AWS Secrets Manager." Parameter Store, a tool of AWS Systems Manager, is a store for configuration data that can also hold encrypted SecureString values, and its standard parameters cost nothing extra. Secrets Manager is purpose-built for credentials and charges per secret and per API call.
Both services encrypt with AWS KMS, both are reached through IAM, and both log calls to CloudTrail. The practical differences are price, size, rotation, sharing across accounts and throughput.
Who each one fits
AWS Secrets Manager fits credentials that should change on a schedule, such as database passwords, and secrets that several AWS accounts or Regions need. Managed rotation covers many AWS-managed secrets without a Lambda function, and a Lambda function handles the rest. Secrets can be replicated to other Regions and shared with other accounts through resource-based policies.
Parameter Store fits configuration and a modest number of secrets that change by hand. Standard parameters are free of additional charge, hold up to 4 KB each and cover up to 10,000 parameters per account and Region. Advanced parameters raise those limits and add parameter policies for a monthly fee. Parameter Store can also reference Secrets Manager secrets, so services that read parameters can read secrets too.
What it costs in practice
Parameter Store has two separate settings that affect the bill. The tier of each parameter, standard or advanced, controls its size limit, policies and monthly charge. Throughput, standard or higher, applies to Parameter Store as a whole and controls the request rate. AWS defines an API interaction as one request touching one parameter, so a single Get that returns ten parameters counts as ten interactions. With standard parameters and standard throughput, there is no additional charge at all.
Secrets Manager charges for every secret and every call. At the rates in AWS's worked examples, 50 secrets read 1,000 times a day in total cost about $20 a month, almost all of it for storage. Replicating those secrets to a second Region doubles the storage part, because each replica is billed as its own secret. New AWS customers get Free Tier credits that can be applied to Secrets Manager.
For a small team with a few dozen secrets that change by hand, Parameter Store standard parameters can be enough. The cost question changes once you need rotation, cross-account access or larger values.
Who can decrypt
Both services hold the keys for you. Secrets Manager "decrypts the secret value before returning it to the caller", and its secret names and descriptions are not encrypted.
Parameter Store uses AWS KMS "to encrypt and decrypt the parameter values of SecureString parameters", and its parameter names stay in plaintext. In both services, a customer managed KMS key lets you control through IAM who may use the key, but decryption still happens inside AWS for any principal your policies allow.
Where Secrets Manager is stronger
- Rotation. Managed rotation for many AWS-managed secrets, and Lambda-based rotation for the rest. Parameter Store has expiration policies and notifications, not rotation.
- Sharing and Regions. Resource-based policies for cross-account access on every secret, and replication across Regions.
- Larger values. Up to 64 KB per secret, compared with 4 KB or 8 KB.
- AWS's recommendation for credentials. AWS itself points credentials that need rotation, cross-account access or fine-grained audit logging to Secrets Manager.
Where Parameter Store is stronger
- Cost. Standard parameters and standard throughput carry no additional charge.
- One place for configuration. Plain settings and SecureString secrets live in the same hierarchy, read with the same API.
- Bridges to Secrets Manager. Parameter Store can reference Secrets Manager secrets, so services that already read parameters can read secrets without a new integration.
- Simple limits for small setups. Up to 10,000 standard parameters per account and Region, with no additional charge.
A third option: Crunu
Crunu, which wrote this page, is for teams whose secrets are shared between people, laptops and CI as well as servers, and who do not want any cloud service to decrypt them. Values are encrypted in the browser and the crunu agent, and the server stores only ciphertext; each environment has its own key, sealed to each person, machine and pipeline. Pipelines on GitHub Actions, GitLab CI or Bitbucket Pipelines use service tokens bound by OIDC. People can drag .env files and ~/.aws/credentials into an environment and run programs with crunu run. It is free during early access. The server still sees metadata such as names, email addresses and timestamps, as the limitations page explains.
Crunu is not a fit for workloads that should read secrets through IAM roles, need rotation of database credentials, or run on EKS: it has no IAM integration, no rotation of values at providers and no Kubernetes support. See Crunu vs AWS Secrets Manager for the full comparison, or HashiCorp Vault vs AWS Secrets Manager if you are weighing a self-run vault.
More facts, row by row
Details beyond the 14 questions above, as this comparison states them.
| AWS Secrets Manager | Parameter Store | |
|---|---|---|
| Price to store | $0.40 per secret per month in AWS's worked examples; each replica is billed as a secret | Standard: no additional charge. Advanced: $0.05 per parameter per month |
| Price to read | $0.05 per 10,000 API calls in AWS's worked examples | Standard throughput: no charge for standard parameters. Higher throughput or advanced: $0.05 per 10,000 interactions |
| Maximum value size | 65,536 bytes | Standard 4 KB, advanced 8 KB |
| How many | Up to 500,000 secrets per account and Region | Standard 10,000, advanced 100,000 per account and Region |
| Rotation | Managed rotation for many managed secrets; a Lambda function for others | None built in; advanced parameter policies can expire a parameter or send notifications |
| Cross-account access | Resource-based policies on each secret | Advanced parameters can be shared across accounts; standard cannot |
| Multi-Region | Replication across Regions | Per Region |
| Encryption | AWS KMS; the service decrypts the value before returning it | SecureString values encrypted and decrypted with AWS KMS; parameter names stay in plaintext |
| Audit | CloudTrail records API calls | CloudTrail records Systems Manager API calls, including Parameter Store |
| CI pipelines | IAM roles assumed through an OIDC identity provider, such as GitHub Actions | The same IAM roles |
| Kubernetes on EKS | AWS Secrets and Configuration Provider for the Secrets Store CSI Driver | The same provider mounts parameters as files |
Sources
Every page this comparison relies on, and the day we last verified it.
- AWS Secrets Manager pricing · checked October 30, 2026
- AWS Systems Manager pricing (Parameter Store) · checked October 30, 2026
- Parameter Store: choosing parameter tiers · checked October 30, 2026
- Parameter Store: parameter policies · checked October 30, 2026
- Parameter Store: throughput · checked October 30, 2026
- Parameter Store: SecureString and AWS KMS · checked October 30, 2026
- Referencing Secrets Manager secrets from Parameter Store · checked October 30, 2026
- AWS Secrets Manager encryption · checked October 30, 2026
- AWS Secrets Manager rotation · checked October 30, 2026
- AWS Secrets Manager quotas · checked October 30, 2026
- AWS Secrets Manager replication · checked October 30, 2026
- AWS Secrets Manager logging with CloudTrail · checked October 30, 2026
- Systems Manager logging with CloudTrail · checked October 30, 2026
- AWS IAM: OIDC identity providers · checked October 30, 2026
- Parameter Store with Amazon EKS · checked October 30, 2026
Questions about AWS Secrets Manager and Parameter Store
Something else? Write to support@crunu.com
Is Parameter Store free?
Standard parameters are available at no additional charge, and API interactions with them are free at standard throughput. Advanced parameters are billed per parameter per month, and higher throughput or interactions with advanced parameters are billed per 10,000 interactions.
When should I use Secrets Manager instead of Parameter Store?
When a secret needs automatic rotation, cross-account access through a resource-based policy, replication to other Regions or values larger than 8 KB. AWS's own documentation recommends Secrets Manager for credentials that need rotation, cross-account access or fine-grained audit logging.
Can Parameter Store rotate secrets?
No. Parameter Store has no built-in rotation. Advanced parameters support policies that expire a parameter or send a notification before it expires or when it has not changed, which can remind you to rotate by hand or start your own process.
Is Parameter Store SecureString as secure as Secrets Manager?
Both encrypt values with AWS KMS and decrypt them inside AWS for callers your IAM policies allow, and both log calls to CloudTrail. The differences AWS points to are features: it recommends Secrets Manager for credentials that need rotation, cross-account access or fine-grained audit logging.
Can I read Secrets Manager secrets through Parameter Store?
Yes. Parameter Store can reference Secrets Manager secrets, so services that support Parameter Store references, such as Amazon EC2, Amazon ECS, AWS Lambda and CloudFormation, can retrieve them the same way they read parameters.