rsjethani / secret

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

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

License:MIT License


Languages

Language:Go 100.0%