Pepper

A pepper is a server-held secret used as the key in hashing personal identifiers, stored separately from the database it protects. Unlike a salt, which is stored beside the data and defeats only precomputed tables, a pepper defeats enumeration entirely: without it, an attacker holding the digests cannot test candidate inputs at all.

The separation is what does the work. A pepper kept in the same database as the digests it protects provides nothing against the breach that matters, because a dump carries both. Held in a key management service or an environment the database cannot read, it turns a full table exfiltration into a column of values an attacker cannot test candidates against.

The separation is an architectural requirement rather than a configuration preference, and it is worth testing rather than asserting. The question to ask of a running system is what a full database dump would contain, and whether anything in that dump lets the holder test candidate inputs. If the answer includes the key, the scheme provides ordering and deduplication but not privacy.

Peppers also need an availability plan, because losing one destroys the ability to match historical records without any data being exposed. That makes the key a single point of failure for functionality as well as a control for confidentiality, which is an unusual combination and a reason to treat its backup and recovery as seriously as its secrecy.

Rotation has the same shape as it does for any keyed hashing scheme: record which key version produced each digest, support reading under the previous key for a defined window, and re-derive on write rather than attempting a bulk rewrite. Without the version stamp, rotation is not available at all, which is how a pepper ends up never being rotated.

Treating the key as infrastructure with its own lifecycle, rather than as a configuration value, is what makes both properties survivable.

Everything above assumes the digests themselves are produced by keyed hashing rather than a bare digest function.

It is the secret behind the HMAC construction most identifier-hashing schemes use.

Related terms

PasskeyBridge verifies identity signals like these inside the request, with zero PII stored. See how the platform works or test the live API.