{"id":13620047,"url":"https://github.com/PowerShell/SecretStore","last_synced_at":"2025-04-14T19:30:45.135Z","repository":{"id":37894212,"uuid":"281176352","full_name":"PowerShell/SecretStore","owner":"PowerShell","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-03T23:52:01.000Z","size":162,"stargazers_count":165,"open_issues_count":19,"forks_count":27,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-04-04T14:58:56.024Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PowerShell.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-20T16:58:23.000Z","updated_at":"2025-04-04T03:35:35.000Z","dependencies_parsed_at":"2024-11-08T06:31:45.640Z","dependency_job_id":"8c391aa0-10de-4f26-90d9-6aaddd9087aa","html_url":"https://github.com/PowerShell/SecretStore","commit_stats":{"total_commits":63,"total_committers":6,"mean_commits":10.5,"dds":0.09523809523809523,"last_synced_commit":"e61c4c8c79717815cff5eb4ac461a4cf3c6c49a3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSecretStore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSecretStore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSecretStore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FSecretStore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PowerShell","download_url":"https://codeload.github.com/PowerShell/SecretStore/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248945742,"owners_count":21187376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:00:51.518Z","updated_at":"2025-04-14T19:30:44.816Z","avatar_url":"https://github.com/PowerShell.png","language":"C#","readme":"# PowerShell SecretStore module\n\nThis module is an extension vault for the [PowerShell SecretManagement](https://github.com/PowerShell/SecretManagement) module.\nIt stores secrets locally on file for the current user account context, and uses .NET crypto APIs to encrypt file contents.\nSecrets remain encrypted in-memory, and are only decrypted when retrieved and passed to the user.\nThis module works over all supported PowerShell platforms on Windows, Linux, and macOS.\nIn the default configuration, a password is required to store and access secrets, and provides the strongest protection.  \n\n## Secret metadata\n\nSupporting secret metadata is optional for SecretManagement extension vaults.\nThe SecretStore supports secret metadata through the optional `Set-Secret` vault command `Metadata` parameter, and the optional `Set-SecretInfo` vault command.  \n\n## Configuration\n\nThe SecretStore module allows a number of configurations.  \n\nIt can be configured to require a password to unlock the store, or operate without a password.  \nThe no-password option still encrypts secrets on file and in memory.\nBut the key for decryption is stored on file in the current user location, and is less secure.  \n\nSecretStore can also be configured to prompt the user for the password if needed.\nWhen a password is provided, it applies only to the current PowerShell session and only for a limited time.\nThe password timeout time is also configurable and set to 15 minutes by default.\nPassword prompting is useful when SecretStore is used interactively.\nFor automation scenarios, password prompting can be disabled and will instead return an error.\n\nIf password prompting is disabled and a password is required to access secrets, a Microsoft.PowerShell.SecretStore.PasswordRequiredException will be thrown.\nIn this case, the SecretStore can be unlocked using the `Unlock-SecretStore` cmdlet.  \n\nThere is also a SecretStore `Scope` setting, but it is currently set to `CurrentUser` and cannot be changed.  \n\nThe default configuration is set to for best security and interactive use.  \n\n```powershell\nGet-SecretStoreConfiguration\n\n      Scope Authentication PasswordTimeout Interaction\n      ----- -------------- --------------- -----------\nCurrentUser       Password             900      Prompt\n```\n\n### SecretStore cmdlets\n\nThe SecretStore exports five cmdlets for manipulating configuration and store state.  \n\n#### Get-SecretStoreConfiguration\n\nThis cmdlet displays the current configuration.  \n\n#### Set-SecretStoreConfiguration\n\nThis cmdlet sets configuration options for SecretStore.\nIndividual configuration options can be set, or the store can be configured to default settings by using the `-Default` parameter switch.  \n\n```powershell\nSet-SecretStoreConfiguration -PasswordTimeout 30\n\n      Scope Authentication PasswordTimeout Interaction\n      ----- -------------- --------------- -----------\nCurrentUser       Password              30      Prompt\n```\n\n#### Unlock-SecretStore\n\nThis cmdlet unlocks the SecretStore with the provided password.\nThe password can be passed in as a `SecureString` type or in plain text.  \n\n#### Set-SecretStorePassword\n\nThis cmdlet changes the SecretStore password.\nIt takes no parameters and can only be used interactively, as it prompts the user for old and new passwords.  \n\n#### Reset-SecretStore\n\nThis cmdlet deletes all data in the SecretStore, and updates the configuration.\nIf no configuration parameters are specified, the default settings will be used.  \nThis cmdlet is intended for cases where the password is forgotten, or store files become corrupt and SecretStore is unusable.\n\n## Code of Conduct\n\nPlease see our [Code of Conduct](.github/CODE_OF_CONDUCT.md) before participating in this project.\n\n## Security Policy\n\nFor any security issues, please see our [Security Policy](.github/SECURITY.md).\n","funding_links":[],"categories":["C# #"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPowerShell%2FSecretStore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPowerShell%2FSecretStore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPowerShell%2FSecretStore/lists"}