Skip to main content

Storing your secrets safely

Learn about secrets in software development and how you can manage them safely.

What is a secret?

In software development, a secret is a piece of sensitive information that is used to authenticate or authorize access to systems, services, data, and APIs. Examples include:

  • API keys and access tokens that allow you to interact with external services such as GitHub's REST API. Access tokens also allow services, such as GitHub Actions, to perform tasks that need authentication, as we will experiment with later.
  • Database credentials that grant access to local and external databases and storage.
  • Private keys, such as private SSH and PGP keys, that can be used to access other servers and encrypt data.

Since secrets provide so much access, including to critical systems, we can understand why it's so important to keep your secrets secure.

What can happen when a secret is exposed?