Skip to content

Prevent your secrets from leaking into logs, std* etc.

License

Notifications You must be signed in to change notification settings

rsjethani/secret

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoDev Build Status Go Report Card

Installation

go get github.com/rsjethani/secret/v3

What secret is?

It provides simple Go types like Text to securely store secrets. For example:

type Login struct {
    User string
    Password secret.Text
}

The encapsulated secret remains inaccessible to operations like printing, logging, JSON serialization etc. A (customizable) redact hint like ***** is returned instead. The only way to access the actual secret value is by asking explicitly via the .Secret() method. See package documentation more reference and examples.

What secret is not?

  • It is not a secret management service or your local password manager.
  • It is not a Go client to facilitate communication with secret managers like Hashicorp Vault, AWS secret Manager etc. Checkout teller if that is what you are looking for.

Versions

v3

Current version, same functionality as v2 but much cleaner API.

v2

Perfectly usable but no longer maintained.

v1

Deprecated.