- It provides simple Go types like secret.Text to encapsulate your secret. Example:
type Login struct {
User string
Password secret.Text
}
- The encapsulated secret remains inaccessible to operations like printing, logging, JSON serializtion etc. A (customizable) redact hint like
*****
is returned instead. - The only way to access the actual secret value is by asking explicitly via the
.Value()
method. - See godev reference for usage examples.
- 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.
go get github.com/rsjethani/secret/v2
NOTE: v1 is deprecated now.