Kelly Mears

Secret Management

Storing, distributing, and rotating credentials without embedding them in code or history.

Systems & Tooling1 min read200 words14 out · 30 in
also calledSecretsCredentials

Secret management is the handling of credentials — API keys, database passwords, signing keys — so that they are available where needed and nowhere else. The baseline rule is that a secret must never enter version control, because history is permanent and a committed secret is compromised even after it is removed.

The usual mechanisms are environment variables injected at run time, a password manager or vault for human access, and a platform's secret store for automation. Each has a distribution problem: getting the secret to every place that needs it, including the ones nobody remembers — a test configuration, a container image, a code-generation step, a newly provisioned working copy.

Three practical notes.

A missing secret should fail loudly. An empty credential defaulted to an empty string produces an authentication error far from the cause. See Fail Fast.

Automation environments scope secrets differently. A workflow triggered by an automated actor may receive a restricted set, so a secret that is present in one trigger context reads as empty in another — with no error anywhere.

Rotation must be possible. A secret nobody can rotate without downtime will not be rotated, which turns a routine hygiene task into an incident.

See also13

Least Privilege

Granting only the permissions actually required, so a compromise has a small ceiling.

Systems & Tooling38 connections

Environment Variable

A named value in a process's environment, inherited by its children — the standard configuration channel.

Systems & Tooling23 connections

Supply Chain Security

Protecting against compromise arriving through the code and tooling a project depends on.

Version Control & Delivery24 connections

Silent Failure

A failure that produces no signal, so the absence of an error reads as success.

Method73 connections

Defensive Default

A substituted value that papers over a missing input and hides the misconfiguration that produced it.

Method16 connections

Prompt Injection

Untrusted content that reaches a model's context and is treated as instruction.

Agents & Language Models18 connections

Continuous Deployment

Automatically releasing every change that passes validation.

Version Control & Delivery18 connections

Observability

How much of a system's internal state can be inferred from what it emits.

Method32 connections

Ground Truth

The measurement that arbitrates, as opposed to the artifact that merely reports.

Method99 connections

Gitignore

The file of patterns telling Git which files to leave untracked, such as build output, dependencies, editor clutter, and local secrets, along with the traps of files that were already tracked and secrets already committed.

Version Control & Delivery12 connections

Server-Side Request Forgery

Tricking a server into making requests on an attacker's behalf, reaching internal services and cloud credential endpoints that the attacker could never reach directly, behind some of the largest cloud breaches.

Web Platform14 connections

Clipboard

The shared buffer behind cut, copy, and paste, invented at Xerox PARC, which offers data in several formats at once and has become a channel for snooping and for commands that paste differently from how they looked.

Systems & Tooling14 connections

GNU Privacy Guard

A free implementation of the OpenPGP standard for encrypting and signing files, email, and software releases, descended from Phil Zimmermann's PGP and known both for its importance to software distribution and for being hard to use.

Systems & Tooling7 connections

Linked from30