Ultimate

X_SEAL_RESEAL_PENDING

Means

sealed columns still hold values under a retired master key

Typical cause

x doctor: the app declares .sealed() columns and ULTIMATE_SECRETS_RETIRED_KEYS still declares a retired key — a rotation whose re-seal has not finished. Until it has, a lookup column matches through in (…) over every key and its .unique() is only as strong as one key: one value can be stored once per key

Fix

re-seal with a backfill() that rewrites each row (update(id, { <column>: row.<column> }) seals under the current key), then x secrets rotate --drop <keyId>

Listed under Encrypted secrets

This page as markdown